diff --git a/src/event/talk.js b/src/event/talk.js index 3eb65bf..d6ffba9 100644 --- a/src/event/talk.js +++ b/src/event/talk.js @@ -280,7 +280,8 @@ class Talk extends Base { useTalkStore().updateMessage({ index_name: this.getIndexName(), msg_text: this.getTalkText(), - updated_at: parseTime(new Date()) + updated_at: parseTime(new Date()), + isCurrSender: this.isCurrSender() }) //收到新消息时,同时判断是否有人@我 if (this.resource.msg_type === 1 && this.resource?.extra?.mentions?.length > 0) { diff --git a/src/store/modules/talk.ts b/src/store/modules/talk.ts index 7f9350c..2ee09aa 100644 --- a/src/store/modules/talk.ts +++ b/src/store/modules/talk.ts @@ -103,7 +103,10 @@ export const useTalkStore = defineStore('talk', { const item = this.items.find((item) => item.index_name === params.index_name) if (item) { - item.unread_num++ + if (!params?.isCurrSender) { + //如果消息不是自己发的,才更新未读数量 + item.unread_num++ + } item.msg_text = params.msg_text item.updated_at = params.updated_at diff --git a/src/views/message/inner/IndexSider.vue b/src/views/message/inner/IndexSider.vue index 151c1cc..368e088 100644 --- a/src/views/message/inner/IndexSider.vue +++ b/src/views/message/inner/IndexSider.vue @@ -602,6 +602,11 @@ const onTabTalk = (item: ISession, follow = false) => { console.log('item.index_name === indexName.value', item.index_name === indexName.value) if (item.index_name === indexName.value) return + if (dialogueStore.isOpenMultiSelect) { + //切换会话时,如果多选模式开启,则关闭多选模式 + dialogueStore.closeMultiSelect() + } + searchKeyword.value = '' dialogueStore.isManualSwitch = true