关键代码:
JAVASCRIPTfunction searchIn(itemList) {
for (let i = 0; i < itemList.length; i++) {
if (isIn) return
// 页面
if (itemList[i].authType === 2 && itemList[i].path === path && itemList[i].isChoose) {
isIn = true
}
// 菜单
if (itemList[i].authType === 1 && itemList[i].allItem && itemList[i].allItem.length > 0) {
console.log('itemList[i]',itemList[i])
searchIn(itemList[i].allItem)
}
}
}
对请求到的allMenuOrigin,进行路由查找,找到跟我们跳转的路由一致的路径,并且判断它ischoose字段,是否是true,如果是的话,那么让他通过权限,进行next()
allMenuOrigin的结构是这样的:
最上面是菜单(一级路由),allItem是里面包含的菜单或页面
加入我们要跳转的路径是“/jianding/service”,那么如果有ischoose,那么满足itemList[i].authType === 2 && itemList[i].path === path && itemList[i].isChoose,可以isIn=true,后面实现跳转。可以判断有权限,反之没有权限