解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单 (#2484)

* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应

* fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题

* fix(axiosRetry): 参数首字母小写

* fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题

* feat(useDataSource): 删除之前提交代码遗留的console

* fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单
This commit is contained in:
mfish
2023-01-07 03:08:52 +08:00
committed by GitHub
parent 61d6057fa4
commit 26bd4aeba6
2 changed files with 13 additions and 4 deletions

View File

@@ -46,8 +46,7 @@ export function createPermissionGuard(router: Router) {
next();
return;
}
// token does not exist
// token or user does not exist
if (!token) {
// You can access without permission. You need to set the routing meta.ignoreAuth to true
if (to.meta.ignoreAuth) {

View File

@@ -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;
}