Commit 26bd4aeba612e87f49e5b9694d3b4eeff5016a84

Authored by mfish
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): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单
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 }