@pubinfo/core 2.0.13 → 2.0.14

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.
Files changed (73) hide show
  1. package/dist/{AppSetting-Df8mPhxN.js → AppSetting-Bfabd02_.js} +27 -27
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-CD2VmdPG.js → HCheckList.vue_vue_type_script_setup_true_lang-LHEWLVoX.js} +1 -1
  3. package/dist/{HToggle-CcxWxVmB.js → HToggle-B3C623BZ.js} +1 -1
  4. package/dist/HeaderThinMenu-B6cpu5jx.js +4 -0
  5. package/dist/{PreferencesContent-Bu8-g2qs.js → PreferencesContent-B42MPjzA.js} +57 -57
  6. package/dist/{SettingBreadcrumb-CTLEf4nt.js → SettingBreadcrumb-D3GS-3MN.js} +5 -5
  7. package/dist/{SettingCopyright-B_ZS9FXO.js → SettingCopyright-KDpCggiE.js} +4 -4
  8. package/dist/{SettingEnableTransition-DgZyY8Rh.js → SettingEnableTransition-BF27WYg0.js} +14 -14
  9. package/dist/{SettingHome-BN6WzWxX.js → SettingHome-DWyDzFcn.js} +4 -4
  10. package/dist/{SettingMenu-CNgEpRN_.js → SettingMenu-Dz0fbIa3.js} +4 -4
  11. package/dist/{SettingMode-B_Sf7CqN.js → SettingMode-AD_S9ZkO.js} +9 -9
  12. package/dist/{SettingNavSearch-SQuD6lr7.js → SettingNavSearch-oWIPjQFc.js} +4 -4
  13. package/dist/{SettingOther-CrgOHNra.js → SettingOther-ZlPSoHz3.js} +10 -10
  14. package/dist/{SettingPage-B4hfRME8.js → SettingPage-BnwAMror.js} +2 -2
  15. package/dist/{SettingTabbar-7EcsmyZo.js → SettingTabbar-Vvz-1zTa.js} +25 -25
  16. package/dist/{SettingThemes-CVjQoEk4.js → SettingThemes-CLhV2OOt.js} +16 -16
  17. package/dist/{SettingToolbar-Bls_SdlL.js → SettingToolbar-nCkGwG2H.js} +7 -7
  18. package/dist/{SettingTopbar-jqUqG5vW.js → SettingTopbar-DMujCz4n.js} +5 -5
  19. package/dist/{SettingWidthMode-8LFo6UKy.js → SettingWidthMode-7qsluuMR.js} +3 -3
  20. package/dist/core/resolver/layout.d.ts +1 -1
  21. package/dist/features/api/modules/auth/renzhengfuwu.d.ts +43 -1
  22. package/dist/features/api/modules/rbac/index.d.ts +1 -0
  23. package/dist/features/api/modules/rbac/yonghujiekou.d.ts +7 -0
  24. package/dist/features/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.d.ts +43 -0
  25. package/dist/features/api/modules/rbac/ziyuanjiekou.d.ts +7 -0
  26. package/dist/features/enum.d.ts +0 -1
  27. package/dist/features/stores/modules/iframe.d.ts +3 -3
  28. package/dist/{index-Dw9-vGGZ.js → index-2Zh2rSjN.js} +8551 -7697
  29. package/dist/{index-Dalsj2EI.js → index-BN5BYOEh.js} +12012 -11892
  30. package/dist/{index-Bl4PBBmY.js → index-BaRQkDKe.js} +1 -1
  31. package/dist/{index-C6HIzbdv.js → index-D210UZpV.js} +1 -1
  32. package/dist/{index-Cc8zVLOC.js → index-DQnnCCLU.js} +4 -4
  33. package/dist/{index-BX0RSX9i.js → index-DSNuCtw6.js} +1 -1
  34. package/dist/{index-Cjl98Ty_.js → index-XjjX4TvH.js} +17 -17
  35. package/dist/index-iASxH_cj.js +4 -0
  36. package/dist/index.js +27 -27
  37. package/dist/{pick-Cghe_Z7L.js → pick-BZcCK3Xe.js} +1 -1
  38. package/dist/style.css +1 -1
  39. package/package.json +14 -9
  40. package/runtime/components/PubinfoDev/index.d.ts +18 -0
  41. package/runtime/components/PubinfoDev/index.js +15 -0
  42. package/runtime/components/index.d.ts +1 -0
  43. package/runtime/components/index.js +1 -0
  44. package/runtime/index.d.ts +1 -0
  45. package/runtime/index.js +1 -0
  46. package/src/built-in/authorization/router.ts +1 -1
  47. package/src/built-in/layout-component/components/Content/IframeView.vue +16 -11
  48. package/src/built-in/layout-component/components/Content/index.vue +2 -1
  49. package/src/built-in/settings/router.ts +15 -4
  50. package/src/built-in/system-info/components/SystemInfo.vue +67 -37
  51. package/src/core/resolver/layout.ts +13 -3
  52. package/src/features/api/modules/auth/index.ts +0 -2
  53. package/src/features/api/modules/auth/renzhengfuwu.ts +132 -1
  54. package/src/features/api/modules/auth/typings.d.ts +75 -1
  55. package/src/features/api/modules/configData/heibaimingdanfuwu.ts +2 -0
  56. package/src/features/api/modules/configData/index.ts +0 -2
  57. package/src/features/api/modules/configData/zidifuwu.ts +4 -0
  58. package/src/features/api/modules/rbac/gangweijiekou.ts +3 -0
  59. package/src/features/api/modules/rbac/index.ts +1 -2
  60. package/src/features/api/modules/rbac/typings.d.ts +97 -1
  61. package/src/features/api/modules/rbac/yonghujiekou.ts +25 -0
  62. package/src/features/api/modules/rbac/yonghushoucangbiaojiekou.ts +2 -0
  63. package/src/features/api/modules/rbac/yonghuzuijinchangyongbiaojiekou.ts +1 -0
  64. package/src/features/api/modules/rbac/ziyuandaorudaochuxiangguanjiekou.ts +158 -0
  65. package/src/features/api/modules/rbac/ziyuanjiekou.ts +21 -0
  66. package/src/features/enum.ts +1 -1
  67. package/src/features/stores/modules/iframe.ts +12 -3
  68. package/src/features/stores/modules/route.ts +3 -2
  69. package/types/global.d.ts +5 -0
  70. package/types/vue-router.d.ts +2 -2
  71. package/dist/HeaderThinMenu-BMjyPDYS.js +0 -4
  72. package/dist/index-CUbMQSBZ.js +0 -4
  73. package/src/features/components/MicroAppContainer/index.vue +0 -9
