Browse Source

perf: 优化路由守卫

i18n
xiaoxian521 2 years ago
parent
commit
d0d02d7128
  1. 8
      src/router/index.ts

8
src/router/index.ts

@ -109,6 +109,10 @@ router.beforeEach((to: toRouteType, _from, next) => {
else document.title = transformI18n(item.meta.title);
});
}
/** 如果已经登录并存在登录信息后不能跳转到路由白名单,而是继续保持在当前页面 */
function toCorrectRoute() {
whiteList.includes(to.fullPath) ? next(_from.fullPath) : next();
}
if (userInfo) {
// 无权限跳转403页面
if (to.meta?.roles && !isOneOfArray(to.meta?.roles, userInfo?.roles)) {
@ -120,7 +124,7 @@ router.beforeEach((to: toRouteType, _from, next) => {
openLink(to?.name as string);
NProgress.done();
} else {
next();
toCorrectRoute();
}
} else {
// 刷新
@ -150,7 +154,7 @@ router.beforeEach((to: toRouteType, _from, next) => {
}
router.push(to.fullPath);
});
next();
toCorrectRoute();
}
} else {
if (to.path !== "/login") {

Loading…
Cancel
Save