解决登录和未读显示的bug
This commit is contained in:
@@ -432,7 +432,11 @@ export default {
|
||||
});
|
||||
|
||||
// 更新最近消息列表
|
||||
this.updateRecentChat(this.currentContact.contactName, newMessage);
|
||||
this.updateRecentChat(
|
||||
"send",
|
||||
this.currentContact.contactName,
|
||||
newMessage
|
||||
);
|
||||
|
||||
// 清空输入框
|
||||
this.messageText = "";
|
||||
@@ -449,7 +453,7 @@ export default {
|
||||
},
|
||||
|
||||
// 更新最近消息列表
|
||||
updateRecentChat(contactName, newMessage) {
|
||||
updateRecentChat(messageType, contactName, newMessage) {
|
||||
const index = this.recentChats.findIndex(
|
||||
(item) => item.contactName === contactName
|
||||
);
|
||||
@@ -460,9 +464,10 @@ export default {
|
||||
|
||||
chat.content = newMessage.content;
|
||||
chat.createdAt = newMessage.createdAt;
|
||||
// 未读数量 +1
|
||||
chat.unreadCount =
|
||||
(chat.unreadCount || 0) + 1;
|
||||
// 接收非当前正在聊天的联系人新消息时,未读数量 +1
|
||||
if (messageType == "receive" && this.currentContact.contactName != contactName) {
|
||||
chat.unreadCount = (chat.unreadCount || 0) + 1;
|
||||
}
|
||||
|
||||
this.recentChats.splice(index, 1);
|
||||
this.recentChats.unshift(chat);
|
||||
@@ -473,7 +478,7 @@ export default {
|
||||
contactName: contactName,
|
||||
content: newMessage.content,
|
||||
createdAt: newMessage.createdAt,
|
||||
unreadCount: 1
|
||||
unreadCount: 1,
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -508,7 +513,7 @@ export default {
|
||||
this.contactMessages.push(message);
|
||||
} else {
|
||||
// 不是当前联系人,不加入 contactMessages,只更新最近聊天列表、未读数量
|
||||
this.updateRecentChat(message);
|
||||
this.updateRecentChat("receive", senderName, message);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
+4
-3
@@ -43,10 +43,11 @@ const router = new VueRouter({
|
||||
router.beforeEach((to, from, next) => {
|
||||
const token = store.state.token;
|
||||
if(to.meta.requiresAuth) {
|
||||
if(token) {
|
||||
next()
|
||||
} else {
|
||||
// 加入/login判断,防止vue-router报错
|
||||
if(!token && to.path !== "/login") {
|
||||
next('/login')
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
} else {
|
||||
next()
|
||||
|
||||
Reference in New Issue
Block a user