From 3fa0b472d23f608ec421c7470a6e269662a0cf4b Mon Sep 17 00:00:00 2001 From: Pang Date: Sat, 23 Dec 2023 19:20:41 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/store/actions.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index c0031041e..014084bb0 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -2735,12 +2735,23 @@ export default { dispatch("saveDialogMsg", msg) }); } else if ($A.isJson(data)) { + let delay = false + if (typeof data.__delay__ !== "undefined") { + delete data.__delay__ + delay = true + } const index = state.dialogMsgs.findIndex(({id}) => id == data.id); data = Object.assign({}, state.dialogMsgs[index], data) if (index > -1) { state.dialogMsgs.splice(index, 1, data); } else { - state.dialogMsgs.push(data); + if (delay) { + setTimeout(_ => { + state.dialogMsgs.push(data); + }, 100) + } else { + state.dialogMsgs.push(data); + } } $A.IDBSave("dialogMsgs", state.dialogMsgs, 600) // @@ -3275,7 +3286,7 @@ export default { } } // 更新消息列表 - dispatch("saveDialogMsg", data) + dispatch("saveDialogMsg", Object.assign(data, {__delay__: true})) // 更新最后消息 dispatch("updateDialogLastMsg", data); break; @@ -3283,7 +3294,7 @@ export default { case 'readed': const updateMsg = (data, count) => { if (state.dialogMsgs.find(({id}) => id == data.id)) { - dispatch("saveDialogMsg", data) + dispatch("saveDialogMsg", Object.assign(data, {__delay__: true})) // 更新待办 if (typeof data.todo !== "undefined") { dispatch("getDialogTodo", dialog_id)