Commit 7846a407473f99acda31e4cc6cd0c47a3f80a2d9

Authored by xp.Huang
2 parents 99a3448e 13102b74

Merge branch 'dev-ft' into 'main'

fix:修改告警分页问题隐藏样式问题 fix:移除解密插件

See merge request huang/thingskit-app!41
... ... @@ -70,8 +70,12 @@
70 70 <view><u--textarea border="none" height="96" placeholder="请输入处理结果" v-model="formModel.result" count></u--textarea></view>
71 71 </view>
72 72 <!-- #endif -->
73   - <view v-if="list.status !== 'CLEARED_ACK'" style="margin-top: 44rpx;display: flex;align-items: center;justify-content: center;">
74   - <view class="u-flex" style="width: 400rpx"><u-button @click="handleSubmit" type="primary" shape="circle" text="处理"></u-button></view>
  73 + <view style="margin-top: 44rpx;display: flex;align-items: center;justify-content: space-between;">
  74 + <view v-if="list.status !== 'CLEARED_ACK' && list.status !== 'ACTIVE_ACK'" class="u-flex" style="width: 260rpx">
  75 + <u-button @click="handleSubmit" type="primary" shape="circle" text="处理"></u-button>
  76 + </view>
  77 + <view style="width: 30rpx;"></view>
  78 + <view v-if="list.status == 'ACTIVE_ACK'" class="u-flex" style="width: 260rpx"><u-button @click="handleRemove" type="error" shape="circle" text="清除"></u-button></view>
75 79 </view>
76 80 </view>
77 81 </template>
... ... @@ -95,6 +99,7 @@ export default {
95 99 uni.hideTabBar();
96 100 },
97 101 methods: {
  102 + //处理
98 103 handleSubmit() {
99 104 if (this.formModel.result == '') return uni.$u.toast('请输入处理结果');
100 105 else
... ... @@ -121,6 +126,31 @@ export default {
121 126 uni.$u.toast(e.data?.message);
122 127 });
123 128 },
  129 + //清除
  130 + handleRemove() {
  131 + uni.$u.http
  132 + .post(`/alarm/${this.list.id}/clear`)
  133 + .then(res => {
  134 + if (res == '') {
  135 + uni.showToast({
  136 + title: '清除成功~',
  137 + icon: 'none'
  138 + });
  139 + let pages = getCurrentPages(); //获取所有页面栈实例列表
  140 + let nowPage = pages[pages.length - 1]; //当前页页面实例
  141 + let prevPage = pages[pages.length - 2]; //上一页页面实例
  142 + prevPage.$vm.detailStatus = true;
  143 + setTimeout(() => {
  144 + uni.navigateBack({
  145 + delta: 1
  146 + });
  147 + }, 500);
  148 + }
  149 + })
  150 + .catch(e => {
  151 + uni.$u.toast(e.data?.message);
  152 + });
  153 + },
