|
@@ -53,11 +53,21 @@ const staticMenus: Menu[] = [];
|
|
|
|
|
|
async function getAsyncMenus() {
|
|
|
const permissionStore = usePermissionStore();
|
|
|
+ //递归过滤所有隐藏的菜单
|
|
|
+ const menuFilter = (items) => {
|
|
|
+ return items.filter((item) => {
|
|
|
+ const show = !item.meta?.hideMenu && !item.hideMenu;
|
|
|
+ if (show && item.children) {
|
|
|
+ item.children = menuFilter(item.children);
|
|
|
+ }
|
|
|
+ return show;
|
|
|
+ });
|
|
|
+ };
|
|
|
if (isBackMode()) {
|
|
|
- return permissionStore.getBackMenuList.filter((item) => !item.meta?.hideMenu && !item.hideMenu);
|
|
|
+ return menuFilter(permissionStore.getBackMenuList);
|
|
|
}
|
|
|
if (isRouteMappingMode()) {
|
|
|
- return permissionStore.getFrontMenuList.filter((item) => !item.hideMenu);
|
|
|
+ return menuFilter(permissionStore.getFrontMenuList);
|
|
|
}
|
|
|
return staticMenus;
|
|
|
}
|