@@ -6,14 +6,12 @@ import menu from '@/menu'
66import { resolveRoutePath } from '@/utils'
77import useRouteStore from './route'
88import useSettingsStore from './settings'
9- import useUserStore from './user'
109
1110const useMenuStore = defineStore (
1211 // 唯一ID
1312 'menu' ,
1413 ( ) => {
1514 const settingsStore = useSettingsStore ( )
16- const userStore = useUserStore ( )
1715 const routeStore = useRouteStore ( )
1816
1917 const filesystemMenusRaw = ref < Menu . recordMainRaw [ ] > ( [ ] )
@@ -78,10 +76,7 @@ const useMenuStore = defineStore(
7876 else {
7977 returnMenus = filesystemMenusRaw . value
8078 }
81- // 如果权限功能开启,则需要对导航数据进行筛选过滤
82- if ( settingsStore . settings . app . enablePermission ) {
83- returnMenus = filterAsyncMenus ( returnMenus , userStore . permissions )
84- }
79+ returnMenus = filterAsyncMenus ( returnMenus )
8580 return returnMenus
8681 } )
8782 // 次导航数据
@@ -155,35 +150,15 @@ const useMenuStore = defineStore(
155150 return defaultOpenedPaths
156151 }
157152
158- // 判断是否有权限
159- function hasPermission ( permissions : string [ ] , menu : Menu . recordMainRaw | Menu . recordRaw ) {
160- let isAuth = false
161- if ( menu . meta ?. auth ) {
162- isAuth = permissions . some ( ( auth ) => {
163- if ( typeof menu . meta ?. auth === 'string' ) {
164- return menu . meta . auth !== '' ? menu . meta . auth === auth : true
165- }
166- else if ( typeof menu . meta ?. auth === 'object' ) {
167- return menu . meta . auth . length > 0 ? menu . meta . auth . includes ( auth ) : true
168- }
169- else {
170- return false
171- }
172- } )
173- }
174- else {
175- isAuth = true
176- }
177- return isAuth
178- }
153+ const auth = useAuth ( )
179154 // 根据权限过滤导航
180- function filterAsyncMenus < T extends Menu . recordMainRaw [ ] | Menu . recordRaw [ ] > ( menus : T , permissions : string [ ] ) : T {
155+ function filterAsyncMenus < T extends Menu . recordMainRaw [ ] | Menu . recordRaw [ ] > ( menus : T ) : T {
181156 const res : any = [ ]
182157 menus . forEach ( ( menu ) => {
183- if ( hasPermission ( permissions , menu ) ) {
158+ if ( auth . auth ( menu . meta ?. auth ?? '' ) ) {
184159 const tmpMenu = cloneDeep ( menu )
185160 if ( tmpMenu . children && tmpMenu . children . length > 0 ) {
186- tmpMenu . children = filterAsyncMenus ( tmpMenu . children , permissions ) as Menu . recordRaw [ ]
161+ tmpMenu . children = filterAsyncMenus ( tmpMenu . children ) as Menu . recordRaw [ ]
187162 tmpMenu . children . length > 0 && res . push ( tmpMenu )
188163 }
189164 else {
0 commit comments