diff --git a/apps/web-antd/src/store/auth.ts b/apps/web-antd/src/store/auth.ts index dcef71175..f7c59bbff 100644 --- a/apps/web-antd/src/store/auth.ts +++ b/apps/web-antd/src/store/auth.ts @@ -138,7 +138,18 @@ export const useAuthStore = defineStore('auth', () => { userStore.setUserInfo(authPermissionInfo.user); userStore.setUserRoles(authPermissionInfo.roles); // accessStore - accessStore.setAccessMenus(authPermissionInfo.menus); + // 过滤掉 visible=false 的菜单项(含子菜单递归过滤) + const filterVisibleMenus = (menus: any[]): any[] => { + return menus + .filter((menu) => menu.visible !== false) + .map((menu) => ({ + ...menu, + children: menu.children + ? filterVisibleMenus(menu.children) + : undefined, + })); + }; + accessStore.setAccessMenus(filterVisibleMenus(authPermissionInfo.menus)); accessStore.setAccessCodes(authPermissionInfo.permissions); return authPermissionInfo; }