zhuxinbo 5 år sedan
förälder
incheckning
724c2e043e
1 ändrade filer med 95 tillägg och 89 borttagningar
  1. 95 89
      src/store/modules/permission.js

+ 95 - 89
src/store/modules/permission.js

@@ -1,90 +1,96 @@
-import {asyncRouterMap, constantRouterMap} from "@/config/router.config"
-
-/**
- * 过滤账户是否拥有某一个权限,并将菜单从加载列表移除
- *
- * @param permission
- * @param route
- * @returns {boolean}
- */
-function hasPermission(permission, route) {
-  if (route.meta && route.meta.permission) {
-    let flag = -1
-    for (let i = 0, len = permission.length; i < len; i++) {
-      flag = route.meta.permission.indexOf(permission[i])
-      if (flag >= 0) {
-        return true
-      }
-    }
-    return false
-  }
-  return true
-}
-
-/**
- * 单账户多角色时,使用该方法可过滤角色不存在的菜单
- *
- * @param roles
- * @param route
- * @returns {*}
- */
-// eslint-disable-next-line
-function hasRole(roles, route) {
-  if (route.meta && route.meta.roles) {
-    return route.meta.roles.indexOf(roles.id)
-  } else {
-    return true
-  }
-}
-
-function filterAsyncRouter(routerMap, roles) {
-  const accessedRouters = routerMap.filter(route => {
-    if (hasPermission(roles.permissionList, route)) {
-      if (route.children && route.children.length) {
-        route.children = filterAsyncRouter(route.children, roles)
-      }
-      return true
-    }
-    return false
-  })
-  return accessedRouters
-}
-
-
-const permission = {
-  state: {
-    routers: constantRouterMap,
-    addRouters: []
-  },
-  mutations: {
-    SET_ROUTERS: (state, data) => {
-      state.addRouters = data
-      state.routers = constantRouterMap.concat(data)
-      console.log('-----mutations---SET_ROUTERS----', data)
-    }
-  },
-  actions: {
-    GenerateRoutes({commit}, data) {
-      return new Promise(resolve => {
-        const {roles} = data
-        console.log('-----mutations---data----', data)
-        let accessedRouters
-        accessedRouters = filterAsyncRouter(asyncRouterMap, roles)
-        console.log('-----mutations---accessedRouters----', accessedRouters)
-        commit('SET_ROUTERS', accessedRouters)
-        resolve()
-      })
-    },
-    // 动态添加主界面路由,需要缓存
-    UpdateAppRouter({commit}, routes) {
-      return new Promise(resolve => {
-        //const [ roles ] = routes.constRoutes
-        let routelist = routes.constRoutes;
-        commit('SET_ROUTERS', routelist)
-        resolve()
-      })
-    }
-  }
-}
-
+import {asyncRouterMap, constantRouterMap} from "@/config/router.config"
+
+/**
+ * 过滤账户是否拥有某一个权限,并将菜单从加载列表移除
+ *
+ * @param permission
+ * @param route
+ * @returns {boolean}
+ */
+function hasPermission(permission, route) {
+  if (route.meta && route.meta.permission) {
+    let flag = -1
+    for (let i = 0, len = permission.length; i < len; i++) {
+      flag = route.meta.permission.indexOf(permission[i])
+      if (flag >= 0) {
+        return true
+      }
+    }
+    return false
+  }
+  return true
+}
+
+/**
+ * 单账户多角色时,使用该方法可过滤角色不存在的菜单
+ *
+ * @param roles
+ * @param route
+ * @returns {*}
+ */
+// eslint-disable-next-line
+function hasRole(roles, route) {
+  if (route.meta && route.meta.roles) {
+    return route.meta.roles.indexOf(roles.id)
+  } else {
+    return true
+  }
+}
+
+function filterAsyncRouter(routerMap, roles) {
+  const accessedRouters = routerMap.filter(route => {
+    if (hasPermission(roles.permissionList, route)) {
+      if (route.children && route.children.length) {
+        route.children = filterAsyncRouter(route.children, roles)
+      }
+      return true
+    }
+    return false
+  })
+  return accessedRouters
+}
+
+
+const permission = {
+  state: {
+    routers: constantRouterMap,
+    addRouters: []
+  },
+  mutations: {
+    SET_ROUTERS: (state, data) => {
+      state.addRouters = data
+      state.routers = constantRouterMap.concat(data)
+      console.log('-----mutations---SET_ROUTERS----', data)
+    }
+  },
+  actions: {
+    GenerateRoutes({commit}, data) {
+      return new Promise(resolve => {
+        const {roles} = data
+        console.log('-----mutations---data----', data)
+        let accessedRouters
+        accessedRouters = filterAsyncRouter(asyncRouterMap, roles)
+        console.log('-----mutations---accessedRouters----', accessedRouters)
+        commit('SET_ROUTERS', accessedRouters)
+        resolve()
+      })
+    },
+    // 动态添加主界面路由,需要缓存
+    UpdateAppRouter({commit}, routes) {
+      return new Promise((resolve,reject) => {
+        //const [ roles ] = routes.constRoutes
+        let routelist = routes.constRoutes;
+        console.log(routelist,98471293847219)
+        commit('SET_ROUTERS', routelist)
+        if(routelist){
+            resolve()
+        }else{
+            reject()
+        }
+        
+      })
+    }
+  }
+}
+
 export default permission