Browse Source

调整permission

dqcalymail 2 years ago
parent
commit
8638807782
1 changed files with 19 additions and 9 deletions
  1. 19 9
      src/permission.js

+ 19 - 9
src/permission.js

xqd xqd
@@ -8,7 +8,7 @@ import getPageTitle from '@/utils/get-page-title'
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
-const whiteList = ['/login','/register'] // no redirect whitelist
+const whiteList = ['/login', '/register'] // no redirect whitelist
 
 router.beforeEach(async(to, from, next) => {
   // start progress bar
@@ -26,21 +26,31 @@ router.beforeEach(async(to, from, next) => {
       next()
       NProgress.done()
     } else {
-      try {
+      if ($store.getters.addRouters.length && to.name !== null) {
+        next()
+      } else {
         const userInfo = await $store.dispatch('user/ActionUserInfo')
         $store.dispatch('permission/GenerateRoutes', userInfo).then(() => { // 生成可访问的路由表
           router.addRoutes($store.getters.addRouters) // 动态添加可访问路由表
           router.options.routes = $store.getters.addRouters
           next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
         })
-        next()
-      } catch (error) {
-        // remove token and go to login page to re-login
-        await $store.dispatch('user/resetToken')
-        Message.error(error || 'Has Error')
-        next(`/login?redirect=${to.path}`)
-        NProgress.done()
       }
+      // try {
+      //   const userInfo = await $store.dispatch('user/ActionUserInfo')
+      //   $store.dispatch('permission/GenerateRoutes', userInfo).then(() => { // 生成可访问的路由表
+      //     router.addRoutes($store.getters.addRouters) // 动态添加可访问路由表
+      //     router.options.routes = $store.getters.addRouters
+      //     next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+      //   })
+      //   next()
+      // } catch (error) {
+      //   // remove token and go to login page to re-login
+      //   await $store.dispatch('user/resetToken')
+      //   Message.error(error || 'Has Error')
+      //   next(`/login?redirect=${to.path}`)
+      //   NProgress.done()
+      // }
       // const hasGetUserInfo = $store.getters.name
       // if (hasGetUserInfo) {
       //   next()