From d5da1847e33e6cd7a0e5c3434335044167c1241c Mon Sep 17 00:00:00 2001 From: Charles7c Date: Mon, 6 Nov 2023 22:09:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E7=99=BB=E5=BD=95=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- continew-admin-ui/src/utils/auth.ts | 7 +++++-- continew-admin-ui/src/utils/request.ts | 11 ++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/continew-admin-ui/src/utils/auth.ts b/continew-admin-ui/src/utils/auth.ts index 394b5b60..5d4d5ed3 100644 --- a/continew-admin-ui/src/utils/auth.ts +++ b/continew-admin-ui/src/utils/auth.ts @@ -22,8 +22,11 @@ const setTimer = (timer: number) => { }; const clearTimer = () => { - clearInterval(Number(localStorage.getItem(TIMER_KEY))); - localStorage.removeItem(TIMER_KEY); + const timer = localStorage.getItem(TIMER_KEY); + if (timer) { + clearInterval(Number(timer)); + localStorage.removeItem(TIMER_KEY); + } }; export { isLogin, getToken, setToken, clearToken, setTimer, clearTimer }; diff --git a/continew-admin-ui/src/utils/request.ts b/continew-admin-ui/src/utils/request.ts index fdf0b6ea..1846a05d 100644 --- a/continew-admin-ui/src/utils/request.ts +++ b/continew-admin-ui/src/utils/request.ts @@ -1,7 +1,7 @@ import axios from 'axios'; import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import { useUserStore } from '@/store'; -import { getToken } from '@/utils/auth'; +import { getToken, clearTimer } from '@/utils/auth'; import modalErrorWrapper from '@/utils/modal-error-wrapper'; import messageErrorWrapper from '@/utils/message-error-wrapper'; @@ -33,7 +33,7 @@ axios.interceptors.request.use( }, (error) => { return Promise.reject(error); - } + }, ); // response interceptors @@ -51,8 +51,7 @@ axios.interceptors.response.use( return res; } if ([401].includes(res.code) && response.config.url !== '/auth/user/info') { - const userStore = useUserStore(); - userStore.logout(); + clearTimer(); modalErrorWrapper({ title: '确认退出', content: res.msg, @@ -60,6 +59,8 @@ axios.interceptors.response.use( escToClose: false, okText: '重新登录', async onOk() { + const userStore = useUserStore(); + userStore.logout(); window.location.reload(); }, }); @@ -77,5 +78,5 @@ axios.interceptors.response.use( duration: 5 * 1000, }); return Promise.reject(error); - } + }, );