提交 3a5d1a57 编写于 作者: 无木

fix: refresh failed while token invalid

修复当token失效时,刷新页面可能出现异常的问题

fixed: #1101
上级 2c867b3d
......@@ -10,6 +10,7 @@
- **其它**
- 修复部分封装组件在使用插槽时报错的问题
- 修复`useECharts``theme`参数不起作用的问题
- 修复`Token`失效时,按 F5 刷新页面可能会出现页面加载异常的问题
## 2.7.1(2021-08-16)
......
......@@ -72,7 +72,12 @@ export function createPermissionGuard(router: Router) {
// get userinfo while last fetch time is empty
if (userStore.getLastUpdateTime === 0) {
await userStore.getUserInfoAction();
try {
await userStore.getUserInfoAction();
} catch (err) {
next();
return;
}
}
if (permissionStore.getIsDynamicAddedRoute) {
......
......@@ -128,10 +128,12 @@ export const useUserStore = defineStore({
* @description: logout
*/
async logout(goLogin = false) {
try {
await doLogout();
} catch {
console.log('注销Token失败');
if (this.token) {
try {
await doLogout();
} catch {
console.log('注销Token失败');
}
}
this.setToken(undefined);
this.setSessionTimeout(false);
......
......@@ -28,9 +28,9 @@ export function checkStatus(
// Jump to the login page if not logged in, and carry the path of the current page
// Return to the current page after successful login. This step needs to be operated on the login page.
case 401:
errMessage = t('sys.api.errMsg401');
userStore.setToken(undefined);
errMessage = msg || t('sys.api.errMsg401');
if (stp === SessionTimeoutProcessingEnum.PAGE_COVERAGE) {
userStore.setToken(undefined);
userStore.setSessionTimeout(true);
} else {
userStore.logout(true);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册