From 9ca9de0d7e29c6e8039c951c5629af82740a64cd Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 14 Dec 2023 16:30:07 +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=E5=A4=AA=E5=BF=AB=E5=AF=BC=E8=87=B4=E4=B8=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/store/actions.js | 33 ++++++++++++---------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index f17a0eb63..ace277047 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3261,27 +3261,22 @@ export default { break; case 'update': case 'readed': - // 更新、已读回执 - if (state.dialogMsgs.find(({id}) => id == data.id)) { - dispatch("saveDialogMsg", data) - // 更新待办 - if (typeof data.todo !== "undefined") { - dispatch("getDialogTodo", dialog_id) + const updateMsg = (data, count) => { + if (state.dialogMsgs.find(({id}) => id == data.id)) { + dispatch("saveDialogMsg", data) + // 更新待办 + if (typeof data.todo !== "undefined") { + dispatch("getDialogTodo", dialog_id) + } + return; + } + if (count <= 5) { + setTimeout(_ => { + updateMsg(data, ++count) + }, 500); } - } else if (mode === 'readed') { - // 消息不存在,重试已读标记 - let readedNum = 0 - const readedTimer = setInterval(_ => { - if (readedNum > 6) { - clearInterval(readedTimer) - } - if (state.dialogMsgs.find(({id}) => id == data.id)) { - clearInterval(readedTimer) - dispatch("saveDialogMsg", data) - } - readedNum++ - }, 500) } + updateMsg(data, 0); break; case 'groupAdd': case 'groupJoin':