124 154 formatDetailText(e) {
125 155 //去除字符串双引号
126 156 const jsonStr = JSON.stringify(e);
... ...
1 1 .alarm-detail-page {
2 2 padding: 30rpx;
3 3 }
4   -.alarm-detail-column {
  4 +.alarm- {
5 5 border-radius: 10px;
6 6 width: 688rpx;
7 7 height: 573rpx;
... ...
... ... @@ -12,7 +12,6 @@
12 12 "author": "",
13 13 "license": "ISC",
14 14 "dependencies": {
15   - "crypto": "^1.0.1",
16 15 "moment": "^2.29.2"
17 16 }
18 17 }
... ...
... ... @@ -302,7 +302,7 @@ export default {
302 302 this.selectTimeVal = e.value;
303 303 let curTime = new Date();
304 304 const formatS = curTime.getTime();
305   - let addMinute = new Date(curTime.setMinutes(curTime.getMinutes() + this.selectTimeVal));
  305 + let addMinute = new Date(curTime.setMinutes(curTime.getMinutes() - this.selectTimeVal));
306 306 const formatE = addMinute.getTime();
307 307 this.timeData.getTimeGapS = formatS;
308 308 this.timeData.getTimeGapE = formatE;
... ... @@ -323,8 +323,8 @@ export default {
323 323 this.startTimeArea = '';
324 324 this.endTimeArea = '';
325 325 } else {
326   - this.startTimeArea = this.timeData.getTimeGapS;
327   - this.endTimeArea = this.timeData.getTimeGapE;
  326 + this.startTimeArea = this.timeData.getTimeGapE;
  327 + this.endTimeArea = this.timeData.getTimeGapS;
328 328 }
329 329 this.loadData(
330 330 1,
... ...
... ... @@ -136,6 +136,7 @@
136 136 width: 400rpx;
137 137 text-align: left;
138 138 margin-top: 13rpx;
  139 + line-height: 40rpx;
139 140
140 141 .text {
141 142 color: #666666;
... ...
... ... @@ -5,12 +5,12 @@
5 5 <view class="org-sty">
6 6 <view @click="openOrg" class="org-item">
7 7 <view class="u-flex org-contact"><text class="text">组织关系</text></view>
8   - <view class="u-flex org-device">
  8 + <view @click="openOrg" class="u-flex org-device">
9 9 <image class="device-image" src="../../../static/org.png"></image>
10 10 <text class="device-text">摄像头数:{{ cameraTotal }}</text>
11 11 </view>
12 12 </view>
13   - <view class="org-item"><image class="image" src="../../../static/arrow-right.png"></image></view>
  13 + <view @click="openOrg" class="org-item"><image class="image" src="../../../static/arrow-right.png"></image></view>
14 14 </view>
15 15 <view style="height: 150rpx;"></view>
16 16 <!-- 自带分页组件 -->
... ...
... ... @@ -8,7 +8,7 @@
8 8 <view class="u-flex u-p-l-30 u-p-r-20 u-p-t-75 u-p-b-30">
9 9 <block v-if="userInfo.isToken || userInfo.isThirdLogin">
10 10 <view @click="openPersonalInfo" class="u-m-r-20">
11   - <image class="avatar" mode="aspectFill" :src="!userInfo.avatar ? '../../static/logo.png' : userInfo.avatar"></image>
  11 + <image class="avatar" mode="aspectFill" :src="!userInfo.avatar ? '../../static/logo.png' : userInfo.avatar || thirdObj.avatarUrl"></image>
12 12 </view>
13 13 <view class="u-flex-1">
14 14 <view class="nickName u-flex">
... ... @@ -154,17 +154,19 @@ export default {
154 154 appUserKey: '',
155 155 appUserSecret: ''
156 156 },
157   - thirdObj: {}
  157 + thirdObj: {},
  158 + getOpenId: ''
158 159 };
159 160 },
160 161 onLoad(e) {
161 162 // 隐藏原生的tabbar
162 163 uni.hideTabBar();
163   - if (e.obj != null) {
164   - const params = JSON.parse(decodeURIComponent(e.obj));
165   - this.thirdObj = params;
166   - }
167   - console.log('UserInfo', this.userInfo);
  164 + // if (e.obj != null) {
  165 + // const params = JSON.parse(decodeURIComponent(e.obj));
  166 + // // uni.$u.toast('eee', params.avatarUrl);
  167 + // this.thirdObj = params;
  168 + // }
  169 + this.getOpenId = getApp().globalData.openId;
168 170 },
169 171 computed: {
170 172 ...mapState(['userInfo'])
... ... @@ -232,7 +234,7 @@ export default {
232 234 loginMethod: 'ACCOUNT',
233 235 ...this.bindAccountObj,
234 236 platformName: 'WECHAT',
235   - ...this.thirdObj
  237 + thirdUserId: this.getOpenId
236 238 };
237 239 uni.$u.http
238 240 .post('/yt/third/bind', postData)
... ... @@ -260,8 +262,8 @@ export default {
260 262 }
261 263 })
262 264 .catch(e => {
263   - uni.$u.toast(e.data?.msg || e.data?.message);
264   - this.show = false;
  265 + uni.$u.toast(e.data?.msg);
  266 + this.show = true;
265 267 });
266 268 } else {
267 269 const phoneRegular = /^1\d{10}$/;
... ... @@ -295,7 +297,7 @@ export default {
295 297 loginMethod: 'PHONE',
296 298 ...this.bindPhoneObj,
297 299 platformName: 'WECHAT',
298   - ...this.thirdObj
  300 + thirdUserId: this.getOpenId
299 301 };
300 302 uni.$u.http
301 303 .post('/yt/third/bind', postData)
... ... @@ -321,8 +323,8 @@ export default {
321 323 this.saveUserInfo();
322 324 })
323 325 .catch(e => {
324   - uni.$u.toast(e.data?.msg || e.data?.message);
325   - this.show = false;
  326 + uni.$u.toast(e.data?.msg);
  327 + this.show = true;
326 328 });
327 329 }
328 330 },
... ...
... ... @@ -11,8 +11,10 @@
11 11 width: 50px;
12 12 height: 50px;
13 13 border-radius: 25px;
14   - background-color: #ccc;
  14 + background: #d8d8d8;
