@@ -7,13 +7,14 @@ import { useUserStore } from './user';
7
7
import { useAppStoreWithOut } from './app' ;
8
8
import { toRaw } from 'vue' ;
9
9
import { transformObjToRoute , flatMultiLevelRoutes } from '@/router/helper/routeHelper' ;
10
- import { transformRouteToMenu } from '@/router/helper/menuHelper' ;
10
+ import { transformRouteToMenu , transformMenuModules } from '@/router/helper/menuHelper' ;
11
11
12
12
import projectSetting from '@/settings/projectSetting' ;
13
13
14
14
import { PermissionModeEnum } from '@/enums/appEnum' ;
15
15
16
16
import { asyncRoutes } from '@/router/routes' ;
17
+ import { menuModules } from '@/router/menus' ;
17
18
import { ERROR_LOG_ROUTE , PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic' ;
18
19
19
20
import { filter } from '@/utils/helper/treeHelper' ;
@@ -39,6 +40,7 @@ interface PermissionState {
39
40
backMenuList : Menu [ ] ;
40
41
// 菜单列表
41
42
frontMenuList : Menu [ ] ;
43
+ staticMenuList : Menu [ ] ;
42
44
}
43
45
44
46
export const usePermissionStore = defineStore ( {
@@ -58,6 +60,7 @@ export const usePermissionStore = defineStore({
58
60
// menu List
59
61
// 菜单列表
60
62
frontMenuList : [ ] ,
63
+ staticMenuList : [ ] ,
61
64
} ) ,
62
65
getters : {
63
66
getPermCodeList ( state ) : string [ ] | number [ ] {
@@ -69,6 +72,9 @@ export const usePermissionStore = defineStore({
69
72
getFrontMenuList ( state ) : Menu [ ] {
70
73
return state . frontMenuList ;
71
74
} ,
75
+ getStaticMenuList ( state ) : Menu [ ] {
76
+ return state . staticMenuList ;
77
+ } ,
72
78
getLastBuildMenuTime ( state ) : number {
73
79
return state . lastBuildMenuTime ;
74
80
} ,
@@ -90,6 +96,10 @@ export const usePermissionStore = defineStore({
90
96
this . frontMenuList = list ;
91
97
} ,
92
98
99
+ setStaticMenuList ( list : Menu [ ] ) {
100
+ this . staticMenuList = list ;
101
+ } ,
102
+
93
103
setLastBuildMenuTime ( ) {
94
104
this . lastBuildMenuTime = new Date ( ) . getTime ( ) ;
95
105
} ,
@@ -171,6 +181,12 @@ export const usePermissionStore = defineStore({
171
181
switch ( permissionMode ) {
172
182
// 角色权限
173
183
case PermissionModeEnum . ROLE :
184
+ const staticMenuList = transformMenuModules ( menuModules ) ;
185
+ staticMenuList . sort ( ( a , b ) => {
186
+ return ( a . orderNo || 0 ) - ( b . orderNo || 0 ) ;
187
+ } ) ;
188
+ // 设置菜单列表
189
+ this . setStaticMenuList ( staticMenuList ) ;
174
190
// 对非一级路由进行过滤
175
191
routes = filter ( asyncRoutes , routeFilter ) ;
176
192
// 对一级路由根据角色权限过滤
0 commit comments