From 6cbfa08bae04399dc325ef02eee95349bf01c158 Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Tue, 4 Nov 2025 10:03:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(dict):=20=E4=BF=AE=E5=A4=8D=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E8=AF=B7=E6=B1=82=E5=A4=B1=E8=B4=A5=E5=90=8E=E9=98=9F?= =?UTF-8?q?=E5=88=97=E6=9C=AA=E6=B8=85=E7=90=86=E5=AF=BC=E8=87=B4=E6=B0=B8?= =?UTF-8?q?=E4=B9=85=E9=98=BB=E5=A1=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composables/websocket/useDictSync.ts | 2 +- src/store/modules/dict-store.ts | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/composables/websocket/useDictSync.ts b/src/composables/websocket/useDictSync.ts index 77a9c8e4..b0823620 100644 --- a/src/composables/websocket/useDictSync.ts +++ b/src/composables/websocket/useDictSync.ts @@ -39,7 +39,7 @@ function createDictSyncHook() { const messageCallbacks = ref([]); // 重试定时器 - let retryTimer: any = null; + let retryTimer: ReturnType | null = null; /** * 注册字典消息回调 diff --git a/src/store/modules/dict-store.ts b/src/store/modules/dict-store.ts index 34d8acaf..6de2fe6a 100644 --- a/src/store/modules/dict-store.ts +++ b/src/store/modules/dict-store.ts @@ -26,10 +26,16 @@ export const useDictStore = defineStore("dict", () => { if (dictCache.value[dictCode]) return; // 防止重复请求 if (!requestQueue[dictCode]) { - requestQueue[dictCode] = DictAPI.getDictItems(dictCode).then((data) => { - cacheDictItems(dictCode, data); - Reflect.deleteProperty(requestQueue, dictCode); - }); + requestQueue[dictCode] = DictAPI.getDictItems(dictCode) + .then((data) => { + cacheDictItems(dictCode, data); + Reflect.deleteProperty(requestQueue, dictCode); + }) + .catch((error) => { + // 请求失败,清理队列,允许重试 + Reflect.deleteProperty(requestQueue, dictCode); + throw error; + }); } await requestQueue[dictCode]; };