Skip to content

Commit c4c343c

Browse files
committed
update: in the message page, handle multiple situations of getting data
1 parent 226ae7b commit c4c343c

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

src/pages/login/login.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ Page({
5858
}
5959
})
6060
.then(res => {
61-
// TODO: 用户登录成功后,调接口获取未读消息数量
6261
if (res) {
6362
app.globalData.bIsLogin = true;
6463
wx.setStorageSync('sAccessToken', sAccessToken);

src/pages/message/message.js

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
1+
import { fnCheckLogin } from '../../utils/util';
2+
const app = getApp();
3+
14
Page({
25
data: {
36
bIsReady: false, // 页面是否准备就绪
47
aHasReadMessageList: [], // 已读消息列表
58
aHasNotReadMessageList: [] // 未读消息列表
69
},
710
onLoad() {
8-
this.fnNetRAllMessage();
11+
// 页面加载时,如果是未登录状态,直接初始化页面
12+
if (!app.globalData.bIsLogin) {
13+
this.setData({
14+
bIsReady: true
15+
});
16+
}
17+
},
18+
onShow() {
19+
// 页面活动时,检测登录状态
20+
if (fnCheckLogin()) {
21+
// 登录状态下,获取消息列表数据
22+
this.fnNetRAllMessage();
23+
} else {
24+
// 否则重置消息列表数据
25+
this.setData({
26+
aHasReadMessageList: [],
27+
aHasNotReadMessageList: []
28+
});
29+
}
930
},
1031
// 处理已读消息事件
1132
fnHandleHasReadMessageEvent(e) {
12-
// 根据子组件传递的msg_id,将未读消息列表中,将该消息移至已读消息列表中
33+
// 根据子组件传递的msg_id,从未读消息列表中,将该消息移至已读消息列表中
1334
this.data.aHasReadMessageList.unshift(...this.data.aHasNotReadMessageList.filter(oItem => oItem.id === e.detail.msg_id));
1435
setTimeout(() => {
1536
this.setData({
@@ -59,6 +80,13 @@ Page({
5980
this.fnAllMessageDataModel
6081
)
6182
.then(res => {
83+
if (res.nHasNotReadMessageCount) {
84+
// 更新tabBar上的新消息数量
85+
wx.setTabBarBadge({
86+
index: 1,
87+
text: `${res.nHasNotReadMessageCount}`
88+
});
89+
}
6290
this.setData({
6391
bIsReady: true,
6492
aHasReadMessageList: res.aHasReadMessageList,
@@ -100,6 +128,7 @@ Page({
100128
create_at: wx.moment(oItem.create_at).fromNow()
101129
};
102130
});
131+
oResult.nHasNotReadMessageCount = oData.hasnot_read_messages.length;
103132
return oResult;
104133
}
105134
});

src/pages/message/message.wxml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
<text>已读消息</text>
1515
<text>({{aHasReadMessageList.length}})</text>
1616
</view>
17-
<message-item wx:for="{{aHasReadMessageList}}" wx:key="{{item.id}}" data="{{item}}" bindread="fnHandleHasReadMessageEvent"></message-item>
17+
<message-item wx:for="{{aHasReadMessageList}}" wx:key="{{item.id}}" data="{{item}}"></message-item>
1818
</view>
1919
</view>

0 commit comments

Comments
 (0)