diff --git a/src/permission.js b/src/permission.js index 31fe0e1..e2e1e82 100644 --- a/src/permission.js +++ b/src/permission.js @@ -7,9 +7,9 @@ import { isHttp } from '@/utils/validate' import useUserStore from '@/store/modules/user' import useSettingsStore from '@/store/modules/settings' import usePermissionStore from '@/store/modules/permission' -NProgress.configure({ showSpinner: false }); +NProgress.configure({ showSpinner: false }) -const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/socialLogin']; +const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/socialLogin'] router.beforeEach((to, from, next) => { NProgress.start() @@ -22,22 +22,29 @@ router.beforeEach((to, from, next) => { } else { if (useUserStore().roles.length === 0) { // 判断当前用户是否已拉取完user_info信息 - useUserStore().getInfo().then(() => { - usePermissionStore().generateRoutes().then(accessRoutes => { - // 根据roles权限生成可访问的路由表 - accessRoutes.forEach(route => { - if (!isHttp(route.path)) { - router.addRoute(route) // 动态添加可访问路由表 - } - }) - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + useUserStore() + .getInfo() + .then(() => { + usePermissionStore() + .generateRoutes() + .then((accessRoutes) => { + // 根据roles权限生成可访问的路由表 + accessRoutes.forEach((route) => { + if (!isHttp(route.path)) { + router.addRoute(route) // 动态添加可访问路由表 + } + }) + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + }) }) - }).catch(err => { - useUserStore().logOut().then(() => { - ElMessage.error(err != undefined ? err : '登录失败') - next({ path: '/' }) + .catch((err) => { + useUserStore() + .logOut() + .then(() => { + // ElMessage.error(err != undefined ? err : '登录失败') + next({ path: '/' }) + }) }) - }) } else { next() } @@ -48,6 +55,7 @@ router.beforeEach((to, from, next) => { // 在免登录白名单,直接进入 next() } else { + console.log('to login') next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 NProgress.done() } @@ -56,4 +64,4 @@ router.beforeEach((to, from, next) => { router.afterEach(() => { NProgress.done() -}) \ No newline at end of file +})