feat: add function of filtering menu data through authority; ⭐
新增:增加通过权限过滤菜单数据的功能;
This commit is contained in:
@@ -47,4 +47,19 @@ function hasAnyRole(required, roles) {
|
||||
}
|
||||
}
|
||||
|
||||
export {hasPermission, hasRole}
|
||||
/**
|
||||
* 根据权限配置过滤菜单数据
|
||||
* @param menuData
|
||||
* @param permissions
|
||||
* @param roles
|
||||
*/
|
||||
function filterMenu(menuData, permissions, roles) {
|
||||
menuData.forEach(menu => {
|
||||
menu.meta.invisible = !hasPermission(menu, permissions) && !hasRole(menu, roles)
|
||||
if (menu.children && menu.children.length > 0) {
|
||||
filterMenu(menu.children, permissions, roles)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export {hasPermission, hasRole, filterMenu}
|
||||
|
||||
Reference in New Issue
Block a user