功能:隐藏 ROI 菜单项,ROI 配置已整合到摄像头管理中

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-18 16:32:33 +08:00
parent 72b97453d3
commit 8d5f2f138d

View File

@@ -137,12 +137,31 @@ export const useAuthStore = defineStore('auth', () => {
// userStore
userStore.setUserInfo(authPermissionInfo.user);
userStore.setUserRoles(authPermissionInfo.roles);
// accessStore
accessStore.setAccessMenus(authPermissionInfo.menus);
// accessStore - 隐藏不需要的菜单项(保留路由,仅侧边栏不显示)
const processedMenus = hideMenuItems(authPermissionInfo.menus);
accessStore.setAccessMenus(processedMenus);
accessStore.setAccessCodes(authPermissionInfo.permissions);
return authPermissionInfo;
}
/** 递归标记菜单为隐藏visible=false保留路由可直接访问 */
function hideMenuItems(menus: any[]): any[] {
// 需要从侧边栏隐藏的菜单路径ROI 区域配置已整合到摄像头管理中)
const hiddenPaths = new Set(['roi']);
const hiddenNameKeywords = ['ROI', 'roi'];
return menus.map((menu) => {
const shouldHide =
hiddenPaths.has(menu.path) ||
(menu.name &&
hiddenNameKeywords.some((kw: string) => menu.name.includes(kw)));
return {
...menu,
visible: shouldHide ? false : menu.visible,
children: menu.children ? hideMenuItems(menu.children) : menu.children,
};
});
}
function $reset() {
loginLoading.value = false;
}