quanyawei
2024-04-03 b74ea56001fba65e67d9b39a5757dab4e4036858
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import aclService from './AclService';
 
/**
 * 菜单权限
 * 根据权限判断调整菜单
 * @param menulist 菜单列表
 * @param permissionSource 已授权权限列表
 */
export function menuPemission(menulist: any[], permissionSource: any[]): any[] {
  const result: any[] = [];
  menulist.forEach( (item: any) => {
      if (item.children && item.children.length > 0) {
        item.children = menuPemission(item.children, permissionSource);
      } else {
        item.children = [];
      }
 
      if (item.meta !== undefined && item.meta.acl !== undefined) {
        if (aclService.canPermission(permissionSource, item.meta.acl.ability)) {
          result.push(item);
        }
      } else {
        result.push(item);
      }
  });
  return result;
}