Kaynağa Gözat

权限赋值问题,重复请求问题解决

tengmingxue 3 yıl önce
ebeveyn
işleme
56148a6429
1 değiştirilmiş dosya ile 17 ekleme ve 11 silme
  1. 17 11
      src/permission.js

+ 17 - 11
src/permission.js

@@ -86,17 +86,23 @@ router.beforeEach(async(to, from, next) => {
           // 获取路由
           //const accessRoutes = await store.dispatch('permission/getRouter', { sysId: '1' });
           const accessRoutes = await store.dispatch('permission/getMenuRouter', {});
-          //获取系统字典
-          const sysDics = await store.dispatch('permission/getSysDic', {});
-
-          // 获取iserver服务资源
-          const isercerSource = await store.dispatch('permission/getMapConfig', {});
-          
-          // 动态添加可访问路由
-          router.addRoutes(accessRoutes.concat(ERROR));
-          // 确保addRoutes完整的hack方法
-          next({ ...to })
-          //next()
+          if (accessRoutes && accessRoutes.length <= 0) {
+            await store.dispatch('user/resetToken')
+            Message.info('未配置功能菜单权限,请联系管理员!')
+            next(`/login`)
+            NProgress.done()
+          }
+          else { 
+            //获取系统字典
+            const sysDics = await store.dispatch('permission/getSysDic', {});
+            // 获取iserver服务资源
+            const isercerSource = await store.dispatch('permission/getMapConfig', {});  
+            // 动态添加可访问路由
+            router.addRoutes(accessRoutes.concat(ERROR));
+            // 确保addRoutes完整的hack方法
+            next({ ...to })
+            //next()
+          }
         } catch (error) {
           // 移除令牌并转到登录页以重新登录
           await store.dispatch('user/resetToken')