cosey 0.6.25 → 0.6.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cosey",
3
- "version": "0.6.25",
3
+ "version": "0.6.27",
4
4
  "description": "基于 Vue3 + vite 的后台管理系统框架",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -1,9 +1,6 @@
1
- import { getAllStaticRoutes } from '../index.js';
2
1
  import { useGlobalConfig } from '../../config/index.js';
3
- import { useLayoutStore } from '../../store/layout.js';
4
2
  import { useUserStore } from '../../store/user.js';
5
3
  import { TOKEN_NAME, ROUTER_TO } from '../../constant.js';
6
- import { getMenus } from '../menus/index.js';
7
4
  import { usePersist } from '../../hooks/usePersist.js';
8
5
 
9
6
  function registerAuthGuard(router) {
@@ -13,7 +10,6 @@ function registerAuthGuard(router) {
13
10
  const routerConfig = useGlobalConfig().router;
14
11
  const token = persist.get(TOKEN_NAME);
15
12
  const userStore = useUserStore();
16
- const layoutStore = useLayoutStore();
17
13
  if (to.path === "/" && routerConfig.homePath !== "/") {
18
14
  return routerConfig.homePath;
19
15
  }
@@ -24,7 +20,6 @@ function registerAuthGuard(router) {
24
20
  await userStore.getUserInfo();
25
21
  await userStore.setAuthorization();
26
22
  await userStore.addDynamicRoutes();
27
- layoutStore.menus = getMenus([...getAllStaticRoutes(), ...userStore.dynamicRoutes]);
28
23
  firstTimeAddRoutes = true;
29
24
  userStore.requestedUserInfo = true;
30
25
  } catch {
package/store/layout.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { RouteMeta } from 'vue-router';
2
- import { type MenuItem } from '../router';
3
2
  export type LayoutMenuType = 'vertical' | 'biserial' | 'horizontal' | 'horizontal-vertical' | 'horizontal-biserial';
4
3
  export interface LayoutTab {
5
4
  name: string;
@@ -16,338 +15,18 @@ export declare const useLayoutStore: import("pinia").StoreDefinition<"cosey-layo
16
15
  isHorizontal: import("vue").ComputedRef<boolean>;
17
16
  isHorizontalVertical: import("vue").ComputedRef<boolean>;
18
17
  isHorizontalBiserial: import("vue").ComputedRef<boolean>;
19
- menus: import("vue").Ref<{
20
- name: string;
21
- path?: string | undefined;
22
- title?: string | undefined;
23
- icon?: string | undefined;
24
- children?: /*elided*/ any[] | undefined;
25
- route: {
26
- name: string;
27
- path: string;
28
- meta: {
29
- [x: string]: unknown;
30
- [x: number]: unknown;
31
- [x: symbol]: unknown;
32
- title?: string | undefined;
33
- icon?: string | undefined;
34
- hideInMenu?: boolean | undefined;
35
- hideChildrenInMenu?: boolean | undefined;
36
- flatChildrenInMenu?: boolean | undefined;
37
- type?: "group" | undefined;
38
- closable?: boolean | undefined;
39
- keepAlive?: boolean | undefined;
40
- order?: number | undefined;
41
- iframeSrc?: string | undefined;
42
- authentication?: boolean | undefined;
43
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
44
- _externalLink?: boolean | undefined;
45
- };
46
- children?: any[] | undefined;
47
- };
48
- _externalLink?: boolean | undefined;
49
- type?: "group" | undefined;
50
- order: number;
51
- }[], MenuItem[] | {
52
- name: string;
53
- path?: string | undefined;
54
- title?: string | undefined;
55
- icon?: string | undefined;
56
- children?: /*elided*/ any[] | undefined;
57
- route: {
58
- name: string;
59
- path: string;
60
- meta: {
61
- [x: string]: unknown;
62
- [x: number]: unknown;
63
- [x: symbol]: unknown;
64
- title?: string | undefined;
65
- icon?: string | undefined;
66
- hideInMenu?: boolean | undefined;
67
- hideChildrenInMenu?: boolean | undefined;
68
- flatChildrenInMenu?: boolean | undefined;
69
- type?: "group" | undefined;
70
- closable?: boolean | undefined;
71
- keepAlive?: boolean | undefined;
72
- order?: number | undefined;
73
- iframeSrc?: string | undefined;
74
- authentication?: boolean | undefined;
75
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
76
- _externalLink?: boolean | undefined;
77
- };
78
- children?: any[] | undefined;
79
- };
80
- _externalLink?: boolean | undefined;
81
- type?: "group" | undefined;
82
- order: number;
83
- }[]>;
18
+ menus: import("vue").ComputedRef<import("..").MenuItem[]>;
84
19
  menusMap: import("vue").ComputedRef<Record<string | number, import("..").MenuNode>>;
85
- firstLevelMenus: import("vue").Ref<{
86
- name: string;
87
- path?: string | undefined;
88
- title?: string | undefined;
89
- icon?: string | undefined;
90
- children?: /*elided*/ any[] | undefined;
91
- route: {
92
- name: string;
93
- path: string;
94
- meta: {
95
- [x: string]: unknown;
96
- [x: number]: unknown;
97
- [x: symbol]: unknown;
98
- title?: string | undefined;
99
- icon?: string | undefined;
100
- hideInMenu?: boolean | undefined;
101
- hideChildrenInMenu?: boolean | undefined;
102
- flatChildrenInMenu?: boolean | undefined;
103
- type?: "group" | undefined;
104
- closable?: boolean | undefined;
105
- keepAlive?: boolean | undefined;
106
- order?: number | undefined;
107
- iframeSrc?: string | undefined;
108
- authentication?: boolean | undefined;
109
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
110
- _externalLink?: boolean | undefined;
111
- };
112
- children?: any[] | undefined;
113
- };
114
- _externalLink?: boolean | undefined;
115
- type?: "group" | undefined;
116
- order: number;
117
- }[], MenuItem[] | {
118
- name: string;
119
- path?: string | undefined;
120
- title?: string | undefined;
121
- icon?: string | undefined;
122
- children?: /*elided*/ any[] | undefined;
123
- route: {
124
- name: string;
125
- path: string;
126
- meta: {
127
- [x: string]: unknown;
128
- [x: number]: unknown;
129
- [x: symbol]: unknown;
130
- title?: string | undefined;
131
- icon?: string | undefined;
132
- hideInMenu?: boolean | undefined;
133
- hideChildrenInMenu?: boolean | undefined;
134
- flatChildrenInMenu?: boolean | undefined;
135
- type?: "group" | undefined;
136
- closable?: boolean | undefined;
137
- keepAlive?: boolean | undefined;
138
- order?: number | undefined;
139
- iframeSrc?: string | undefined;
140
- authentication?: boolean | undefined;
141
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
142
- _externalLink?: boolean | undefined;
143
- };
144
- children?: any[] | undefined;
145
- };
146
- _externalLink?: boolean | undefined;
147
- type?: "group" | undefined;
148
- order: number;
149
- }[]>;
20
+ firstLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
150
21
  firstLevelActive: import("vue").Ref<string, string>;
151
- secondLevelMenus: import("vue").ComputedRef<{
152
- name: string;
153
- path?: string | undefined;
154
- title?: string | undefined;
155
- icon?: string | undefined;
156
- children?: /*elided*/ any[] | undefined;
157
- route: {
158
- name: string;
159
- path: string;
160
- meta: {
161
- [x: string]: unknown;
162
- [x: number]: unknown;
163
- [x: symbol]: unknown;
164
- title?: string | undefined;
165
- icon?: string | undefined;
166
- hideInMenu?: boolean | undefined;
167
- hideChildrenInMenu?: boolean | undefined;
168
- flatChildrenInMenu?: boolean | undefined;
169
- type?: "group" | undefined;
170
- closable?: boolean | undefined;
171
- keepAlive?: boolean | undefined;
172
- order?: number | undefined;
173
- iframeSrc?: string | undefined;
174
- authentication?: boolean | undefined;
175
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
176
- _externalLink?: boolean | undefined;
177
- };
178
- children?: any[] | undefined;
179
- };
180
- _externalLink?: boolean | undefined;
181
- type?: "group" | undefined;
182
- order: number;
183
- }[]>;
22
+ secondLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
184
23
  secondLevelActive: import("vue").Ref<string, string>;
185
- thirdLevelMenus: import("vue").ComputedRef<{
186
- name: string;
187
- path?: string | undefined;
188
- title?: string | undefined;
189
- icon?: string | undefined;
190
- children?: /*elided*/ any[] | undefined;
191
- route: {
192
- name: string;
193
- path: string;
194
- meta: {
195
- [x: string]: unknown;
196
- [x: number]: unknown;
197
- [x: symbol]: unknown;
198
- title?: string | undefined;
199
- icon?: string | undefined;
200
- hideInMenu?: boolean | undefined;
201
- hideChildrenInMenu?: boolean | undefined;
202
- flatChildrenInMenu?: boolean | undefined;
203
- type?: "group" | undefined;
204
- closable?: boolean | undefined;
205
- keepAlive?: boolean | undefined;
206
- order?: number | undefined;
207
- iframeSrc?: string | undefined;
208
- authentication?: boolean | undefined;
209
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
210
- _externalLink?: boolean | undefined;
211
- };
212
- children?: any[] | undefined;
213
- };
214
- _externalLink?: boolean | undefined;
215
- type?: "group" | undefined;
216
- order: number;
217
- }[]>;
218
- topMenus: import("vue").Ref<{
219
- name: string;
220
- path?: string | undefined;
221
- title?: string | undefined;
222
- icon?: string | undefined;
223
- children?: /*elided*/ any[] | undefined;
224
- route: {
225
- name: string;
226
- path: string;
227
- meta: {
228
- [x: string]: unknown;
229
- [x: number]: unknown;
230
- [x: symbol]: unknown;
231
- title?: string | undefined;
232
- icon?: string | undefined;
233
- hideInMenu?: boolean | undefined;
234
- hideChildrenInMenu?: boolean | undefined;
235
- flatChildrenInMenu?: boolean | undefined;
236
- type?: "group" | undefined;
237
- closable?: boolean | undefined;
238
- keepAlive?: boolean | undefined;
239
- order?: number | undefined;
240
- iframeSrc?: string | undefined;
241
- authentication?: boolean | undefined;
242
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
243
- _externalLink?: boolean | undefined;
244
- };
245
- children?: any[] | undefined;
246
- };
247
- _externalLink?: boolean | undefined;
248
- type?: "group" | undefined;
249
- order: number;
250
- }[], MenuItem[] | {
251
- name: string;
252
- path?: string | undefined;
253
- title?: string | undefined;
254
- icon?: string | undefined;
255
- children?: /*elided*/ any[] | undefined;
256
- route: {
257
- name: string;
258
- path: string;
259
- meta: {
260
- [x: string]: unknown;
261
- [x: number]: unknown;
262
- [x: symbol]: unknown;
263
- title?: string | undefined;
264
- icon?: string | undefined;
265
- hideInMenu?: boolean | undefined;
266
- hideChildrenInMenu?: boolean | undefined;
267
- flatChildrenInMenu?: boolean | undefined;
268
- type?: "group" | undefined;
269
- closable?: boolean | undefined;
270
- keepAlive?: boolean | undefined;
271
- order?: number | undefined;
272
- iframeSrc?: string | undefined;
273
- authentication?: boolean | undefined;
274
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
275
- _externalLink?: boolean | undefined;
276
- };
277
- children?: any[] | undefined;
278
- };
279
- _externalLink?: boolean | undefined;
280
- type?: "group" | undefined;
281
- order: number;
282
- }[]>;
24
+ thirdLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
25
+ topMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
283
26
  topActive: import("vue").Ref<string, string>;
284
- snugMenus: import("vue").ComputedRef<{
285
- name: string;
286
- path?: string | undefined;
287
- title?: string | undefined;
288
- icon?: string | undefined;
289
- children?: /*elided*/ any[] | undefined;
290
- route: {
291
- name: string;
292
- path: string;
293
- meta: {
294
- [x: string]: unknown;
295
- [x: number]: unknown;
296
- [x: symbol]: unknown;
297
- title?: string | undefined;
298
- icon?: string | undefined;
299
- hideInMenu?: boolean | undefined;
300
- hideChildrenInMenu?: boolean | undefined;
301
- flatChildrenInMenu?: boolean | undefined;
302
- type?: "group" | undefined;
303
- closable?: boolean | undefined;
304
- keepAlive?: boolean | undefined;
305
- order?: number | undefined;
306
- iframeSrc?: string | undefined;
307
- authentication?: boolean | undefined;
308
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
309
- _externalLink?: boolean | undefined;
310
- };
311
- children?: any[] | undefined;
312
- };
313
- _externalLink?: boolean | undefined;
314
- type?: "group" | undefined;
315
- order: number;
316
- }[]>;
27
+ snugMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
317
28
  snugActive: import("vue").WritableComputedRef<string, string>;
318
- defaultMenus: import("vue").ComputedRef<{
319
- name: string;
320
- path?: string | undefined;
321
- title?: string | undefined;
322
- icon?: string | undefined;
323
- children?: /*elided*/ any[] | undefined;
324
- route: {
325
- name: string;
326
- path: string;
327
- meta: {
328
- [x: string]: unknown;
329
- [x: number]: unknown;
330
- [x: symbol]: unknown;
331
- title?: string | undefined;
332
- icon?: string | undefined;
333
- hideInMenu?: boolean | undefined;
334
- hideChildrenInMenu?: boolean | undefined;
335
- flatChildrenInMenu?: boolean | undefined;
336
- type?: "group" | undefined;
337
- closable?: boolean | undefined;
338
- keepAlive?: boolean | undefined;
339
- order?: number | undefined;
340
- iframeSrc?: string | undefined;
341
- authentication?: boolean | undefined;
342
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
343
- _externalLink?: boolean | undefined;
344
- };
345
- children?: any[] | undefined;
346
- };
347
- _externalLink?: boolean | undefined;
348
- type?: "group" | undefined;
349
- order: number;
350
- }[]>;
29
+ defaultMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
351
30
  tabbarVisible: import("vue").Ref<boolean, boolean>;
352
31
  activeTab: import("vue").Ref<string, string>;
353
32
  refreshing: import("vue").Ref<boolean, boolean>;
@@ -405,7 +84,7 @@ export declare const useLayoutStore: import("pinia").StoreDefinition<"cosey-layo
405
84
  topbarHeight: import("vue").Ref<number, number>;
406
85
  tabbarHeight: import("vue").Ref<number, number>;
407
86
  headerHeight: import("vue").ComputedRef<number>;
408
- }, "collapse" | "menus" | "sidebarVisible" | "menuType" | "tabbarVisible" | "asideWidth" | "collapsedAsideWidth" | "snugAsideWidth" | "topbarHeight" | "tabbarHeight" | "isMobile" | "firstLevelMenus" | "firstLevelActive" | "secondLevelActive" | "topMenus" | "topActive" | "activeTab" | "refreshing" | "tabList" | "keepAliveInclude">, Pick<{
87
+ }, "collapse" | "sidebarVisible" | "menuType" | "tabbarVisible" | "asideWidth" | "collapsedAsideWidth" | "snugAsideWidth" | "topbarHeight" | "tabbarHeight" | "isMobile" | "firstLevelActive" | "secondLevelActive" | "topActive" | "activeTab" | "refreshing" | "tabList" | "keepAliveInclude">, Pick<{
409
88
  sidebarVisible: import("vue").Ref<boolean, boolean>;
410
89
  collapse: import("vue").Ref<boolean, boolean>;
411
90
  isMobile: import("vue").Ref<boolean, boolean>;
@@ -416,338 +95,18 @@ export declare const useLayoutStore: import("pinia").StoreDefinition<"cosey-layo
416
95
  isHorizontal: import("vue").ComputedRef<boolean>;
417
96
  isHorizontalVertical: import("vue").ComputedRef<boolean>;
418
97
  isHorizontalBiserial: import("vue").ComputedRef<boolean>;
419
- menus: import("vue").Ref<{
420
- name: string;
421
- path?: string | undefined;
422
- title?: string | undefined;
423
- icon?: string | undefined;
424
- children?: /*elided*/ any[] | undefined;
425
- route: {
426
- name: string;
427
- path: string;
428
- meta: {
429
- [x: string]: unknown;
430
- [x: number]: unknown;
431
- [x: symbol]: unknown;
432
- title?: string | undefined;
433
- icon?: string | undefined;
434
- hideInMenu?: boolean | undefined;
435
- hideChildrenInMenu?: boolean | undefined;
436
- flatChildrenInMenu?: boolean | undefined;
437
- type?: "group" | undefined;
438
- closable?: boolean | undefined;
439
- keepAlive?: boolean | undefined;
440
- order?: number | undefined;
441
- iframeSrc?: string | undefined;
442
- authentication?: boolean | undefined;
443
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
444
- _externalLink?: boolean | undefined;
445
- };
446
- children?: any[] | undefined;
447
- };
448
- _externalLink?: boolean | undefined;
449
- type?: "group" | undefined;
450
- order: number;
451
- }[], MenuItem[] | {
452
- name: string;
453
- path?: string | undefined;
454
- title?: string | undefined;
455
- icon?: string | undefined;
456
- children?: /*elided*/ any[] | undefined;
457
- route: {
458
- name: string;
459
- path: string;
460
- meta: {
461
- [x: string]: unknown;
462
- [x: number]: unknown;
463
- [x: symbol]: unknown;
464
- title?: string | undefined;
465
- icon?: string | undefined;
466
- hideInMenu?: boolean | undefined;
467
- hideChildrenInMenu?: boolean | undefined;
468
- flatChildrenInMenu?: boolean | undefined;
469
- type?: "group" | undefined;
470
- closable?: boolean | undefined;
471
- keepAlive?: boolean | undefined;
472
- order?: number | undefined;
473
- iframeSrc?: string | undefined;
474
- authentication?: boolean | undefined;
475
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
476
- _externalLink?: boolean | undefined;
477
- };
478
- children?: any[] | undefined;
479
- };
480
- _externalLink?: boolean | undefined;
481
- type?: "group" | undefined;
482
- order: number;
483
- }[]>;
98
+ menus: import("vue").ComputedRef<import("..").MenuItem[]>;
484
99
  menusMap: import("vue").ComputedRef<Record<string | number, import("..").MenuNode>>;
485
- firstLevelMenus: import("vue").Ref<{
486
- name: string;
487
- path?: string | undefined;
488
- title?: string | undefined;
489
- icon?: string | undefined;
490
- children?: /*elided*/ any[] | undefined;
491
- route: {
492
- name: string;
493
- path: string;
494
- meta: {
495
- [x: string]: unknown;
496
- [x: number]: unknown;
497
- [x: symbol]: unknown;
498
- title?: string | undefined;
499
- icon?: string | undefined;
500
- hideInMenu?: boolean | undefined;
501
- hideChildrenInMenu?: boolean | undefined;
502
- flatChildrenInMenu?: boolean | undefined;
503
- type?: "group" | undefined;
504
- closable?: boolean | undefined;
505
- keepAlive?: boolean | undefined;
506
- order?: number | undefined;
507
- iframeSrc?: string | undefined;
508
- authentication?: boolean | undefined;
509
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
510
- _externalLink?: boolean | undefined;
511
- };
512
- children?: any[] | undefined;
513
- };
514
- _externalLink?: boolean | undefined;
515
- type?: "group" | undefined;
516
- order: number;
517
- }[], MenuItem[] | {
518
- name: string;
519
- path?: string | undefined;
520
- title?: string | undefined;
521
- icon?: string | undefined;
522
- children?: /*elided*/ any[] | undefined;
523
- route: {
524
- name: string;
525
- path: string;
526
- meta: {
527
- [x: string]: unknown;
528
- [x: number]: unknown;
529
- [x: symbol]: unknown;
530
- title?: string | undefined;
531
- icon?: string | undefined;
532
- hideInMenu?: boolean | undefined;
533
- hideChildrenInMenu?: boolean | undefined;
534
- flatChildrenInMenu?: boolean | undefined;
535
- type?: "group" | undefined;
536
- closable?: boolean | undefined;
537
- keepAlive?: boolean | undefined;
538
- order?: number | undefined;
539
- iframeSrc?: string | undefined;
540
- authentication?: boolean | undefined;
541
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
542
- _externalLink?: boolean | undefined;
543
- };
544
- children?: any[] | undefined;
545
- };
546
- _externalLink?: boolean | undefined;
547
- type?: "group" | undefined;
548
- order: number;
549
- }[]>;
100
+ firstLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
550
101
  firstLevelActive: import("vue").Ref<string, string>;
551
- secondLevelMenus: import("vue").ComputedRef<{
552
- name: string;
553
- path?: string | undefined;
554
- title?: string | undefined;
555
- icon?: string | undefined;
556
- children?: /*elided*/ any[] | undefined;
557
- route: {
558
- name: string;
559
- path: string;
560
- meta: {
561
- [x: string]: unknown;
562
- [x: number]: unknown;
563
- [x: symbol]: unknown;
564
- title?: string | undefined;
565
- icon?: string | undefined;
566
- hideInMenu?: boolean | undefined;
567
- hideChildrenInMenu?: boolean | undefined;
568
- flatChildrenInMenu?: boolean | undefined;
569
- type?: "group" | undefined;
570
- closable?: boolean | undefined;
571
- keepAlive?: boolean | undefined;
572
- order?: number | undefined;
573
- iframeSrc?: string | undefined;
574
- authentication?: boolean | undefined;
575
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
576
- _externalLink?: boolean | undefined;
577
- };
578
- children?: any[] | undefined;
579
- };
580
- _externalLink?: boolean | undefined;
581
- type?: "group" | undefined;
582
- order: number;
583
- }[]>;
102
+ secondLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
584
103
  secondLevelActive: import("vue").Ref<string, string>;
585
- thirdLevelMenus: import("vue").ComputedRef<{
586
- name: string;
587
- path?: string | undefined;
588
- title?: string | undefined;
589
- icon?: string | undefined;
590
- children?: /*elided*/ any[] | undefined;
591
- route: {
592
- name: string;
593
- path: string;
594
- meta: {
595
- [x: string]: unknown;
596
- [x: number]: unknown;
597
- [x: symbol]: unknown;
598
- title?: string | undefined;
599
- icon?: string | undefined;
600
- hideInMenu?: boolean | undefined;
601
- hideChildrenInMenu?: boolean | undefined;
602
- flatChildrenInMenu?: boolean | undefined;
603
- type?: "group" | undefined;
604
- closable?: boolean | undefined;
605
- keepAlive?: boolean | undefined;
606
- order?: number | undefined;
607
- iframeSrc?: string | undefined;
608
- authentication?: boolean | undefined;
609
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
610
- _externalLink?: boolean | undefined;
611
- };
612
- children?: any[] | undefined;
613
- };
614
- _externalLink?: boolean | undefined;
615
- type?: "group" | undefined;
616
- order: number;
617
- }[]>;
618
- topMenus: import("vue").Ref<{
619
- name: string;
620
- path?: string | undefined;
621
- title?: string | undefined;
622
- icon?: string | undefined;
623
- children?: /*elided*/ any[] | undefined;
624
- route: {
625
- name: string;
626
- path: string;
627
- meta: {
628
- [x: string]: unknown;
629
- [x: number]: unknown;
630
- [x: symbol]: unknown;
631
- title?: string | undefined;
632
- icon?: string | undefined;
633
- hideInMenu?: boolean | undefined;
634
- hideChildrenInMenu?: boolean | undefined;
635
- flatChildrenInMenu?: boolean | undefined;
636
- type?: "group" | undefined;
637
- closable?: boolean | undefined;
638
- keepAlive?: boolean | undefined;
639
- order?: number | undefined;
640
- iframeSrc?: string | undefined;
641
- authentication?: boolean | undefined;
642
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
643
- _externalLink?: boolean | undefined;
644
- };
645
- children?: any[] | undefined;
646
- };
647
- _externalLink?: boolean | undefined;
648
- type?: "group" | undefined;
649
- order: number;
650
- }[], MenuItem[] | {
651
- name: string;
652
- path?: string | undefined;
653
- title?: string | undefined;
654
- icon?: string | undefined;
655
- children?: /*elided*/ any[] | undefined;
656
- route: {
657
- name: string;
658
- path: string;
659
- meta: {
660
- [x: string]: unknown;
661
- [x: number]: unknown;
662
- [x: symbol]: unknown;
663
- title?: string | undefined;
664
- icon?: string | undefined;
665
- hideInMenu?: boolean | undefined;
666
- hideChildrenInMenu?: boolean | undefined;
667
- flatChildrenInMenu?: boolean | undefined;
668
- type?: "group" | undefined;
669
- closable?: boolean | undefined;
670
- keepAlive?: boolean | undefined;
671
- order?: number | undefined;
672
- iframeSrc?: string | undefined;
673
- authentication?: boolean | undefined;
674
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
675
- _externalLink?: boolean | undefined;
676
- };
677
- children?: any[] | undefined;
678
- };
679
- _externalLink?: boolean | undefined;
680
- type?: "group" | undefined;
681
- order: number;
682
- }[]>;
104
+ thirdLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
105
+ topMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
683
106
  topActive: import("vue").Ref<string, string>;
684
- snugMenus: import("vue").ComputedRef<{
685
- name: string;
686
- path?: string | undefined;
687
- title?: string | undefined;
688
- icon?: string | undefined;
689
- children?: /*elided*/ any[] | undefined;
690
- route: {
691
- name: string;
692
- path: string;
693
- meta: {
694
- [x: string]: unknown;
695
- [x: number]: unknown;
696
- [x: symbol]: unknown;
697
- title?: string | undefined;
698
- icon?: string | undefined;
699
- hideInMenu?: boolean | undefined;
700
- hideChildrenInMenu?: boolean | undefined;
701
- flatChildrenInMenu?: boolean | undefined;
702
- type?: "group" | undefined;
703
- closable?: boolean | undefined;
704
- keepAlive?: boolean | undefined;
705
- order?: number | undefined;
706
- iframeSrc?: string | undefined;
707
- authentication?: boolean | undefined;
708
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
709
- _externalLink?: boolean | undefined;
710
- };
711
- children?: any[] | undefined;
712
- };
713
- _externalLink?: boolean | undefined;
714
- type?: "group" | undefined;
715
- order: number;
716
- }[]>;
107
+ snugMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
717
108
  snugActive: import("vue").WritableComputedRef<string, string>;
718
- defaultMenus: import("vue").ComputedRef<{
719
- name: string;
720
- path?: string | undefined;
721
- title?: string | undefined;
722
- icon?: string | undefined;
723
- children?: /*elided*/ any[] | undefined;
724
- route: {
725
- name: string;
726
- path: string;
727
- meta: {
728
- [x: string]: unknown;
729
- [x: number]: unknown;
730
- [x: symbol]: unknown;
731
- title?: string | undefined;
732
- icon?: string | undefined;
733
- hideInMenu?: boolean | undefined;
734
- hideChildrenInMenu?: boolean | undefined;
735
- flatChildrenInMenu?: boolean | undefined;
736
- type?: "group" | undefined;
737
- closable?: boolean | undefined;
738
- keepAlive?: boolean | undefined;
739
- order?: number | undefined;
740
- iframeSrc?: string | undefined;
741
- authentication?: boolean | undefined;
742
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
743
- _externalLink?: boolean | undefined;
744
- };
745
- children?: any[] | undefined;
746
- };
747
- _externalLink?: boolean | undefined;
748
- type?: "group" | undefined;
749
- order: number;
750
- }[]>;
109
+ defaultMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
751
110
  tabbarVisible: import("vue").Ref<boolean, boolean>;
752
111
  activeTab: import("vue").Ref<string, string>;
753
112
  refreshing: import("vue").Ref<boolean, boolean>;
@@ -805,7 +164,7 @@ export declare const useLayoutStore: import("pinia").StoreDefinition<"cosey-layo
805
164
  topbarHeight: import("vue").Ref<number, number>;
806
165
  tabbarHeight: import("vue").Ref<number, number>;
807
166
  headerHeight: import("vue").ComputedRef<number>;
808
- }, "keepAlive" | "isHorizontal" | "includeHorizontal" | "isVertical" | "isBiserial" | "isHorizontalVertical" | "isHorizontalBiserial" | "menusMap" | "secondLevelMenus" | "thirdLevelMenus" | "snugMenus" | "snugActive" | "defaultMenus" | "iframeTabList" | "keepAliveExclude" | "sidebarWidth" | "headerHeight">, Pick<{
167
+ }, "menus" | "keepAlive" | "isHorizontal" | "includeHorizontal" | "isVertical" | "isBiserial" | "isHorizontalVertical" | "isHorizontalBiserial" | "menusMap" | "firstLevelMenus" | "secondLevelMenus" | "thirdLevelMenus" | "topMenus" | "snugMenus" | "snugActive" | "defaultMenus" | "iframeTabList" | "keepAliveExclude" | "sidebarWidth" | "headerHeight">, Pick<{
809
168
  sidebarVisible: import("vue").Ref<boolean, boolean>;
810
169
  collapse: import("vue").Ref<boolean, boolean>;
811
170
  isMobile: import("vue").Ref<boolean, boolean>;
@@ -816,338 +175,18 @@ export declare const useLayoutStore: import("pinia").StoreDefinition<"cosey-layo
816
175
  isHorizontal: import("vue").ComputedRef<boolean>;
817
176
  isHorizontalVertical: import("vue").ComputedRef<boolean>;
818
177
  isHorizontalBiserial: import("vue").ComputedRef<boolean>;
819
- menus: import("vue").Ref<{
820
- name: string;
821
- path?: string | undefined;
822
- title?: string | undefined;
823
- icon?: string | undefined;
824
- children?: /*elided*/ any[] | undefined;
825
- route: {
826
- name: string;
827
- path: string;
828
- meta: {
829
- [x: string]: unknown;
830
- [x: number]: unknown;
831
- [x: symbol]: unknown;
832
- title?: string | undefined;
833
- icon?: string | undefined;
834
- hideInMenu?: boolean | undefined;
835
- hideChildrenInMenu?: boolean | undefined;
836
- flatChildrenInMenu?: boolean | undefined;
837
- type?: "group" | undefined;
838
- closable?: boolean | undefined;
839
- keepAlive?: boolean | undefined;
840
- order?: number | undefined;
841
- iframeSrc?: string | undefined;
842
- authentication?: boolean | undefined;
843
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
844
- _externalLink?: boolean | undefined;
845
- };
846
- children?: any[] | undefined;
847
- };
848
- _externalLink?: boolean | undefined;
849
- type?: "group" | undefined;
850
- order: number;
851
- }[], MenuItem[] | {
852
- name: string;
853
- path?: string | undefined;
854
- title?: string | undefined;
855
- icon?: string | undefined;
856
- children?: /*elided*/ any[] | undefined;
857
- route: {
858
- name: string;
859
- path: string;
860
- meta: {
861
- [x: string]: unknown;
862
- [x: number]: unknown;
863
- [x: symbol]: unknown;
864
- title?: string | undefined;
865
- icon?: string | undefined;
866
- hideInMenu?: boolean | undefined;
867
- hideChildrenInMenu?: boolean | undefined;
868
- flatChildrenInMenu?: boolean | undefined;
869
- type?: "group" | undefined;
870
- closable?: boolean | undefined;
871
- keepAlive?: boolean | undefined;
872
- order?: number | undefined;
873
- iframeSrc?: string | undefined;
874
- authentication?: boolean | undefined;
875
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
876
- _externalLink?: boolean | undefined;
877
- };
878
- children?: any[] | undefined;
879
- };
880
- _externalLink?: boolean | undefined;
881
- type?: "group" | undefined;
882
- order: number;
883
- }[]>;
178
+ menus: import("vue").ComputedRef<import("..").MenuItem[]>;
884
179
  menusMap: import("vue").ComputedRef<Record<string | number, import("..").MenuNode>>;
885
- firstLevelMenus: import("vue").Ref<{
886
- name: string;
887
- path?: string | undefined;
888
- title?: string | undefined;
889
- icon?: string | undefined;
890
- children?: /*elided*/ any[] | undefined;
891
- route: {
892
- name: string;
893
- path: string;
894
- meta: {
895
- [x: string]: unknown;
896
- [x: number]: unknown;
897
- [x: symbol]: unknown;
898
- title?: string | undefined;
899
- icon?: string | undefined;
900
- hideInMenu?: boolean | undefined;
901
- hideChildrenInMenu?: boolean | undefined;
902
- flatChildrenInMenu?: boolean | undefined;
903
- type?: "group" | undefined;
904
- closable?: boolean | undefined;
905
- keepAlive?: boolean | undefined;
906
- order?: number | undefined;
907
- iframeSrc?: string | undefined;
908
- authentication?: boolean | undefined;
909
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
910
- _externalLink?: boolean | undefined;
911
- };
912
- children?: any[] | undefined;
913
- };
914
- _externalLink?: boolean | undefined;
915
- type?: "group" | undefined;
916
- order: number;
917
- }[], MenuItem[] | {
918
- name: string;
919
- path?: string | undefined;
920
- title?: string | undefined;
921
- icon?: string | undefined;
922
- children?: /*elided*/ any[] | undefined;
923
- route: {
924
- name: string;
925
- path: string;
926
- meta: {
927
- [x: string]: unknown;
928
- [x: number]: unknown;
929
- [x: symbol]: unknown;
930
- title?: string | undefined;
931
- icon?: string | undefined;
932
- hideInMenu?: boolean | undefined;
933
- hideChildrenInMenu?: boolean | undefined;
934
- flatChildrenInMenu?: boolean | undefined;
935
- type?: "group" | undefined;
936
- closable?: boolean | undefined;
937
- keepAlive?: boolean | undefined;
938
- order?: number | undefined;
939
- iframeSrc?: string | undefined;
940
- authentication?: boolean | undefined;
941
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
942
- _externalLink?: boolean | undefined;
943
- };
944
- children?: any[] | undefined;
945
- };
946
- _externalLink?: boolean | undefined;
947
- type?: "group" | undefined;
948
- order: number;
949
- }[]>;
180
+ firstLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
950
181
  firstLevelActive: import("vue").Ref<string, string>;
951
- secondLevelMenus: import("vue").ComputedRef<{
952
- name: string;
953
- path?: string | undefined;
954
- title?: string | undefined;
955
- icon?: string | undefined;
956
- children?: /*elided*/ any[] | undefined;
957
- route: {
958
- name: string;
959
- path: string;
960
- meta: {
961
- [x: string]: unknown;
962
- [x: number]: unknown;
963
- [x: symbol]: unknown;
964
- title?: string | undefined;
965
- icon?: string | undefined;
966
- hideInMenu?: boolean | undefined;
967
- hideChildrenInMenu?: boolean | undefined;
968
- flatChildrenInMenu?: boolean | undefined;
969
- type?: "group" | undefined;
970
- closable?: boolean | undefined;
971
- keepAlive?: boolean | undefined;
972
- order?: number | undefined;
973
- iframeSrc?: string | undefined;
974
- authentication?: boolean | undefined;
975
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
976
- _externalLink?: boolean | undefined;
977
- };
978
- children?: any[] | undefined;
979
- };
980
- _externalLink?: boolean | undefined;
981
- type?: "group" | undefined;
982
- order: number;
983
- }[]>;
182
+ secondLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
984
183
  secondLevelActive: import("vue").Ref<string, string>;
985
- thirdLevelMenus: import("vue").ComputedRef<{
986
- name: string;
987
- path?: string | undefined;
988
- title?: string | undefined;
989
- icon?: string | undefined;
990
- children?: /*elided*/ any[] | undefined;
991
- route: {
992
- name: string;
993
- path: string;
994
- meta: {
995
- [x: string]: unknown;
996
- [x: number]: unknown;
997
- [x: symbol]: unknown;
998
- title?: string | undefined;
999
- icon?: string | undefined;
1000
- hideInMenu?: boolean | undefined;
1001
- hideChildrenInMenu?: boolean | undefined;
1002
- flatChildrenInMenu?: boolean | undefined;
1003
- type?: "group" | undefined;
1004
- closable?: boolean | undefined;
1005
- keepAlive?: boolean | undefined;
1006
- order?: number | undefined;
1007
- iframeSrc?: string | undefined;
1008
- authentication?: boolean | undefined;
1009
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
1010
- _externalLink?: boolean | undefined;
1011
- };
1012
- children?: any[] | undefined;
1013
- };
1014
- _externalLink?: boolean | undefined;
1015
- type?: "group" | undefined;
1016
- order: number;
1017
- }[]>;
1018
- topMenus: import("vue").Ref<{
1019
- name: string;
1020
- path?: string | undefined;
1021
- title?: string | undefined;
1022
- icon?: string | undefined;
1023
- children?: /*elided*/ any[] | undefined;
1024
- route: {
1025
- name: string;
1026
- path: string;
1027
- meta: {
1028
- [x: string]: unknown;
1029
- [x: number]: unknown;
1030
- [x: symbol]: unknown;
1031
- title?: string | undefined;
1032
- icon?: string | undefined;
1033
- hideInMenu?: boolean | undefined;
1034
- hideChildrenInMenu?: boolean | undefined;
1035
- flatChildrenInMenu?: boolean | undefined;
1036
- type?: "group" | undefined;
1037
- closable?: boolean | undefined;
1038
- keepAlive?: boolean | undefined;
1039
- order?: number | undefined;
1040
- iframeSrc?: string | undefined;
1041
- authentication?: boolean | undefined;
1042
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
1043
- _externalLink?: boolean | undefined;
1044
- };
1045
- children?: any[] | undefined;
1046
- };
1047
- _externalLink?: boolean | undefined;
1048
- type?: "group" | undefined;
1049
- order: number;
1050
- }[], MenuItem[] | {
1051
- name: string;
1052
- path?: string | undefined;
1053
- title?: string | undefined;
1054
- icon?: string | undefined;
1055
- children?: /*elided*/ any[] | undefined;
1056
- route: {
1057
- name: string;
1058
- path: string;
1059
- meta: {
1060
- [x: string]: unknown;
1061
- [x: number]: unknown;
1062
- [x: symbol]: unknown;
1063
- title?: string | undefined;
1064
- icon?: string | undefined;
1065
- hideInMenu?: boolean | undefined;
1066
- hideChildrenInMenu?: boolean | undefined;
1067
- flatChildrenInMenu?: boolean | undefined;
1068
- type?: "group" | undefined;
1069
- closable?: boolean | undefined;
1070
- keepAlive?: boolean | undefined;
1071
- order?: number | undefined;
1072
- iframeSrc?: string | undefined;
1073
- authentication?: boolean | undefined;
1074
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
1075
- _externalLink?: boolean | undefined;
1076
- };
1077
- children?: any[] | undefined;
1078
- };
1079
- _externalLink?: boolean | undefined;
1080
- type?: "group" | undefined;
1081
- order: number;
1082
- }[]>;
184
+ thirdLevelMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
185
+ topMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
1083
186
  topActive: import("vue").Ref<string, string>;
1084
- snugMenus: import("vue").ComputedRef<{
1085
- name: string;
1086
- path?: string | undefined;
1087
- title?: string | undefined;
1088
- icon?: string | undefined;
1089
- children?: /*elided*/ any[] | undefined;
1090
- route: {
1091
- name: string;
1092
- path: string;
1093
- meta: {
1094
- [x: string]: unknown;
1095
- [x: number]: unknown;
1096
- [x: symbol]: unknown;
1097
- title?: string | undefined;
1098
- icon?: string | undefined;
1099
- hideInMenu?: boolean | undefined;
1100
- hideChildrenInMenu?: boolean | undefined;
1101
- flatChildrenInMenu?: boolean | undefined;
1102
- type?: "group" | undefined;
1103
- closable?: boolean | undefined;
1104
- keepAlive?: boolean | undefined;
1105
- order?: number | undefined;
1106
- iframeSrc?: string | undefined;
1107
- authentication?: boolean | undefined;
1108
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
1109
- _externalLink?: boolean | undefined;
1110
- };
1111
- children?: any[] | undefined;
1112
- };
1113
- _externalLink?: boolean | undefined;
1114
- type?: "group" | undefined;
1115
- order: number;
1116
- }[]>;
187
+ snugMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
1117
188
  snugActive: import("vue").WritableComputedRef<string, string>;
1118
- defaultMenus: import("vue").ComputedRef<{
1119
- name: string;
1120
- path?: string | undefined;
1121
- title?: string | undefined;
1122
- icon?: string | undefined;
1123
- children?: /*elided*/ any[] | undefined;
1124
- route: {
1125
- name: string;
1126
- path: string;
1127
- meta: {
1128
- [x: string]: unknown;
1129
- [x: number]: unknown;
1130
- [x: symbol]: unknown;
1131
- title?: string | undefined;
1132
- icon?: string | undefined;
1133
- hideInMenu?: boolean | undefined;
1134
- hideChildrenInMenu?: boolean | undefined;
1135
- flatChildrenInMenu?: boolean | undefined;
1136
- type?: "group" | undefined;
1137
- closable?: boolean | undefined;
1138
- keepAlive?: boolean | undefined;
1139
- order?: number | undefined;
1140
- iframeSrc?: string | undefined;
1141
- authentication?: boolean | undefined;
1142
- authority?: ((ability: import("@casl/ability").AnyAbility) => boolean) | undefined;
1143
- _externalLink?: boolean | undefined;
1144
- };
1145
- children?: any[] | undefined;
1146
- };
1147
- _externalLink?: boolean | undefined;
1148
- type?: "group" | undefined;
1149
- order: number;
1150
- }[]>;
189
+ defaultMenus: import("vue").ComputedRef<import("..").MenuItem[]>;
1151
190
  tabbarVisible: import("vue").Ref<boolean, boolean>;
1152
191
  activeTab: import("vue").Ref<string, string>;
1153
192
  refreshing: import("vue").Ref<boolean, boolean>;
package/store/layout.js CHANGED
@@ -1,15 +1,18 @@
1
1
  import { defineStore } from 'pinia';
2
2
  import { useRoute } from 'vue-router';
3
- import { getMenusMap, getBreadcrumbRoutes } from '../router/menus/index.js';
3
+ import { getAllStaticRoutes } from '../router/index.js';
4
4
  import { useGlobalConfig } from '../config/index.js';
5
5
  import { ref, watch, computed, nextTick } from 'vue';
6
+ import { useUserStore } from './user.js';
6
7
  import { useWindowResize } from '../hooks/useWindowResize.js';
8
+ import { getMenus, getMenusMap, getBreadcrumbRoutes } from '../router/menus/index.js';
7
9
 
8
10
  const useLayoutStore = defineStore(
9
11
  "cosey-layout",
10
12
  () => {
11
13
  const { layout: layoutConfig } = useGlobalConfig();
12
14
  const route = useRoute();
15
+ const userStore = useUserStore();
13
16
  const sidebarVisible = ref(layoutConfig.sidebarVisible);
14
17
  const collapse = ref(layoutConfig.collapse);
15
18
  const isMobile = ref(false);
@@ -36,7 +39,12 @@ const useLayoutStore = defineStore(
36
39
  const isHorizontal = computed(() => menuType.value === "horizontal");
37
40
  const isHorizontalVertical = computed(() => menuType.value === "horizontal-vertical");
38
41
  const isHorizontalBiserial = computed(() => menuType.value === "horizontal-biserial");
39
- const menus = ref([]);
42
+ const menus = computed(() => {
43
+ return getMenus([...getAllStaticRoutes(), ...userStore.dynamicRoutes]);
44
+ });
45
+ watch(menus, () => {
46
+ console.log("watch menus", menus.value);
47
+ });
40
48
  const menusMap = computed(() => getMenusMap(menus.value));
41
49
  const firstLevelMenus = menus;
42
50
  const firstLevelActive = ref("");
package/store/user.d.ts CHANGED
@@ -6,7 +6,7 @@ interface UserInfo {
6
6
  [key: PropertyKey]: any;
7
7
  }
8
8
  export declare const useUserStore: import("pinia").StoreDefinition<"cosey-user", Pick<{
9
- dynamicRoutes: import("vue").Ref<any[], any[]>;
9
+ dynamicRoutes: import("vue").ShallowRef<any[], any[]>;
10
10
  userInfo: import("vue").Ref<UserInfo | undefined, UserInfo | undefined>;
11
11
  requestedUserInfo: import("vue").Ref<boolean, boolean>;
12
12
  login: (data: any) => Promise<void>;
@@ -16,7 +16,7 @@ export declare const useUserStore: import("pinia").StoreDefinition<"cosey-user",
16
16
  addDynamicRoutes: () => Promise<void>;
17
17
  logout: (lastPath?: string) => Promise<void>;
18
18
  }, "dynamicRoutes" | "userInfo" | "requestedUserInfo">, Pick<{
19
- dynamicRoutes: import("vue").Ref<any[], any[]>;
19
+ dynamicRoutes: import("vue").ShallowRef<any[], any[]>;
20
20
  userInfo: import("vue").Ref<UserInfo | undefined, UserInfo | undefined>;
21
21
  requestedUserInfo: import("vue").Ref<boolean, boolean>;
22
22
  login: (data: any) => Promise<void>;
@@ -26,7 +26,7 @@ export declare const useUserStore: import("pinia").StoreDefinition<"cosey-user",
26
26
  addDynamicRoutes: () => Promise<void>;
27
27
  logout: (lastPath?: string) => Promise<void>;
28
28
  }, never>, Pick<{
29
- dynamicRoutes: import("vue").Ref<any[], any[]>;
29
+ dynamicRoutes: import("vue").ShallowRef<any[], any[]>;
30
30
  userInfo: import("vue").Ref<UserInfo | undefined, UserInfo | undefined>;
31
31
  requestedUserInfo: import("vue").Ref<boolean, boolean>;
32
32
  login: (data: any) => Promise<void>;
package/store/user.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ref } from 'vue';
1
+ import { shallowRef, ref } from 'vue';
2
2
  import { useRoute, useRouter } from 'vue-router';
3
3
  import { defineStore } from 'pinia';
4
4
  import { getAllDynamicRoutes } from '../router/index.js';
@@ -30,7 +30,7 @@ const useUserStore = defineStore("cosey-user", () => {
30
30
  const getUserInfoApi = apiConfig?.getUserInfo?.();
31
31
  const changePasswordApi = apiConfig?.changePassword?.();
32
32
  const logoutApi = apiConfig?.logout?.();
33
- const dynamicRoutes = ref([]);
33
+ const dynamicRoutes = shallowRef([]);
34
34
  const userInfo = ref();
35
35
  const requestedUserInfo = ref(false);
36
36
  const login = async (data) => {