@@ -20,6 +20,7 @@ export function postDictItemDeleteById<
20
20
  {
21
21
  params: { ...queryParams },
22
22
  ...(options || {}),
23
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
23
24
  },
24
25
  );
25
26
  }
@@ -44,6 +45,7 @@ export function deleteDictItemDeleteById<
44
45
  {
45
46
  params: { ...queryParams },
46
47
  ...(options || {}),
48
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
47
49
  },
48
50
  );
49
51
  }
@@ -152,6 +154,7 @@ export function postDictTypeDeleteById<
152
154
  {
153
155
  params: { ...queryParams },
154
156
  ...(options || {}),
157
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
155
158
  },
156
159
  );
157
160
  }
@@ -176,6 +179,7 @@ export function deleteDictTypeDeleteById<
176
179
  {
177
180
  params: { ...queryParams },
178
181
  ...(options || {}),
182
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
179
183
  },
180
184
  );
181
185
  }
@@ -20,6 +20,7 @@ export function postRbacPostDeleteById<
20
20
  {
21
21
  params: { ...queryParams },
22
22
  ...(options || {}),
23
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
23
24
  },
24
25
  );
25
26
  }
@@ -44,6 +45,7 @@ export function deleteRbacPostDeleteById<
44
45
  {
45
46
  params: { ...queryParams },
46
47
  ...(options || {}),
48
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
47
49
  },