15 15 justify-content: center;
  16 + border: 2px solid #ffffff;
  17 + box-shadow: 0px 14px 26px 0px rgba(4, 7, 26, 0.2);
16 18 }
17 19 .click-login {
18 20 font-size: 18px;
... ...
... ... @@ -3,7 +3,7 @@
3 3 <!-- 公共组件-每个页面必须引入 -->
4 4 <public-module></public-module>
5 5 <view @click="upAvatar" class="u-flex set-main">
6   - <view class="main-image"><image class="image" :src="avatar || '/static/logo.png'"></image></view>
  6 + <view class="main-image"><image class="image" :src="avatar || '../../static/logo.png'"></image></view>
7 7 <view class="main-right-image"><image class="image" src="../../static/arrow-right.png"></image></view>
8 8 </view>
9 9 <view class="u-m-t-20 basic-text"><text class="text">基本资料</text></view>
... ... @@ -46,8 +46,12 @@
46 46 </u--form>
47 47 </view>
48 48 <view class="basic-bottom u-flex">
49   - <view class="item" v-if="info.data.isToken"><button class="submit" size="default" @click="clearAccountFunc" :style="{ background: InfoColor }">解绑</button></view>
50   - <view class="item" style="margin-right: 60rpx;"><button class="submit" size="default" @click="onSubmitFunc" :style="{ background: PrimaryColor }">确认</button></view>
  49 + <view class="item" v-if="info.data.isThirdLogin">
  50 + <button class="submit" size="default" @click="clearAccountFunc" :style="{ background: InfoColor }"><text class="un-bind-text">解绑</text></button>
  51 + </view>
  52 + <view class="item" style="margin-right: 60rpx;" :style="[{ position: info.data.isThirdLogin ? '' : 'relative' }, { right: info.data.isThirdLogin ? '' : '-190rpx' }]">
  53 + <button class="submit" size="default" @click="onSubmitFunc" :style="{ background: PrimaryColor }"><text class="un-bind-text">确认</text></button>
  54 + </view>
51 55 </view>
52 56 <!-- #ifdef MP -->
53 57 <view class="u-m-t-40"><text style="visibility: hidden;">#</text></view>
... ... @@ -67,12 +71,16 @@
67 71 </template>
68 72
69 73 <script>
  74 +import { mapMutations } from 'vuex';
  75 +import baseUrl from '@/config/baseUrl.js';
  76 +import { mapState } from 'vuex';
  77 +
70 78 export default {
71 79 data() {
72 80 return {
73 81 showBind: false,
74 82 PrimaryColor: '#377DFF', //主题色
75   - InfoColor: '#E3E4E5', //主题色
  83 + InfoColor: '#00C9A7', //主题色
76 84 myInfoModel: {
77 85 userInfo: {
78 86 realName: '',
... ... @@ -87,7 +95,8 @@ export default {
87 95 avatar: '',
88 96 id: '',
89 97 info: {},
90   - openIds: ''
  98 + openIds: '',
  99 + isUpdatePersonOrLoginInfo: false
91 100 };
92 101 },
93 102 onLoad(e) {
... ... @@ -99,7 +108,7 @@ export default {
99 108 this.myInfoModel.userInfo.username = params.data.username;
100 109 this.myInfoModel.userInfo.email = params.data.email;
101 110 this.myInfoModel.userInfo.accountExpireTime = params.data.accountExpireTime;
102   - this.avatar = params.data.avatar == undefined ? '../../static/avatar-test.png' : params.data.avatar;
  111 + this.avatar = params.data.avatar == undefined ? '../../static/logo.png' : params.data.avatar;
103 112 this.id = params.data.userId;
104 113 }
105 114 },
... ... @@ -109,7 +118,11 @@ export default {
109 118 this.openIds = getOpenId;
110 119 }
111 120 },
  121 + computed: {
  122 + ...mapState(['userInfo'])
  123 + },
112 124 methods: {
  125 + ...mapMutations(['setUserInfo']),
113 126 confrimBind(e) {
114 127 if (e) {
115 128 //解绑
... ... @@ -136,8 +149,13 @@ export default {
136 149 this.showBind = true;
137 150 },
138 151 // 修改头像
139   - upAvatar() {
140   - var that = this;
  152 + async upAvatar() {
  153 + let token;
  154 + token = this.userInfo.isToken || uni.getStorageSync('userInfo').isToken || undefined;
  155 + // #ifdef H5
  156 + token = window.sessionStorage.getItem('userInfo').isToken;
  157 + // #endif
  158 + if (!token) return uni.$u.toast('请登录后上传图片');
141 159 uni.chooseImage({
142 160 count: 1,
143 161 sourceType: ['camera', 'album'],
... ... @@ -166,17 +184,21 @@ export default {
166 184 });
167 185 return;
168 186 }
169   - uni.$u.http
170   - .upload('/yt/oss/upload', {
171   - filePath: tempFilePaths[0],
172   - name: 'file'
173   - })
174   - .then(res => {
175   - if (res) {
176   - that.avatar = res.fileStaticUri;
177   - return uni.$u.toast('头像上传成功');
178   - }
179   - });
  187 + uni.uploadFile({
  188 + url: `${baseUrl.baseUrl}/yt/oss/upload`,
  189 + filePath: tempFilePaths[0],
  190 + name: 'file',
  191 + header: {
  192 + 'content-type': 'multipart/form-data',
  193 + Authorization: 'Bearer ' + token
  194 + },
  195 + formData: {},
  196 + success: res => {
  197 + let objImage = JSON.parse(res.data);
  198 + this.avatar = objImage.fileStaticUri;
  199 + uni.$u.toast('头像上传成功');
  200 + }
  201 + });
180 202 }
181 203 });
182 204 },
... ... @@ -192,6 +214,7 @@ export default {
192 214 .put('/yt/user/center', httpData)
193 215 .then(res => {
194 216 if (res) {
  217 + this.setUserInfo(res);
195 218 uni.showToast({
196 219 title: '更新个人资料成功~',
197 220 icon: 'none'
... ...
... ... @@ -6,7 +6,6 @@
6 6 <view class="content">
7 7 <view class="hello login-text-muted">您好,</view>
8 8 <view class="hello-welcome login-text-muted">欢迎来到ThingsKit!</view>
9   - <view class="circleStyle"></view>
10 9 </view>
11 10 </view>
12 11 <view class="f__login">
... ... @@ -17,7 +16,9 @@
17 16 </view>
18 17 <view class="form-row u-flex">
19 18 <view class="v-input"><input type="text" v-model="loginForm.password" maxlength="32" placeholder="请输入登录密码" :password="!showPassword" /></view>
20   - <view class="v-password" @click="showPasswordMode"><u-icon color="#9a9a9a" size="25" :name="showPassword ? 'eye-fill' : 'eye-off'"></u-icon></view>
  19 + <view class="v-password" @click="showPasswordMode">
  20 + <u-icon color="#9a9a9a" width="18" height="15" :name="showPassword ? '/static/eye.png' : '/static/eye-hide.png'"></u-icon>
  21 + </view>
21 22 <u-icon></u-icon>
22 23 </view>
23 24 <button class="submit" size="default" @click="onSubmitFunc"><text class="text">登录</text></button>
... ... @@ -28,8 +29,7 @@
28 29 <view class="u-flex link-login">
29 30 <view class="link-text login-text-gray">第三方账号登录</view>
30 31 <view style="height:20rpx"></view>
31   - <view @click="onAuthorization" class="link-image"><image class="image" src="../../static/weixin.png" mode="aspectFill"></image></view>
32   - <view class="circleStyleBottom"></view>
  32 + <button class="link-image" @tap="onWenxinAuthorization"><image class="image" src="../../static/weixin.png" mode="aspectFill"></image></button>
33 33 </view>
34 34 </view>
35 35 </view>
... ... @@ -52,79 +52,59 @@ export default {
52 52 },
53 53 showPassword: false,
54 54 code: '',
55   - openid: '',
56   - session_key: ''
  55 + openid: ''
57 56 };
58 57 },
59 58 onLoad() {
60   - //#ifdef MP-WEIXIN
61 59 wx.login({
62 60 success: res => {
63 61 if (res.code) {
64 62 this.code = res.code;
65   - wx.request({
66   - url: `https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${appSecrect}&js_code=${this.code}&grant_type=authorization_code`,
67   - method: 'GET',
68   - success: res => {
69   - if (res.statusCode == 200) {
70   - this.openid = res.data.openid;
71   - this.session_key = res.data.session_key;
72   - //设置全局变量openId
73   - getApp().globalData.openId = res.data.openid;
74   - }
75   - },
76   - complete: e => {
77   - if (e.data.errcode != null) {
78   - return;
79   - // return uni.$u.toast('获取用户唯一id失败');
80   - }
81   - }
82   - });
  63 + //这里获取openid
83 64 } else {
  65 + return;
84 66 }
85 67 }
86 68 });
87   - //#endif
88 69 },
89 70 methods: {
90 71 ...mapMutations(['setUserInfo']),
91 72 ...mapActions(['updateBadgeTotal']),
92 73 //微信授权登录
93 74 //#ifdef MP-WEIXIN
94   - onAuthorization() {
95   - /**
96   - * 注意:通过wx.getUserProfile并不能获取用户的openid,openid是唯一识别用户的标识,
97   - * 所以最好在用户授权登录时就获取。调用wx.login()获取
98   - */
  75 + onWenxinAuthorization() {
99 76 wx.getUserProfile({
100   - desc: '获取用户授权信息',
101   - success: res => {
102   - if (res) {
103   - //微信官方自带解密(node.js实现)
104   - let pc = new WXBizDataCrypt(appId, this.session_key);
105   - let data = pc.decryptData(res.encryptedData, res.iv);
  77 + desc: '微信第三方授权',
  78 + success: reswenxin => {
  79 + console.log('res=======>', reswenxin);
  80 + if (reswenxin.errMsg === 'getUserProfile:ok' && reswenxin.encryptedData) {
  81 + console.log('获取code', this.code);
  82 + //获取用户信息
106 83 let obj = {
107   - avatarUrl: data.avatarUrl,
108   - nickName: data.nickName,
  84 + avatarUrl: reswenxin.userInfo.avatarUrl,
109 85 thirdUserId: this.openid
110 86 };
111 87 //判断是否需要绑定
112 88 uni.$u.http
113   - .get(`/yt/third/login/${this.openid}`)
  89 + .get(`/yt/third/login/${this.code}`)
114 90 .then(res => {
115   - if (res.token == '' || res.token == null) {
116   - //需要绑定,跳转我的页面进行绑定,显示绑定按钮
117   - uni.reLaunch({
118   - url: '../../pages/personal/personal'
119   - });
  91 + console.log('Res', res);
  92 + //设置全局变量openId
  93 + // getApp().globalData.openId = res.data.openid;
  94 + if (res.token == '' || (res.token == null && res.refreshToken)) {
  95 + //需要绑定
120 96 let userInfo = {
121   - isThirdLogin: true, //token用于判断是否登录
122   - avatar: data.avatarUrl
  97 + isThirdLogin: true, //用于判断是否是第三方登录并且需要绑定账号
  98 + avatar: obj.avatarUrl
123 99 };
124 100 this.setUserInfo(userInfo);
  101 + //设置全局变量openId
  102 + getApp().globalData.openId = res.refreshToken;
  103 + uni.reLaunch({
  104 + url: '../../pages/personal/personal'
  105 + });
125 106 } else {
126   - // 不需要绑定
127   - // 储存登录信息
  107 + // 不需要绑定,直接第三方登录使用
128 108 let resObj = {
129 109 refreshToken: res.refreshToken,
130 110 isToken: res.token
... ... @@ -132,7 +112,7 @@ export default {
132 112 let userInfo = {
133 113 ...resObj,
134 114 token: true, //token用于判断是否登录
135   - isThirdLogin: false
  115 + isThirdLoginAndNoDind: true //用于判断是否是第三方登录并且不需要绑定账号
136 116 };
137 117 if (userInfo.token) {
138 118 this.setUserInfo(userInfo);
... ... @@ -151,18 +131,11 @@ export default {
151 131 .catch(e => {
152 132 uni.$u.toast(e.data?.message);
153 133 });
154   - /**
155   - * 有些时候uni.navigatorBack({})没有返回到上级页面
156   - * 才使用uni.reLaunch()进行跳转
157   - */
158   - // #ifdef MP
159   - setTimeout(() => {
160   - uni.reLaunch({
161   - url: '../../pages/personal/personal?obj=' + encodeURIComponent(JSON.stringify(obj))
162   - });
163   - }, 500);
164   - // #endif
165 134 }
  135 + },
  136 + fail: res => {
  137 + //拒绝授权
  138 + return;
166 139 }
167 140 });
168 141 },
... ... @@ -243,14 +216,6 @@ export default {
243 216 uni.$u.toast(e.data?.message);
244 217 });
245 218 },
246   - saveUserInfo() {
247   - //储存个人信息
248   - uni.$u.http.get('/yt/user/me/info').then(res => {
249   - if (res) {
250   - this.setUserInfo(res);
251   - }
252   - });
253   - },
254 219 openCodeFunc() {
255 220 uni.navigateTo({
256 221 url: '../other/code'
... ... @@ -270,4 +235,7 @@ export default {
270 235
271 236 <style lang="scss" scoped>
272 237 @import './static/login.scss';
  238 +/deep/ button {
  239 + background: rgba(0, 0, 0, 0);
  240 +}
273 241 </style>
... ...
1 1 .login-page {
2 2 min-height: 100vh;
3   - background-color: #fff;
  3 + width: 750rpx;
  4 + background: url(/static/login.png) no-repeat;
4 5 .login-main {
5 6 flex-direction: column;
6 7 .content {
7 8 height: 250rpx;
8 9 margin-top: 90rpx;
9 10 margin-left: -107rpx;
  11 + position: relative;
  12 + top: 50rpx;
  13 + left: -15rpx;
10 14 .hello {
11 15 font-size: 30px;
12 16 color: #3a4759;
... ... @@ -21,16 +25,6 @@
21 25 }
22 26 }
23 27 }
24   - .circleStyle {
25   - position: absolute;
26   - width: 145rpx;
27   - height: 300rpx;
28   - left: -31rpx;
29   - top: 10rpx;
30   - border-radius: 0 100rpx 100rpx 0/0 150rpx 150rpx 0;
31   - background-color: #f0f2f5;
32   - opacity: 0.5;
33   - }
34 28 }
35 29
36 30 .f__login {
... ... @@ -47,7 +41,7 @@
47 41 margin-top: 60rpx;
48 42 .v-input {
49 43 width: 690rpx;
50   - border-bottom: 2px solid #e5e5e5;
  44 + border-bottom: 1px solid #e5e5e5;
51 45 }
52 46 .v-password {
53 47 position: absolute;
... ... @@ -107,19 +101,4 @@
107 101 }
108 102 }
109 103 }
110   - .circleStyleBottom {
111   - position: absolute;
112   - width: 145rpx;
113   - height: 300rpx;
114   - right: -31rpx;
115   - top: 404rpx;
116   - //#ifndef MP
117   - top: 504rpx;
118   - //#endif
119   - border-radius: 0 100rpx 100rpx 0/0 150rpx 150rpx 0;
120   - background: linear-gradient(241deg, #00c9a7 0%, rgba(0, 223, 252, 0.5) 100%);
121   - opacity: 0.1;
122   - transform: rotate(180deg);
123   - z-index: -9999;
124   - }
125 104 }
... ...

976 Bytes

... ... @@ -14,6 +14,7 @@ export const mutations = {
14 14 // #endif
15 15 // #ifndef H5
16 16 uni.setStorageSync('userInfo', state.userInfo);
  17 + wx.setStorageSync('userInfo', state.userInfo);
17 18 // #endif
18 19 }
19 20 },
... ...
... ... @@ -185,6 +185,13 @@ button {
185 185 font-weight: 400;
186 186 color: #333333 !important;
187 187 }
  188 +.un-bind-text {
  189 + font-size: 16px;
  190 + font-family: PingFangSC-Regular, PingFang SC;
  191 + font-weight: 400;
  192 + // color: #333333;
  193 + color: #ffffff;
  194 +}
188 195 // 定义flex等分
189 196 @for $i from 0 through 12 {
190 197 .u-flex-#{$i} {
... ...
... ... @@ -13,9 +13,9 @@
13 13 </u-list>
14 14 <view class="bottom-text">
15 15 <view class="u-flex column">
16   - <text class="text">{{ notifyList.title }}</text>
  16 + <text class="text" style="font-weight: bold;">{{ notifyList.title }}</text>
17 17 </view>
18   - <view style="margin-top: 20rpx;">
  18 + <view style="margin-top: 21rpx;">
19 19 <!-- 富文本解析 -->
20 20 <u-parse :content="notifyList.content"></u-parse>
21 21 <!-- 富文本解析 -->
... ...
... ... @@ -2,9 +2,11 @@
2 2 <view class="notify-page">
3 3 <!-- 公共组件-每个页面必须引入 -->
4 4 <public-module></public-module>
5   - <view @click="openTypeClick" style="width: 700rpx;position: fixed;top: 0;z-index: 1;">
6   - <u--input suffixIcon="arrow-down" shape="circle" disabled v-model="model1.userInfo.type" placeholder="请选择类型" border="surround"></u--input>
7   - <u-action-sheet :show="showType" :actions="actions" title="请选择类型" @close="showType = false" @select="typeSelect"></u-action-sheet>
  5 + <view style="width: 750rpx;height:53rpx;background-color: #f8f9fa;position:fixed;top:0;z-index: 99999;">
  6 + <view @click="openTypeClick" style="background-color: #f8f9fa;width: 700rpx;position: relative;top: 10rpx;">
  7 + <u--input suffixIcon="arrow-down" shape="circle" disabled v-model="model1.userInfo.type" placeholder="请选择类型" border="surround"></u--input>
  8 + <u-action-sheet :show="showType" :actions="actions" title="请选择类型" @close="showType = false" @select="typeSelect"></u-action-sheet>
  9 + </view>
8 10 </view>
9 11 <view style="height: 76rpx;"></view>
10 12 <view class="notify-main">
... ... @@ -82,7 +84,8 @@ export default {
82 84 onShow() {
83 85 this.pre = uni.getStorageSync('storagePre');
84 86 if (this.pre) {
85   - this.loadData(1);
  87 + this.page.num = 1;
  88 + this.loadData(this.page.num);
86 89 }
87 90 },
88 91 onHide() {
... ... @@ -97,19 +100,11 @@ export default {
97 100 uni.hideKeyboard();
98 101 },
99 102 typeSelect(e) {
100   - this.topBack();
101 103 this.isJudgeNextPage = e.value;
102 104 this.page.num = 1;
103 105 this.model1.userInfo.type = e.name;
104 106 this.loadData(1, this.isJudgeNextPage == '' ? null : this.isJudgeNextPage);
105 107 },
106   - //筛选数据让它回到顶部
107   - topBack() {
108   - uni.pageScrollTo({
109   - scrollTop: 0, // 滚动到页面的目标位置 这个是滚动到顶部, 0
110   - duration: 300 // 滚动动画的时长
111   - });
112   - },
113 108 /*下拉刷新的回调 */
114 109 downCallback() {
115 110 //联网加载数据
... ...