This commit is contained in:
zlwu committed 2026-06-14 09:14:11 +08:00
1 parent 5ad07c8cac
commit a79aee2614
61 files changed
+9220 -9348

No files matched your search

+4 -8
View File
@@ -115,24 +115,20 @@ export class MenuProcessor {
}
/**
* 根据 menu code 过滤菜单(仅补齐顶级父菜单)
* 根据 menu code 过滤菜单(保留有权限的叶子及其各级父目录)
*/
private filterMenuByCodes(
menu: AppRouteRecord[],
codes: Set<string>,
level = 1
): AppRouteRecord[] {
private filterMenuByCodes(menu: AppRouteRecord[], codes: Set<string>): AppRouteRecord[] {
return menu.reduce((acc: AppRouteRecord[], item) => {
const rawCode = (item.meta as any)?.menuCode ?? item.name
const code = this.normalizeMenuCode(rawCode)
const hasSelfPermission = !!code && codes.has(code)
const filteredChildren = item.children?.length
? this.filterMenuByCodes(item.children, codes, level + 1)
? this.filterMenuByCodes(item.children, codes)
: item.children
const shouldKeep =
hasSelfPermission ||
(level === 1 && Array.isArray(filteredChildren) && filteredChildren.length > 0)
(Array.isArray(filteredChildren) && filteredChildren.length > 0)
if (shouldKeep) {
acc.push({