瀏覽代碼

bug 修复

lilei 4 年之前
父節點
當前提交
80d8111d6e
共有 1 個文件被更改,包括 41 次插入43 次删除
  1. 41 43
      src/permission.js

+ 41 - 43
src/permission.js

@@ -10,8 +10,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
-// const whiteList = ['login', 'register', 'registerResult', 'EvaluationPlan', 'EvaluationItem', 'tenantsList'] // no redirect whitelist
-const whiteList = ['login', 'register', 'registerResult', 'hsfenlei'] // no redirect whitelist
+const whiteList = ['login'] // no redirect whitelist
 const defaultRoutePath = '/home'
 
 router.beforeEach((to, from, next) => {
@@ -19,7 +18,7 @@ router.beforeEach((to, from, next) => {
   to.meta && (typeof to.meta.title !== 'undefined' && setDocumentTitle(`${to.meta.title} - ${domTitle}`))
   let token = store.state.user.token || sessionStorage.getItem(ACCESS_TOKEN)
   token = token != 'undefined' ? token : ''
-  // console.log(token)
+  console.log(token == 'null')
   // 已登录
   if (token) {
     /* has token */
@@ -31,51 +30,50 @@ router.beforeEach((to, from, next) => {
       console.log(userInfo)
       if (userInfo) {
         store.dispatch('SetInfo', userInfo)
-      } else {
-        store.dispatch('Logout').then(() => {
-          next({ path: '/user/login', query: { redirect: to.fullPath } })
-        })
-      }
-      console.log(store.getters.roles)
-      if (store.getters.roles.permissionList.length === 0 && (token != 'null')) {
-        store
-          .dispatch('GetInfo', token)
-          .then(res => {
-            const roles = res
-            console.log(roles, 'roles')
-            if (roles.permissionList.length == 0 || !roles) {
-              store.dispatch('Logout').then(() => {
-                store.dispatch('ResetRoutes').then(() => {
-                  next({ path: '/user/login', query: { redirect: to.fullPath } })
+        if (store.getters.roles.permissionList.length === 0 && (token != 'null')) {
+          store
+            .dispatch('GetInfo', token)
+            .then(res => {
+              const roles = res
+              console.log(roles, 'roles')
+              if (roles.permissionList.length == 0 || !roles) {
+                store.dispatch('Logout').then(() => {
+                  store.dispatch('ResetRoutes').then(() => {
+                    next({ path: '/user/login', query: { redirect: to.fullPath } })
+                  })
+                })
+              } else {
+                store.dispatch('GenerateRoutes', { roles }).then(() => {
+                  // 根据roles权限生成可访问的路由表
+                  // 动态添加可访问路由表
+                  // router.addRoutes(store.getters.addRouters)
+                  const redirect = decodeURIComponent(from.query.redirect || to.path)
+                  if (to.path === redirect) {
+                    // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+                    next({ ...to, replace: true })
+                  } else {
+                    // 跳转到目的路由
+                    next({ path: redirect })
+                  }
                 })
+              }
+            })
+            .catch(() => {
+              notification.error({
+                message: '错误',
+                description: '请求用户信息失败,请重试'
               })
-            } else {
-              store.dispatch('GenerateRoutes', { roles }).then(() => {
-                // 根据roles权限生成可访问的路由表
-                // 动态添加可访问路由表
-                // router.addRoutes(store.getters.addRouters)
-                const redirect = decodeURIComponent(from.query.redirect || to.path)
-                if (to.path === redirect) {
-                  // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
-                  next({ ...to, replace: true })
-                } else {
-                  // 跳转到目的路由
-                  next({ path: redirect })
-                }
+              store.dispatch('Logout').then(() => {
+                next({ path: '/user/login', query: { redirect: to.fullPath } })
               })
-            }
-          })
-          .catch(() => {
-            notification.error({
-              message: '错误',
-              description: '请求用户信息失败,请重试'
-            })
-            store.dispatch('Logout').then(() => {
-              next({ path: '/user/login', query: { redirect: to.fullPath } })
             })
-          })
+        } else {
+          next()
+        }
       } else {
-        next()
+        store.dispatch('Logout').then(() => {
+          next({ path: '/user/login', query: { redirect: to.fullPath } })
+        })
       }
     }
   } else {