update route access judge function

This commit is contained in:
tao.z 2018-07-26 11:20:59 +08:00
parent 6161ca841c
commit 78106687bc
1 changed files with 8 additions and 13 deletions

View File

@ -131,29 +131,24 @@ const hasAccess = (access, route) => {
}
/**
* 权鉴
* @param {*} name 即将跳转的路由name
* @param {*} access 用户权限数组
* @param {*} routes 路由列表
* @description 用户是否可跳转到该页
*/
export const canTurnTo = (name, access, routes) => {
const getHasAccessRouteNames = (list) => {
let res = []
list.forEach(item => {
const routePermissionJudge = (list) => {
return list.some(item => {
if (item.children && item.children.length) {
res = [].concat(res, getHasAccessRouteNames(item.children))
} else {
if (item.meta && item.meta.access) {
if (hasAccess(access, item)) res.push(item.name)
} else {
res.push(item.name)
}
return routePermissionJudge(item.children)
} else if (item.name === name) {
return hasAccess(access, item)
}
})
return res
}
const canTurnToNames = getHasAccessRouteNames(routes)
return canTurnToNames.indexOf(name) > -1
return routePermissionJudge(routes)
}
/**