From 4144f926314ca1fecc38e73d2b39b1a723d662bf Mon Sep 17 00:00:00 2001 From: Pang Date: Thu, 4 Jan 2024 20:14:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B6=88=E6=81=AF=E9=98=85=E8=AF=BB?= =?UTF-8?q?=E5=9B=9E=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/store/actions.js | 15 ++++++++++----- resources/assets/js/store/state.js | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 4315871fa..b8fbe5b43 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3062,14 +3062,10 @@ export default { if (dialog && $A.isArray(dialog.position_msgs)) { const index = dialog.position_msgs.findIndex(({msg_id}) => msg_id == data.id); if (index > -1) { + state.readEndMark[data.dialog_id] = Math.max(data.id, $A.runNum(state.readEndMark[data.dialog_id])) dialog.position_msgs.splice(index, 1); dispatch("saveDialog", dialog) } - dispatch("dialogMsgMark", { - type: 'read', - dialog_id: data.dialog_id, - after_msg_id: data.id, - }) } } clearTimeout(state.readTimeout); @@ -3098,6 +3094,15 @@ export default { }) }).finally(_ => { state.readLoadNum++ + // + for (let dialog_id in state.readEndMark) { + dispatch("dialogMsgMark", { + type: 'read', + dialog_id, + after_msg_id: state.readEndMark[dialog_id], + }) + } + state.readEndMark = {} }); }, 50); }, diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index c48cc57bc..243cef294 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -130,6 +130,7 @@ export default { readLoadNum: 0, readTimeout: null, readWaitData: {}, + readEndMark: {}, // 文件 fileLists: [],