Skip to content

Commit

Permalink
refactor: 优化超时登录处理逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed Nov 6, 2023
1 parent c44162d commit d5da184
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
7 changes: 5 additions & 2 deletions continew-admin-ui/src/utils/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 };
11 changes: 6 additions & 5 deletions continew-admin-ui/src/utils/request.ts
Original file line number Diff line number Diff line change
@@ -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';

Expand Down Expand Up @@ -33,7 +33,7 @@ axios.interceptors.request.use(
},
(error) => {
return Promise.reject(error);
}
},
);

// response interceptors
Expand All @@ -51,15 +51,16 @@ 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,
maskClosable: false,
escToClose: false,
okText: '重新登录',
async onOk() {
const userStore = useUserStore();
userStore.logout();
window.location.reload();
},
});
Expand All @@ -77,5 +78,5 @@ axios.interceptors.response.use(
duration: 5 * 1000,
});
return Promise.reject(error);
}
},
);

0 comments on commit d5da184

Please sign in to comment.