48
50
  );
49
51
  }
@@ -65,6 +67,7 @@ export function getRbacPostDetailById<
65
67
  return request.Get<R, T>(`/rbac/post/detail/${param0}`, {
66
68
  params: { ...queryParams },
67
69
  ...(options || {}),
70
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
68
71
  });
69
72
  }
70
73
 
@@ -2,11 +2,10 @@ export * from './gangweijiekou';
2
2
  export * from './jiaosejiekou';
3
3
  export * from './pubJiaosezukongzhiqi';
4
4
  export * from './shujuquanxianzhubiaokongzhiqi';
5
- // API 更新时间:
6
- // API 唯一标识:
7
5
  export * from './yonghujiekou';
8
6
  export * from './yonghushoucangbiaojiekou';
9
7
  export * from './yonghuzuijinchangyongbiaojiekou';
8
+ export * from './ziyuandaorudaochuxiangguanjiekou';
10
9
  export * from './ziyuanjiekou';
11
10
  export * from './zuhuguanlijiekou';
12
11
  export * from './zuzhijiaosebiaokongzhiqi';
@@ -51,6 +51,10 @@ declare namespace API {
51
51
  id: string;
52
52
  };
53
53
 
54
+ type deleteRbacResourceBackupDeleteResourceBackupParams = {
55
+ id: string;
56
+ };
57
+
54
58
  type getRbacCollectByIdDetailParams = {
55
59
  id: string;
56
60
  };
@@ -120,6 +124,19 @@ declare namespace API {
120
124
  id: string;
121
125
  };
122
126
 
