fix(im):对齐 Vue3 已读游标修复 Vben 未读数异常

- Vben 消息离线 pull 入库时,按 conversation read position 过滤已读消息,避免已读历史消息重新累加未读
- Vben WebSocket 实时插入消息时,同步增加 read position 覆盖判断,和 Vue3+EP 的未读统计口径保持一致
- 保持未读自增入口只在 messageStore 的 applyPulledMessageList 和 insertMessage 两处
pull/367/head
YunaiV 2026-06-18 07:21:01 -07:00
parent 2ee25c8821
commit e61d0a5aa2
1 changed files with 2 additions and 0 deletions

View File

@ -509,6 +509,7 @@ export const useMessageStore = defineStore('imMessageStore', {
if ( if (
!message.selfSend && !message.selfSend &&
!isActive && !isActive &&
!conversationStore.isMessageCoveredByReadPosition(conversation, message) &&
isNormalMessage(message.type) && isNormalMessage(message.type) &&
message.status !== ImMessageStatus.RECALL message.status !== ImMessageStatus.RECALL
) { ) {
@ -613,6 +614,7 @@ export const useMessageStore = defineStore('imMessageStore', {
if ( if (
!message.selfSend && !message.selfSend &&
!isActive && !isActive &&
!conversationStore.isMessageCoveredByReadPosition(conversation, message) &&
isNormalMessage(message.type) && isNormalMessage(message.type) &&
message.status !== ImMessageStatus.RECALL message.status !== ImMessageStatus.RECALL
) { ) {