From 09ea12714edf87ecdab17cb258b9ff3245827908 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Wed, 27 Nov 2024 12:05:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=8F=A3=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E5=8F=96=E6=B6=88loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/config/axios/service.ts | 6 ++++++ core/core-frontend/src/store/modules/request.ts | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/core/core-frontend/src/config/axios/service.ts b/core/core-frontend/src/config/axios/service.ts index affc34a0e9..4db5140287 100644 --- a/core/core-frontend/src/config/axios/service.ts +++ b/core/core-frontend/src/config/axios/service.ts @@ -15,6 +15,7 @@ import { useLinkStoreWithOut } from '@/store/modules/link' import { config } from './config' import { configHandler } from './refresh' import { isMobile } from '@/utils/utils' +import { useRequestStoreWithOut } from '@/store/modules/request' type AxiosErrorWidthLoading = T & { config: { @@ -33,6 +34,7 @@ const { result_code } = config import { useCache } from '@/hooks/web/useCache' const { wsCache } = useCache() +const requestStore = useRequestStoreWithOut() const embeddedStore = useEmbedded() const basePath = import.meta.env.VITE_API_BASEPATH @@ -203,6 +205,10 @@ service.interceptors.response.use( } }, (error: AxiosErrorWidthLoading) => { + if (error.message?.includes('timeout of')) { + requestStore.resetLoadingMap() + } + if (!error?.response) { return Promise.reject(error) } diff --git a/core/core-frontend/src/store/modules/request.ts b/core/core-frontend/src/store/modules/request.ts index cdddb411c8..5165eb3d41 100644 --- a/core/core-frontend/src/store/modules/request.ts +++ b/core/core-frontend/src/store/modules/request.ts @@ -24,6 +24,11 @@ export const useRequestStore = defineStore('request', { setLoadingMap(value: object) { this.loadingMap = value }, + resetLoadingMap() { + for (const key in this.loadingMap) { + this.loadingMap[key] = 0 + } + }, addLoading(key: string) { if (Object.prototype.hasOwnProperty.call(this.loadingMap, key)) { const map = this.loadingMap