127
+ type getRbacResourceBackupDetailParams = {
128
+ id: string;
129
+ };
130
+
131
+ type getRbacResourceBackupListParams = {
132
+ /** 0历史版本,1导入数据 */
133
+ type: string;
134
+ };
135
+
136
+ type getRbacResourceBackupRestoreParams = {
137
+ id: string;
138
+ };
139
+
123
140
  type getRbacResourceGetRoleListByResourceIdParams = {
124
141
  /** 资源id */
125
142
  id: string;
@@ -308,9 +325,27 @@ declare namespace API {
308
325
  userId: string;
309
326
  };
310
327
 
328
+ type postRbacResourceBackupImportResourceDataParams = {
329
+ parentId: string;
330
+ };
331
+
311
332
  type postRbacResourceMineOrAllResourceTreeParams = {
312
333
  needAll?: boolean;
313
334
  enable?: boolean;
335
+ appResourceCodes?: string;
336
+ };
337
+
338
+ type postRbacUserCaptchaChangePasswordWithVerifyCodeParams = {
339
+ /** 原密码(使用公钥加密) */
340
+ oldPassword: string;
341
+ /** 新密码(使用公钥加密) */
342
+ newPassword: string;
343
+ /** 验证码hash,imageCode必填 */
344
+ codeHash: string;
345
+ /** 验证码/token */
346
+ code: string;
347
+ /** 验证码类型 */
348
+ captchaType: string;
314
349
  };
315
350
 
316
351
  type postRbacUserChangePasswordParams = {
@@ -720,6 +755,7 @@ declare namespace API {
720
755
  };
721
756
 
722
757
  type PubResourceAddDto = {
758
+ id?: string;
723
759
  /** 父级id */
724
760
  parentId?: string;
725
761
  /** 资源名称 */
@@ -750,6 +786,42 @@ declare namespace API {
750
786
  meta?: Record<string, any>;
751
787
  };
752
788
 
789
+ type PubResourceBackupBO = {
790
+ /** id */
791
+ id?: string;
792
+ /** 资源数据 */
793
+ content?: PubResourceTreeBo[];
794
+ /** 0备份数据,1导入数据 */
795
+ contentType?: string;
796
+ /** 是否删除,0:否,1:是 */
797
+ deleted?: boolean;
798
+ /** 创建id */
799
+ createdBy?: string;
800
+ /** 创建时间 */
801
+ createTime?: string;
802
+ /** 更新人id */
803
+ updatedBy?: string;
804
+ /** 更新时间 */
805
+ updateTime?: string;
806
+ /** 创建人姓名 */
807
+ createUserName?: string;
808
+ contentStr?: string;
809
+ };
810
+
811
+ type PubResourceExportBO = {
812
+ /** 导出类型:1-导出所有,2-导出选中 */
813
+ exportType?: string;
814
+ resourceTree?: PubResourceTreeBo[];
815
+ md5?: string;
816
+ };
817
+
818
+ type PubResourceReSortUpdateDTO = {
819
+ /** 资源id */
820
+ id?: string;
821
+ /** 子资源列表 */
822
+ children?: PubResourceReSortUpdateDTO[];
823
+ };
824
+
753
825
  type PubResourceTreeBo = {
754
826
  /** 主键 */
755
827
  id?: string;
@@ -1575,6 +1647,14 @@ declare namespace API {
1575
1647
  success?: boolean;
1576
1648
  };
1577
1649
 
1650
+ type ResponseDataListPubResourceBackupBO = {
1651
+ code?: number;
1652
+ msg?: string;
1653
+ hint?: string;
1654
+ data?: PubResourceBackupBO[];
1655
+ success?: boolean;
1656
+ };
1657
+
1578
1658
  type ResponseDataListPubResourceTreeBo = {
1579
1659
  code?: number;
1580
1660
  msg?: string;
@@ -1783,6 +1863,22 @@ declare namespace API {
1783
1863
  success?: boolean;
1784
1864
  };
1785
1865
 
1866
+ type ResponseDataPubResourceBackupBO = {
1867
+ code?: number;
1868
+ msg?: string;
1869
+ hint?: string;
1870
+ data?: PubResourceBackupBO;
1871
+ success?: boolean;
1872
+ };
1873
+
1874
+ type ResponseDataPubResourceExportBO = {
1875
+ code?: number;
1876
+ msg?: string;
1877
+ hint?: string;
1878
+ data?: PubResourceExportBO;
1879
+ success?: boolean;
1880
+ };
1881
+
1786
1882
  type ResponseDataPubRoleBo = {
1787
1883
  code?: number;
1788
1884
  msg?: string;
@@ -1910,7 +2006,7 @@ declare namespace API {
1910
2006
  /** 群组id */
1911
2007
  groups?: shujuquanxianmokuaihuixiandequnzuduixiang[];
1912
2008
  /** 资源id */
1913
- resources?: PubResourceTreeBo[];
2009
+ resources?: PubResource[];
1914
2010
  };
1915
2011
 
1916
2012
  type shujuquanxianchaxunduixiang = {
@@ -1,5 +1,30 @@
1
1
  import { basic as request } from '@/features/api/request';
2
2
 
3
+ /**
4
+ * @description 验证码-修改登录密码
5
+ * @url /rbac/user/captcha/changePasswordWithVerifyCode
6
+ * @method POST
7
+ * @author @pubinfo/openapi
8
+ */
9
+ export function postRbacUserCaptchaChangePasswordWithVerifyCode<
10
+ R = API.ResponseDataVoid,
11
+ T = API.ResponseDataVoid,
12
+ >(
13
+ params: API.postRbacUserCaptchaChangePasswordWithVerifyCodeParams,
14
+ options?: Parameters<typeof request.Post<R, T>>[2],
15
+ ) {
16
+ return request.Post<R, T>(
17
+ '/rbac/user/captcha/changePasswordWithVerifyCode',
18
+ {},
19
+ {
20
+ params: {
21
+ ...params,
22
+ },
23
+ ...(options || {}),
24
+ },
25
+ );
26
+ }
27
+
3
28
  /**
4
29
  * @description 修改登录密码
5
30
  * @url /rbac/user/changePassword
@@ -20,6 +20,7 @@ export function postRbacCollectByIdDelete<
20
20
  {
21
21
  params: { ...queryParams },
22
22
  ...(options || {}),
23
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
23
24
  },
24
25
  );
25
26
  }
@@ -41,6 +42,7 @@ export function getRbacCollectByIdDetail<
41
42
  return request.Get<R, T>(`/rbac/collect/${param0}/detail`, {
42
43
  params: { ...queryParams },
43
44
  ...(options || {}),
45
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
44
46
  });
45
47
  }
46
48
 
@@ -17,6 +17,7 @@ export function getRbacUsedByIdDetail<
17
17
  return request.Get<R, T>(`/rbac/used/${param0}/detail`, {
18
18
  params: { ...queryParams },
19
19
  ...(options || {}),
20
+ meta: { ...(options?.meta ?? {}), pathParams: [param0] },
20
21
  });
21
22
  }
22
23
 
@@ -0,0 +1,158 @@
1
+ import { basic as request } from '@/features/api/request';
2
+
3
+ /**
4
+ * @description 删除备份数据数据
5
+ * @url /rbac/resource-backup/deleteResourceBackup
6
+ * @method DELETE
7
+ * @author @pubinfo/openapi
8
+ */
9
+ export function deleteRbacResourceBackupDeleteResourceBackup<
10
+ R = API.ResponseDataVoid,
11
+ T = API.ResponseDataVoid,
12
+ >(
13
+ params: API.deleteRbacResourceBackupDeleteResourceBackupParams,
14
+ options?: Parameters<typeof request.Delete<R, T>>[2],
15
+ ) {
16
+ return request.Delete<R, T>(
17
+ '/rbac/resource-backup/deleteResourceBackup',
18
+ {},
19
+ {
20
+ params: {
21
+ ...params,
22
+ },
23
+ ...(options || {}),
24
+ },
25
+ );
26
+ }
27
+
28
+ /**
29
+ * @description 查看详情
30
+ * @url /rbac/resource-backup/detail
31
+ * @method GET
32
+ * @author @pubinfo/openapi
33
+ */
34
+ export function getRbacResourceBackupDetail<
35
+ R = API.ResponseDataPubResourceBackupBO,
36
+ T = API.ResponseDataPubResourceBackupBO,
37
+ >(
38
+ params: API.getRbacResourceBackupDetailParams,
39
+ options?: Parameters<typeof request.Get<R, T>>[1],
40
+ ) {
41
+ return request.Get<R, T>('/rbac/resource-backup/detail', {
42
+ params: {
43
+ ...params,
44
+ },
45
+ ...(options || {}),
46
+ });
47
+ }
48
+
49
+ /**
50
+ * @description 资源导出
51
+ * @url /rbac/resource-backup/exportResourceData
52
+ * @method POST
53
+ * @author @pubinfo/openapi
54
+ */
55
+ export function postRbacResourceBackupExportResourceData<
56
+ R = API.ResponseDataPubResourceExportBO,
57
+ T = API.ResponseDataPubResourceExportBO,
58
+ >(body: string[], options?: Parameters<typeof request.Post<R, T>>[2]) {
59
+ return request.Post<R, T>('/rbac/resource-backup/exportResourceData', body, {
60
+ headers: {
61
+ 'Content-Type': 'application/json',
62
+ },
63
+ ...(options || {}),
64
+ });
65
+ }
66
+
67
+ /**
68
+ * @description 资源导入
69
+ * @url /rbac/resource-backup/importResourceData
70
+ * @method POST
71
+ * @author @pubinfo/openapi
72
+ */
73
+ export function postRbacResourceBackupImportResourceData<
74
+ R = API.ResponseDataVoid,
75
+ T = API.ResponseDataVoid,
76
+ >(
77
+ params: API.postRbacResourceBackupImportResourceDataParams,
78
+ body: Record<string, unknown>,
79
+ file?: File,
80
+ options?: Parameters<typeof request.Post<R, T>>[2],
81
+ ) {
82
+ const formData = new FormData();
83
+
84
+ if (file) {
85
+ formData.append('file', file);
86
+ }
87
+
88
+ Object.keys(body).forEach((ele) => {
89
+ const item = (body as any)[ele];
90
+
91
+ if (item !== undefined && item !== null) {
92
+ if (typeof item === 'object' && !(item instanceof File)) {
93
+ if (Array.isArray(item)) {
94
+ item.forEach(f => formData.append(ele, f || ''));
95
+ }
96
+ else {
97
+ formData.append(ele, JSON.stringify(item));
98
+ }
99
+ }
100
+ else {
101
+ formData.append(ele, item);
102
+ }
103
+ }
104
+ });
105
+
106
+ return request.Post<R, T>(
107
+ '/rbac/resource-backup/importResourceData',
108
+ formData,
109
+ {
110
+ params: {
111
+ ...params,
112
+ },
113
+ ...(options || {}),
114
+ },
115
+ );
116
+ }
117
+
118
+ /**
119
+ * @description 查看列表
120
+ * @url /rbac/resource-backup/list
121
+ * @method GET
122
+ * @author @pubinfo/openapi
123
+ */
124
+ export function getRbacResourceBackupList<
125
+ R = API.ResponseDataListPubResourceBackupBO,
126
+ T = API.ResponseDataListPubResourceBackupBO,
127
+ >(
128
+ params: API.getRbacResourceBackupListParams,
129
+ options?: Parameters<typeof request.Get<R, T>>[1],
130
+ ) {
131
+ return request.Get<R, T>('/rbac/resource-backup/list', {
132
+ params: {
133
+ ...params,
134
+ },
135
+ ...(options || {}),
136
+ });
137
+ }
138
+
139
+ /**
140
+ * @description 恢复数据
141
+ * @url /rbac/resource-backup/restore
142
+ * @method GET
143
+ * @author @pubinfo/openapi
144
+ */
145
+ export function getRbacResourceBackupRestore<
146
+ R = API.ResponseDataVoid,
147
+ T = API.ResponseDataVoid,
148
+ >(
149
+ params: API.getRbacResourceBackupRestoreParams,
150
+ options?: Parameters<typeof request.Get<R, T>>[1],
151
+ ) {
152
+ return request.Get<R, T>('/rbac/resource-backup/restore', {
153
+ params: {
154
+ ...params,
155
+ },
156
+ ...(options || {}),
157
+ });
158
+ }
@@ -160,6 +160,27 @@ export function postRbacResourceMineOrAllResourceTree<
160
160
  );
161
161
  }
162
162
 
163
+ /**
164
+ * @description 资源拖拉拽更新
165
+ * @url /rbac/resource/reSortUpdate
166
+ * @method POST
167
+ * @author @pubinfo/openapi
168
+ */
169
+ export function postRbacResourceReSortUpdate<
170
+ R = API.ResponseDataVoid,
171
+ T = API.ResponseDataVoid,
172
+ >(
173
+ body: API.PubResourceReSortUpdateDTO[],
174
+ options?: Parameters<typeof request.Post<R, T>>[2],
175
+ ) {
176
+ return request.Post<R, T>('/rbac/resource/reSortUpdate', body, {
177
+ headers: {
178
+ 'Content-Type': 'application/json',
179
+ },
180
+ ...(options || {}),
181
+ });
182
+ }
183
+
163
184
  /**
164
185
  * @description 资源删除
165
186
  * @url /rbac/resource/resourceDelete
@@ -11,7 +11,7 @@ export enum RESOURCE_TYPE {
11
11
  /** 非菜单页 */
12
12
  NON_MENU = '5',
13
13
  /** 微应用 */
14
- MICRO_APP = '6',
14
+ // MICRO_APP = '6',
15
15
  /** 动态应用 */
16
16
  DYNAMIC_APP = '7',
17
17
  /** 内嵌 */
@@ -77,14 +77,23 @@ const useIframeStore = defineStore(
77
77
  * 如果路径是一个字符串,则关闭单个 iframe 路由。
78
78
  * 如果路径是一个字符串数组,则关闭多个 iframe 路由。
79
79
  * @param path 要关闭的 iframe 路由的路径(路径)。
80
+ * @param destroy 是否真正销毁 iframe(true: 从 openedList 移除;false: 仅标记为非激活保留 DOM)
80
81
  */
81
- function close(path: string | string[]) {
82
+ function close(path: string | string[], destroy = false) {
82
83
  function closeIframeRoute(path: string | string[]) {
83
84
  const idx = list.value.findIndex(item => item.path === path);
84
85
  if (~idx) {
85
- list.value[idx].isOpen = false;
86
- list.value[idx].isLoading = true;
86
+ if (destroy) {
87
+ // 真正销毁:从 openedList 移除,下次进入会重新创建
88
+ list.value[idx].isOpen = false;
89
+ list.value[idx].isLoading = true;
90
+ }
91
+ else {
92
+ // 仅标记非激活:保留 isOpen=true,通过 v-show 隐藏,保持 DOM 实例
93
+ // 不修改 isOpen 状态,让 iframe 继续存在于 openedList
94
+ }
87
95
  }
96
+ // 无论是否销毁,都从最近访问列表中移除
88
97
  recentPathList.value = recentPathList.value.filter(item => item !== path);
89
98
  }
90
99
 
@@ -289,9 +289,10 @@ const useRouteStore = defineStore(
289
289
 
290
290
  // 将设置 meta.singleMenu 的一级路由转换成二级路由
291
291
  function convertSingleRoutes<T extends RouteData[]>(routes: T) {
292
- const Layout = setupDefaultLayout();
293
-
294
292
  routes.map((route) => {
293
+ // 在应用级配置 meta.layout
294
+ const Layout = setupDefaultLayout(route?.meta?.layout);
295
+
295
296
  if (route.children && route.children.length > 0) {
296
297
  route.children.forEach((item, index, arr) => {
297
298
  if (item.meta?.singleMenu) {
package/types/global.d.ts CHANGED
@@ -3,5 +3,10 @@ declare const __SYSTEM_INFO__: {
3
3
  dependencies: Record<string, string>
4
4
  devDependencies: Record<string, string>
5
5
  }
6
+ git: {
7
+ commit: string
8
+ commitShort: string
9
+ branch: string
10
+ }
6
11
  buildTime: string
7
12
  };
@@ -48,12 +48,12 @@ export declare namespace Route {
48
48
  type recordMainRawBasicMeta = Partial<Pick<RouterMetaRawBaseOptions, mainMeta>>;
49
49
 
50
50
  interface recordMainRawNotDev {
51
- meta: Merge<recordMainRawBasicMeta, { isDev?: false }>
51
+ meta: Merge<recordMainRawBasicMeta, { isDev?: false, layout?: string }>
52
52
  children: RouteRecordRaw[]
53
53
  }
54
54
 
55
55
  interface recordMainRawDev {
56
- meta: Merge<recordMainRawBasicMeta, { isDev: true }>
56
+ meta: Merge<recordMainRawBasicMeta, { isDev: true, layout?: string }>
57
57
  children?: RouteRecordRaw[]
58
58
  }
59
59
 
@@ -1,4 +0,0 @@
1
- import { cx as f } from "./index-Dalsj2EI.js";
2
- export {
3
- f as default
4
- };
@@ -1,4 +0,0 @@
1
- import { cw as f } from "./index-Dalsj2EI.js";
2
- export {
3
- f as default
4
- };
@@ -1,9 +0,0 @@
1
- <script setup lang="ts">
2
- defineOptions({
3
- name: 'MicroAppContainer',
4
- });
5
- </script>
6
-
7
- <template>
8
- <div>微应用容器</div>
9
- </template>