diff --git a/core/core-frontend/src/config/axios/refresh.ts b/core/core-frontend/src/config/axios/refresh.ts index 4f668013f0..bb517ef49c 100644 --- a/core/core-frontend/src/config/axios/refresh.ts +++ b/core/core-frontend/src/config/axios/refresh.ts @@ -1,12 +1,13 @@ import { useCache } from '@/hooks/web/useCache' import { refreshApi } from '@/api/login' import { useUserStoreWithOut } from '@/store/modules/user' +import { useRequestStoreWithOut } from '@/store/modules/request' import { isLink } from '@/utils/utils' const { wsCache } = useCache() const userStore = useUserStoreWithOut() +const requestStore = useRequestStoreWithOut() const refreshUrl = '/login/refresh' -let cachedRequestList = [] const expConstants = 10000 @@ -19,10 +20,15 @@ const isExpired = () => { } const delayExecute = (token: string) => { + const cachedRequestList = requestStore.getRequestList cachedRequestList.forEach(cb => { cb(token) }) - cachedRequestList = [] + requestStore.cleanCacheRequest() + /* cachedRequestList.forEach(cb => { + cb(token) + }) + cachedRequestList = [] */ } const getRefreshStatus = () => { @@ -33,7 +39,8 @@ const setRefreshStatus = (status: boolean) => { } const cacheRequest = cb => { - cachedRequestList.push(cb) + requestStore.addCacheRequest(cb) + // cachedRequestList.push(cb) } export const configHandler = config => { diff --git a/core/core-frontend/src/store/modules/request.ts b/core/core-frontend/src/store/modules/request.ts index 816c3944f8..cdddb411c8 100644 --- a/core/core-frontend/src/store/modules/request.ts +++ b/core/core-frontend/src/store/modules/request.ts @@ -5,12 +5,19 @@ interface RequestState { loadingMap: { [key: string]: number } + cachedRequestList: [] } export const useRequestStore = defineStore('request', { state: (): RequestState => { return { - loadingMap: {} + loadingMap: {}, + cachedRequestList: [] + } + }, + getters: { + getRequestList(): string { + return this.cachedRequestList } }, actions: { @@ -34,6 +41,12 @@ export const useRequestStore = defineStore('request', { map[key] -= 1 this.loadingMap = map } + }, + addCacheRequest(fun) { + this.cachedRequestList.push(fun) + }, + cleanCacheRequest() { + this.cachedRequestList = [] } } }) diff --git a/de-xpack b/de-xpack index fcf1317c37..697683f9f0 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit fcf1317c371f3e31bf5279d05e701de209567e8c +Subproject commit 697683f9f013c50fd6aef0a9d723b1876f7018af