From e3981ef9e5575f631476d64ae4e5900a41a33c4e Mon Sep 17 00:00:00 2001 From: ljk123 <303147190@qq.com> Date: Wed, 8 Jan 2025 15:47:11 +0800 Subject: [PATCH] =?UTF-8?q?chore(http.ts):=20=E4=BC=98=E5=8C=96401?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E9=80=80=E5=87=BA=E4=B8=8D=E7=94=A8=E7=AD=89?= =?UTF-8?q?=E6=BB=A13=E7=A7=92=E6=98=BE=E5=BE=97=E5=BE=88=E5=8D=A1=20(#514?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/utils/http.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/web/src/utils/http.ts b/web/src/utils/http.ts index f81dbea2..7f8596a5 100644 --- a/web/src/utils/http.ts +++ b/web/src/utils/http.ts @@ -52,6 +52,8 @@ http.interceptors.request.use( }, ) +let isLogout = false + http.interceptors.response.use( async (response: AxiosResponse): Promise => { isLoading.value = false @@ -72,14 +74,14 @@ http.interceptors.response.use( else { switch (response?.data?.code) { case ResultCode.UNAUTHORIZED: { - const logout = useDebounceFn( - async () => { + const logout = async () => { + if (isLogout === false) { + isLogout = true + setTimeout(() => isLogout = false, 5000) Message.error('登录状态已过期,需要重新登录', { zIndex: 9999 }) await useUserStore().logout() - }, - 3000, - { maxWait: 5000 }, - ) + } + } // 检查token是否需要刷新 if (userStore.isLogin && !isRefreshToken.value) { isRefreshToken.value = true