From 439e3b0f076280311b7cd4251a95820730242780 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 07 八月 2024 10:43:33 +0800 Subject: [PATCH] 一些更新 --- src/hooks/web/usePermission.ts | 34 ++++++++++++++++++++++------------ 1 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/hooks/web/usePermission.ts b/src/hooks/web/usePermission.ts index c367875..7853cf7 100644 --- a/src/hooks/web/usePermission.ts +++ b/src/hooks/web/usePermission.ts @@ -1,21 +1,21 @@ import type { RouteRecordRaw } from 'vue-router'; -import { useAppStore } from '/@/store/modules/app'; -import { usePermissionStore } from '/@/store/modules/permission'; -import { useUserStore } from '/@/store/modules/user'; +import { useAppStore } from '@/store/modules/app'; +import { usePermissionStore } from '@/store/modules/permission'; +import { useUserStore } from '@/store/modules/user'; import { useTabs } from './useTabs'; -import { router, resetRouter } from '/@/router'; -// import { RootRoute } from '/@/router/routes'; +import { router, resetRouter } from '@/router'; +// import { RootRoute } from '@/router/routes'; -import projectSetting from '/@/settings/projectSetting'; -import { PermissionModeEnum } from '/@/enums/appEnum'; -import { RoleEnum } from '/@/enums/roleEnum'; +import projectSetting from '@/settings/projectSetting'; +import { PermissionModeEnum } from '@/enums/appEnum'; +import { RoleEnum } from '@/enums/roleEnum'; import { intersection } from 'lodash-es'; -import { isArray } from '/@/utils/is'; -import { useMultipleTabStore } from '/@/store/modules/multipleTab'; +import { isArray } from '@/utils/is'; +import { useMultipleTabStore } from '@/store/modules/multipleTab'; // User permissions related operations export function usePermission() { @@ -40,16 +40,18 @@ /** * Reset and regain authority resource information * 閲嶇疆鍜岄噸鏂拌幏寰楁潈闄愯祫婧愪俊鎭� - * @param id */ async function resume() { const tabStore = useMultipleTabStore(); tabStore.clearCacheTabs(); resetRouter(); + + // 鍔ㄦ�佸姞杞借矾鐢憋紙鍐嶆锛� const routes = await permissionStore.buildRoutesAction(); routes.forEach((route) => { router.addRoute(route as unknown as RouteRecordRaw); }); + permissionStore.setLastBuildMenuTime(); closeAll(); } @@ -63,7 +65,7 @@ return def; } - const permMode = projectSetting.permissionMode; + const permMode = appStore.getProjectConfig.permissionMode; if ([PermissionModeEnum.ROUTE_MAPPING, PermissionModeEnum.ROLE].includes(permMode)) { if (!isArray(value)) { @@ -75,6 +77,14 @@ if (PermissionModeEnum.BACK === permMode) { const allCodeList = permissionStore.getPermCodeList as string[]; if (!isArray(value)) { + const splits = ['||', '&&']; + const splitName = splits.find((item) => value.includes(item)); + if (splitName) { + const splitCodes = value.split(splitName); + return splitName === splits[0] + ? intersection(splitCodes, allCodeList).length > 0 + : intersection(splitCodes, allCodeList).length === splitCodes.length; + } return allCodeList.includes(value); } return (intersection(value, allCodeList) as string[]).length > 0; -- Gitblit v1.9.3