From d50c8ce691e0875434110069eda2c7c3ed26bf19 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 10 Dec 2024 07:33:58 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E4=B8=B4=E6=97=B6?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E7=9A=84=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/store/actions.js | 46 +++++++++++++--------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 3cb425b74..2efaf3ec9 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3792,34 +3792,34 @@ export default { break; case 'add': case 'chat': + const isChat = mode === "chat" || $A.isSubElectron; if (!state.dialogMsgs.find(({id}) => id == data.id)) { // 新增任务消息数量 dispatch("increaseTaskMsgNum", data); // 新增回复数量 dispatch("increaseMsgReplyNum", data); // - if (mode === "chat" || $A.isSubElectron) { - return; - } - if (data.userid !== state.userId) { - // 更新对话新增未读数 - const dialog = state.cacheDialogs.find(({id}) => id == dialog_id); - if (dialog) { - const newData = { - id: dialog_id, - unread: dialog.unread + 1, - mention: dialog.mention, - user_at: data.user_at, - user_ms: data.user_ms, + if (!isChat) { + if (data.userid !== state.userId) { + // 更新对话新增未读数 + const dialog = state.cacheDialogs.find(({id}) => id == dialog_id); + if (dialog) { + const newData = { + id: dialog_id, + unread: dialog.unread + 1, + mention: dialog.mention, + user_at: data.user_at, + user_ms: data.user_ms, + } + if (data.mention) { + newData.mention++; + } + dispatch("saveDialog", newData) } - if (data.mention) { - newData.mention++; - } - dispatch("saveDialog", newData) } - } - if (!silence) { - Store.set('dialogMsgPush', data); + if (!silence) { + Store.set('dialogMsgPush', data); + } } } const saveMsg = (data, count) => { @@ -3827,12 +3827,10 @@ export default { // 更新消息列表 dispatch("saveDialogMsg", data) // 更新最后消息 - dispatch("updateDialogLastMsg", data); + !isChat && dispatch("updateDialogLastMsg", data); return; } - setTimeout(_ => { - saveMsg(data, ++count) - }, 20); + setTimeout(() => saveMsg(data, count + 1), 50); } saveMsg(data, 0); break;