|
@@ -10,6 +10,10 @@ import cloneDeep from 'lodash.clonedeep'
|
|
|
*/
|
|
|
function hasPermission (permission, route) {
|
|
|
if (route.meta && route.meta.permission) {
|
|
|
+ console.log('hasPermission', permission)
|
|
|
+ if (permission === undefined) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
let flag = false
|
|
|
for (let i = 0, len = permission.length; i < len; i++) {
|
|
|
flag = route.meta.permission.includes(permission[i])
|
|
@@ -38,11 +42,11 @@ function hasRole(roles, route) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function filterAsyncRouter (routerMap, roles) {
|
|
|
+function filterAsyncRouter (routerMap, role) {
|
|
|
const accessedRouters = routerMap.filter(route => {
|
|
|
- if (hasPermission(roles.permissionList, route)) {
|
|
|
+ if (hasPermission(role.permissionList, route)) {
|
|
|
if (route.children && route.children.length) {
|
|
|
- route.children = filterAsyncRouter(route.children, roles)
|
|
|
+ route.children = filterAsyncRouter(route.children, role)
|
|
|
}
|
|
|
return true
|
|
|
}
|
|
@@ -65,9 +69,9 @@ const permission = {
|
|
|
actions: {
|
|
|
GenerateRoutes ({ commit }, data) {
|
|
|
return new Promise(resolve => {
|
|
|
- const { roles } = data
|
|
|
+ const { role } = data
|
|
|
const routerMap = cloneDeep(asyncRouterMap)
|
|
|
- const accessedRouters = filterAsyncRouter(routerMap, roles)
|
|
|
+ const accessedRouters = filterAsyncRouter(routerMap, role)
|
|
|
commit('SET_ROUTERS', accessedRouters)
|
|
|
resolve()
|
|
|
})
|