From 3859c26f42489e2c53fbe924e814027b8a86fafd Mon Sep 17 00:00:00 2001
From: Hooray <304327508@qq.com>
Date: Mon, 9 Jun 2025 23:49:35 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9D=83=E9=99=90?=
=?UTF-8?q?=E6=9C=AA=E5=BC=80=E5=90=AF=E6=97=B6=E8=8F=9C=E5=8D=95=E6=9C=AA?=
=?UTF-8?q?=E8=BF=87=E6=BB=A4=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5=B9=B6?=
=?UTF-8?q?=E7=AE=80=E5=8C=96=E8=8F=9C=E5=8D=95=E8=BF=87=E6=BB=A4=E9=80=BB?=
=?UTF-8?q?=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/menu.ts | 35 +++++------------------------------
1 file changed, 5 insertions(+), 30 deletions(-)
diff --git a/src/store/modules/menu.ts b/src/store/modules/menu.ts
index c64cfb45..f877c427 100755
--- a/src/store/modules/menu.ts
+++ b/src/store/modules/menu.ts
@@ -6,14 +6,12 @@ import menu from '@/menu'
import { resolveRoutePath } from '@/utils'
import useRouteStore from './route'
import useSettingsStore from './settings'
-import useUserStore from './user'
const useMenuStore = defineStore(
// 唯一ID
'menu',
() => {
const settingsStore = useSettingsStore()
- const userStore = useUserStore()
const routeStore = useRouteStore()
const filesystemMenusRaw = ref
([])
@@ -78,10 +76,7 @@ const useMenuStore = defineStore(
else {
returnMenus = filesystemMenusRaw.value
}
- // 如果权限功能开启,则需要对导航数据进行筛选过滤
- if (settingsStore.settings.app.enablePermission) {
- returnMenus = filterAsyncMenus(returnMenus, userStore.permissions)
- }
+ returnMenus = filterAsyncMenus(returnMenus)
return returnMenus
})
// 次导航数据
@@ -155,35 +150,15 @@ const useMenuStore = defineStore(
return defaultOpenedPaths
}
- // 判断是否有权限
- function hasPermission(permissions: string[], menu: Menu.recordMainRaw | Menu.recordRaw) {
- let isAuth = false
- if (menu.meta?.auth) {
- isAuth = permissions.some((auth) => {
- if (typeof menu.meta?.auth === 'string') {
- return menu.meta.auth !== '' ? menu.meta.auth === auth : true
- }
- else if (typeof menu.meta?.auth === 'object') {
- return menu.meta.auth.length > 0 ? menu.meta.auth.includes(auth) : true
- }
- else {
- return false
- }
- })
- }
- else {
- isAuth = true
- }
- return isAuth
- }
+ const auth = useAuth()
// 根据权限过滤导航
- function filterAsyncMenus(menus: T, permissions: string[]): T {
+ function filterAsyncMenus(menus: T): T {
const res: any = []
menus.forEach((menu) => {
- if (hasPermission(permissions, menu)) {
+ if (auth.auth(menu.meta?.auth ?? '')) {
const tmpMenu = cloneDeep(menu)
if (tmpMenu.children && tmpMenu.children.length > 0) {
- tmpMenu.children = filterAsyncMenus(tmpMenu.children, permissions) as Menu.recordRaw[]
+ tmpMenu.children = filterAsyncMenus(tmpMenu.children) as Menu.recordRaw[]
tmpMenu.children.length > 0 && res.push(tmpMenu)
}
else {