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

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

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

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

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

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

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

* fix(permissionGuard): 代码还原

* fix(menu): 解决隐藏菜单目录只能隐藏第一层目录的问题,递归隐藏所有子菜单
2个文件已修改
17 ■■■■ 已修改文件
src/router/guard/permissionGuard.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/menus/index.ts 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/guard/permissionGuard.ts
@@ -46,8 +46,7 @@
      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) {
src/router/menus/index.ts
@@ -53,11 +53,21 @@
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;
}