refactor: 优化超时登录处理逻辑

This commit is contained in:
2023-11-06 22:12:27 +08:00
parent 47a8160d70
commit 712eedba1b
2 changed files with 9 additions and 5 deletions

View File

@@ -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 };

View File

@@ -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';
@@ -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();
},
});