Commit 26bd4aeba612e87f49e5b9694d3b4eeff5016a84
Committed by
GitHub
1 parent
61d6057f
解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单 (#2484)
* feat(axiosSuccess): 操作成功后根据传入提示模式进行相应 * fix(axiosRetry): 解决get重试请求返回的headers造成无法成功请求的问题 * fix(axiosRetry): 参数首字母小写 * fix(useDataSource): 解决deleteTableRecord删除树形表格的行记录时,无法删除,无法找到子节点的问题 * feat(useDataSource): 删除之前提交代码遗留的console * fix(permissionGuard): 当获取用户信息失败时,不允许正常登陆返回登陆界面 * fix(permissionGuard): 代码还原 * fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单
Showing
2 changed files
with
13 additions
and
4 deletions
src/router/guard/permissionGuard.ts
@@ -46,8 +46,7 @@ export function createPermissionGuard(router: Router) { | @@ -46,8 +46,7 @@ export function createPermissionGuard(router: Router) { | ||
46 | next(); | 46 | next(); |
47 | return; | 47 | return; |
48 | } | 48 | } |
49 | - | ||
50 | - // token does not exist | 49 | + // token or user does not exist |
51 | if (!token) { | 50 | if (!token) { |
52 | // You can access without permission. You need to set the routing meta.ignoreAuth to true | 51 | // You can access without permission. You need to set the routing meta.ignoreAuth to true |
53 | if (to.meta.ignoreAuth) { | 52 | if (to.meta.ignoreAuth) { |
src/router/menus/index.ts
@@ -53,11 +53,21 @@ const staticMenus: Menu[] = []; | @@ -53,11 +53,21 @@ const staticMenus: Menu[] = []; | ||
53 | 53 | ||
54 | async function getAsyncMenus() { | 54 | async function getAsyncMenus() { |
55 | const permissionStore = usePermissionStore(); | 55 | const permissionStore = usePermissionStore(); |
56 | + //递归过滤所有隐藏的菜单 | ||
57 | + const menuFilter = (items) => { | ||
58 | + return items.filter((item) => { | ||
59 | + const show = !item.meta?.hideMenu && !item.hideMenu; | ||
60 | + if (show && item.children) { | ||
61 | + item.children = menuFilter(item.children); | ||
62 | + } | ||
63 | + return show; | ||
64 | + }); | ||
65 | + }; | ||
56 | if (isBackMode()) { | 66 | if (isBackMode()) { |
57 | - return permissionStore.getBackMenuList.filter((item) => !item.meta?.hideMenu && !item.hideMenu); | 67 | + return menuFilter(permissionStore.getBackMenuList); |
58 | } | 68 | } |
59 | if (isRouteMappingMode()) { | 69 | if (isRouteMappingMode()) { |
60 | - return permissionStore.getFrontMenuList.filter((item) => !item.hideMenu); | 70 | + return menuFilter(permissionStore.getFrontMenuList); |
61 | } | 71 | } |
62 | return staticMenus; | 72 | return staticMenus; |
63 | } | 73 | } |