@maketribe/ms-app 3.0.0 → 3.0.1

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 (201) hide show
  1. package/dist/cjs/MSAppClient.js +12 -18
  2. package/dist/cjs/MSAppClient.js.map +1 -1
  3. package/dist/cjs/Router.js +6 -8
  4. package/dist/cjs/Router.js.map +1 -1
  5. package/dist/cjs/components/member-table/member-table.vue2.js +2 -10
  6. package/dist/cjs/components/member-table/member-table.vue2.js.map +1 -1
  7. package/dist/cjs/components/verify-dialog/verify-dialog.js +1 -24
  8. package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
  9. package/dist/cjs/init-application.js +8 -1
  10. package/dist/cjs/init-application.js.map +1 -1
  11. package/dist/cjs/page/index/dv/default/add.vue.js +2 -2
  12. package/dist/cjs/page/index/dv/default/edit.vue.js +2 -2
  13. package/dist/cjs/page/index/dv/default/tree.vue.js +2 -2
  14. package/dist/cjs/page/index/dv/ms-member/index.vue.js +2 -2
  15. package/dist/cjs/page/index/dv/ms-role/index.vue.js +2 -2
  16. package/dist/cjs/page/index/material/index.vue.js +2 -2
  17. package/dist/cjs/page/login/index.vue.js +2 -2
  18. package/dist/cjs/page/login/index.vue2.js +2 -17
  19. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  20. package/dist/cjs/page/signup/index.vue.js +2 -2
  21. package/dist/cjs/page/signup/index.vue2.js +2 -18
  22. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  23. package/dist/cjs/router-middleware/auth.d.ts +2 -1
  24. package/dist/cjs/router-middleware/auth.js +1 -3
  25. package/dist/cjs/router-middleware/auth.js.map +1 -1
  26. package/dist/esm/MSAppClient.js +11 -19
  27. package/dist/esm/MSAppClient.js.map +1 -1
  28. package/dist/esm/Router.js +4 -8
  29. package/dist/esm/Router.js.map +1 -1
  30. package/dist/esm/components/member-table/member-table.vue2.js +2 -10
  31. package/dist/esm/components/member-table/member-table.vue2.js.map +1 -1
  32. package/dist/esm/components/verify-dialog/verify-dialog.js +1 -24
  33. package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
  34. package/dist/esm/init-application.js +8 -1
  35. package/dist/esm/init-application.js.map +1 -1
  36. package/dist/esm/page/index/dv/default/add.vue.js +2 -2
  37. package/dist/esm/page/index/dv/default/edit.vue.js +2 -2
  38. package/dist/esm/page/index/dv/default/tree.vue.js +2 -2
  39. package/dist/esm/page/index/dv/ms-member/index.vue.js +2 -2
  40. package/dist/esm/page/index/dv/ms-role/index.vue.js +2 -2
  41. package/dist/esm/page/index/material/index.vue.js +2 -2
  42. package/dist/esm/page/login/index.vue.js +2 -2
  43. package/dist/esm/page/login/index.vue2.js +2 -17
  44. package/dist/esm/page/login/index.vue2.js.map +1 -1
  45. package/dist/esm/page/signup/index.vue.js +2 -2
  46. package/dist/esm/page/signup/index.vue2.js +2 -18
  47. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  48. package/dist/esm/router-middleware/auth.d.ts +2 -1
  49. package/dist/esm/router-middleware/auth.js +1 -3
  50. package/dist/esm/router-middleware/auth.js.map +1 -1
  51. package/package.json +8 -5
  52. package/gulpfile.ts +0 -1
  53. package/rollup.config.mjs +0 -11
  54. package/src/ConfigComponents.ts +0 -20
  55. package/src/MSAppClient.ts +0 -343
  56. package/src/MSDataFilterComponents.ts +0 -6
  57. package/src/MSDataFormComponents.ts +0 -12
  58. package/src/MSDataTableComponents.ts +0 -6
  59. package/src/MaterialComponents.ts +0 -26
  60. package/src/PermissionPointManager.ts +0 -26
  61. package/src/Router.ts +0 -133
  62. package/src/UserInfo.ts +0 -66
  63. package/src/UserSession.ts +0 -190
  64. package/src/components/image-select/image-select-option.ts +0 -11
  65. package/src/components/image-select/image-select.tsx +0 -40
  66. package/src/components/image-select/index.ts +0 -6
  67. package/src/components/index.ts +0 -8
  68. package/src/components/material-list/index.ts +0 -7
  69. package/src/components/material-list/material-group-form-popover.vue +0 -66
  70. package/src/components/material-list/material-group.vue +0 -138
  71. package/src/components/material-list/material-item.vue +0 -26
  72. package/src/components/material-list/material-list-options.ts +0 -23
  73. package/src/components/material-list/material-list.vue +0 -151
  74. package/src/components/material-select/index.ts +0 -15
  75. package/src/components/material-select/material-select-api.ts +0 -48
  76. package/src/components/material-select/material-select-options.ts +0 -18
  77. package/src/components/material-select/material-select-type.ts +0 -11
  78. package/src/components/material-select/material-select.tsx +0 -95
  79. package/src/components/member-table/index.ts +0 -6
  80. package/src/components/member-table/member-table.vue +0 -220
  81. package/src/components/menu-permission-table/index.ts +0 -6
  82. package/src/components/menu-permission-table/menu-permission-table.vue +0 -143
  83. package/src/components/role-permission-config/index.ts +0 -7
  84. package/src/components/role-permission-config/role-permission-config-options.ts +0 -20
  85. package/src/components/role-permission-config/role-permission-config.tsx +0 -280
  86. package/src/components/system-provider/index.ts +0 -5
  87. package/src/components/system-provider/system-provider.tsx +0 -93
  88. package/src/components/verify-dialog/index.ts +0 -5
  89. package/src/components/verify-dialog/verify-dialog-option.ts +0 -23
  90. package/src/components/verify-dialog/verify-dialog.tsx +0 -113
  91. package/src/composables/index.ts +0 -13
  92. package/src/composables/on-tab-before-close.ts +0 -8
  93. package/src/composables/on-tab-before-switch.ts +0 -8
  94. package/src/composables/on-tab-refresh.ts +0 -8
  95. package/src/composables/use-current-tab.ts +0 -5
  96. package/src/composables/use-http-request.ts +0 -5
  97. package/src/composables/use-ms-app-client.ts +0 -10
  98. package/src/composables/use-user-info.ts +0 -4
  99. package/src/constants/index.ts +0 -2
  100. package/src/constants/route.ts +0 -4
  101. package/src/constants/token.ts +0 -5
  102. package/src/dataview/config/ConfigForm.ts +0 -110
  103. package/src/dataview/config/ConfigTable.ts +0 -68
  104. package/src/dataview/config/index.ts +0 -2
  105. package/src/dataview/department/DepartmentForm.ts +0 -43
  106. package/src/dataview/department/DepartmentTable.ts +0 -67
  107. package/src/dataview/department/index.ts +0 -2
  108. package/src/dataview/index.ts +0 -7
  109. package/src/dataview/material/MaterialForm.ts +0 -51
  110. package/src/dataview/material/MaterialMan.ts +0 -176
  111. package/src/dataview/material/MaterialTable.ts +0 -123
  112. package/src/dataview/material/index.ts +0 -4
  113. package/src/dataview/material/material-group/MaterialGroupForm.ts +0 -30
  114. package/src/dataview/material/material-group/MaterialGroupTable.ts +0 -60
  115. package/src/dataview/material/material-group/index.ts +0 -2
  116. package/src/dataview/member/MemberForm.ts +0 -122
  117. package/src/dataview/member/MemberTable.tsx +0 -242
  118. package/src/dataview/member/index.ts +0 -2
  119. package/src/dataview/member/member-role/MemberRoleTable.ts +0 -21
  120. package/src/dataview/menu/MenuForm.ts +0 -113
  121. package/src/dataview/menu/MenuTable.ts +0 -37
  122. package/src/dataview/menu/MenuTree.ts +0 -143
  123. package/src/dataview/menu/index.ts +0 -4
  124. package/src/dataview/menu/permission-point/PermissionPointDefineForm.ts +0 -28
  125. package/src/dataview/menu/permission-point/PermissionPointDefineTable.ts +0 -30
  126. package/src/dataview/menu/permission-point/index.ts +0 -2
  127. package/src/dataview/role/RoleForm.ts +0 -36
  128. package/src/dataview/role/RolePermissionConfigTable.ts +0 -471
  129. package/src/dataview/role/RoleTable.ts +0 -68
  130. package/src/dataview/role/index.ts +0 -5
  131. package/src/dataview/role/role-permission-point/RolePermissionPointTable.ts +0 -27
  132. package/src/dataview/role/role-permission-point/index.ts +0 -1
  133. package/src/dataview/role/role-route/RoleRouteTable.ts +0 -28
  134. package/src/dataview/role/role-route/index.ts +0 -1
  135. package/src/dataview/route/RouteForm.ts +0 -92
  136. package/src/dataview/route/RouteTable.ts +0 -71
  137. package/src/dataview/route/index.ts +0 -2
  138. package/src/init-application.ts +0 -84
  139. package/src/installer.ts +0 -26
  140. package/src/layouts/index.ts +0 -1
  141. package/src/layouts/manager-system/components/aside/aside.tsx +0 -45
  142. package/src/layouts/manager-system/components/aside/bar/bar.tsx +0 -79
  143. package/src/layouts/manager-system/components/aside/bar/index.ts +0 -5
  144. package/src/layouts/manager-system/components/aside/index.ts +0 -5
  145. package/src/layouts/manager-system/components/aside/menu/index.ts +0 -5
  146. package/src/layouts/manager-system/components/aside/menu/menu-item.tsx +0 -63
  147. package/src/layouts/manager-system/components/aside/menu/menu.tsx +0 -51
  148. package/src/layouts/manager-system/components/aside/panel/index.ts +0 -5
  149. package/src/layouts/manager-system/components/aside/panel/panel.tsx +0 -57
  150. package/src/layouts/manager-system/components/header/breadcrumb/breadcrumb.tsx +0 -47
  151. package/src/layouts/manager-system/components/header/breadcrumb/index.ts +0 -5
  152. package/src/layouts/manager-system/components/header/header.tsx +0 -17
  153. package/src/layouts/manager-system/components/header/index.ts +0 -5
  154. package/src/layouts/manager-system/components/header/nav/index.ts +0 -5
  155. package/src/layouts/manager-system/components/header/nav/nav.tsx +0 -100
  156. package/src/layouts/manager-system/components/header/tabs/index.ts +0 -5
  157. package/src/layouts/manager-system/components/header/tabs/tabs.tsx +0 -72
  158. package/src/layouts/manager-system/components/header/tools/index.ts +0 -5
  159. package/src/layouts/manager-system/components/header/tools/tools.tsx +0 -15
  160. package/src/layouts/manager-system/index.ts +0 -6
  161. package/src/layouts/manager-system/manager-system.tsx +0 -25
  162. package/src/menu/Menu.ts +0 -142
  163. package/src/menu/MenuNode.ts +0 -49
  164. package/src/menu/index.ts +0 -2
  165. package/src/page/index/dv/default/add.vue +0 -49
  166. package/src/page/index/dv/default/edit.vue +0 -55
  167. package/src/page/index/dv/default/index.vue +0 -56
  168. package/src/page/index/dv/default/tree.vue +0 -31
  169. package/src/page/index/dv/ms-member/index.vue +0 -38
  170. package/src/page/index/dv/ms-role/index.vue +0 -28
  171. package/src/page/index/material/index.vue +0 -14
  172. package/src/page/login/index.vue +0 -191
  173. package/src/page/signup/index.vue +0 -157
  174. package/src/resolver/ITypeResolver.ts +0 -5
  175. package/src/router-middleware/auth.ts +0 -64
  176. package/src/router-middleware/index.ts +0 -1
  177. package/src/tabs/Tab.ts +0 -59
  178. package/src/tabs/Tabs.ts +0 -176
  179. package/src/tabs/index.ts +0 -2
  180. package/src/tokens/index.ts +0 -1
  181. package/src/tokens/ms-app-client.ts +0 -10
  182. package/style/components/image-select.scss +0 -13
  183. package/style/components/index.scss +0 -9
  184. package/style/components/material-group.scss +0 -38
  185. package/style/components/material-item.scss +0 -20
  186. package/style/components/material-list.scss +0 -67
  187. package/style/components/material-select.scss +0 -23
  188. package/style/components/member-table.scss +0 -9
  189. package/style/components/menu-permission-table.scss +0 -43
  190. package/style/components/role-permission-config.scss +0 -18
  191. package/style/components/verify-dialog.scss +0 -16
  192. package/style/index.scss +0 -4
  193. package/style/layouts/index.scss +0 -1
  194. package/style/layouts/manager-system/aside.scss +0 -116
  195. package/style/layouts/manager-system/header.scss +0 -129
  196. package/style/layouts/manager-system/index.scss +0 -4
  197. package/style/layouts/manager-system/manager-system.scss +0 -26
  198. package/style/layouts/manager-system/menu.scss +0 -47
  199. package/style/page/login.scss +0 -107
  200. package/tsconfig.build.json +0 -10
  201. package/tsconfig.json +0 -14
@@ -1,343 +0,0 @@
1
- import {
2
- createRouter,
3
- createWebHashHistory,
4
- Router as VueRouter,
5
- } from "vue-router";
6
- import { HttpRequest, R, WebHttpRequest } from "@maketribe/request";
7
- import { IComponents, DataModel } from "@maketribe/dm";
8
- import { I18n } from "@maketribe/locale";
9
-
10
- import { createDisposable, Event, md5 } from "@maketribe/utils";
11
- import { UserSession } from "./UserSession";
12
- import { MSDataTableComponents } from "./MSDataTableComponents";
13
- import { MSDataFormComponents } from "./MSDataFormComponents";
14
- import { MSDataFilterComponents } from "./MSDataFilterComponents";
15
- import LoginPage from "./page/login/index.vue";
16
- import SignUpPage from "./page/signup/index.vue";
17
- import { authBeforeEach } from "./router-middleware";
18
- import MaterialListPage from "./page/index/material/index.vue";
19
- import MemberListPage from "./page/index/dv/ms-member/index.vue";
20
- import RoleListPage from "./page/index/dv/ms-role/index.vue";
21
-
22
- export interface MSAppClientOptions {
23
- projectName: string;
24
- httpRequest?: HttpRequest;
25
- origin: string;
26
- appID: string;
27
- logo?: string;
28
- locale?: string;
29
- vueRouter?: VueRouter;
30
- dataTableComponents?: IComponents;
31
- dataFormComponents?: IComponents;
32
- dataFilterComponents?: IComponents;
33
- whereFilterComponents?: IComponents;
34
- }
35
-
36
- export class MSAppClient {
37
- static instance: MSAppClient | null = null;
38
-
39
- origin: string = "";
40
-
41
- private _options: Required<MSAppClientOptions>;
42
-
43
- projectName: string;
44
-
45
- logo: string;
46
-
47
- appID: string;
48
-
49
- userSession: UserSession | null = null;
50
-
51
- httpRequest: HttpRequest;
52
-
53
- ready: boolean = false;
54
-
55
- initd: boolean = false;
56
-
57
- /**
58
- * @deprecated
59
- * @description 使用 MSAppClient.instance.userSession.userInfo
60
- */
61
- get userInfo() {
62
- return this.userSession?.userInfo ?? null;
63
- }
64
-
65
- i18n: I18n;
66
-
67
- dataTableComponents: IComponents;
68
- dataFormComponents: IComponents;
69
- dataFilterComponents: IComponents;
70
- whereFilterComponents: IComponents;
71
-
72
- vueRouter: VueRouter;
73
-
74
- beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();
75
-
76
- userSessionChangeEvent: Event<{ userSession: UserSession | null }> =
77
- new Event();
78
-
79
- constructor(options: MSAppClientOptions) {
80
- this._options = this._normalizeOptions(options);
81
-
82
- this.appID = this._options.appID;
83
-
84
- this.logo = this._options.logo;
85
-
86
- this.projectName = options.projectName;
87
-
88
- this.i18n = I18n.instance;
89
- this.i18n.setCurrentLanguageName(this._options.locale);
90
-
91
- this.dataTableComponents = this._options.dataTableComponents;
92
- this.dataFormComponents = this._options.dataFormComponents;
93
- this.dataFilterComponents = this._options.dataFilterComponents;
94
- this.whereFilterComponents = this._options.whereFilterComponents;
95
-
96
- this.vueRouter = this._options.vueRouter;
97
-
98
- HttpRequest.appID = this.appID;
99
-
100
- this.httpRequest = this._options.httpRequest;
101
-
102
- DataModel.setHttpRequest(this.httpRequest);
103
- }
104
-
105
- setUserSession(userSession: UserSession | null) {
106
- if (this.userSession) {
107
- this.userSession.dispose();
108
- }
109
-
110
- this.userSession = userSession;
111
-
112
- this.userSessionChangeEvent.emit({ userSession });
113
- }
114
-
115
- private _normalizeOptions(
116
- options: MSAppClientOptions
117
- ): Required<MSAppClientOptions> {
118
- return {
119
- appID: options.appID,
120
- projectName: options.projectName,
121
- httpRequest: options.httpRequest ?? new WebHttpRequest(),
122
- origin: options.origin,
123
- logo: options.logo || "",
124
- locale: options.locale || "zh-cn",
125
- vueRouter:
126
- options.vueRouter ??
127
- createRouter({
128
- history: createWebHashHistory(),
129
- routes: [],
130
- }),
131
- dataTableComponents:
132
- options.dataTableComponents ?? new MSDataTableComponents(),
133
- dataFormComponents:
134
- options.dataFormComponents ?? new MSDataFormComponents(),
135
- dataFilterComponents:
136
- options.dataFilterComponents ?? new MSDataFilterComponents(),
137
- whereFilterComponents:
138
- options.whereFilterComponents ?? new MSDataFilterComponents(),
139
- };
140
- }
141
- getI18n() {
142
- return this.i18n;
143
- }
144
-
145
- getOptions() {
146
- return this._options;
147
- }
148
-
149
- async loadCurrentUserSession() {
150
- const userSession = (this.userSession = new UserSession({
151
- msAppClient: this,
152
- }));
153
- this.userSession = null;
154
-
155
- this.beforeInitUserSessionEvent.emit({ userSession });
156
- const userSessionInitResult = await userSession.init();
157
-
158
- if (userSessionInitResult?.data.code !== 200) {
159
- userSession.dispose();
160
- return userSessionInitResult!;
161
- }
162
-
163
- this.setUserSession(userSession);
164
- }
165
-
166
- async init() {
167
- if (this.initd) {
168
- return;
169
- }
170
-
171
- let vueRoutes = this.vueRouter.getRoutes();
172
-
173
- const loginRoute = vueRoutes.find((route) => route.name === "login");
174
-
175
- if (!loginRoute) {
176
- this.vueRouter.addRoute({
177
- name: "login",
178
- path: "/login",
179
- meta: {
180
- isAuthorization: false,
181
- },
182
- component: LoginPage,
183
- });
184
- }
185
-
186
- const signupRoute = vueRoutes.find((route) => route.name === "login");
187
-
188
- if (!signupRoute) {
189
- this.vueRouter.addRoute({
190
- name: "signup",
191
- path: "/signup",
192
- meta: {
193
- isAuthorization: false,
194
- },
195
- component: SignUpPage,
196
- });
197
- }
198
-
199
- this.vueRouter.beforeEach(async (to, from, next) => {
200
- const route = await authBeforeEach(to, from);
201
-
202
- if (route) {
203
- next(route);
204
- return;
205
- }
206
-
207
- next();
208
- });
209
-
210
- this.beforeInitUserSessionEvent.on(({ userSession }) => {
211
- userSession.register(
212
- userSession.beforeInitRouterEvent.on(() => {
213
- const routes = userSession.vueRouter.getRoutes();
214
-
215
- const materialRoute =
216
- userSession.router.getRouteByName("ms-material/list");
217
-
218
- // 如果可以访问素材
219
- if (materialRoute) {
220
- const materialVueRoute = routes.find(
221
- (route) => route.name === "ms-material/list"
222
- );
223
-
224
- // 但是没有素材页面,给默认素材页
225
- if (!materialVueRoute) {
226
- userSession.vueRouter.addRoute("mk-ms-main", {
227
- name: materialRoute.name,
228
- path: "/material-list",
229
- component: MaterialListPage,
230
- });
231
-
232
- userSession.register(
233
- createDisposable(() => {
234
- userSession.vueRouter.removeRoute(materialRoute.name);
235
- })
236
- );
237
- }
238
- }
239
-
240
- const memberListRoute =
241
- userSession.router.getRouteByName("ms-member/list");
242
-
243
- if (memberListRoute) {
244
- const memberListVueRoute = routes.find(
245
- (route) => route.name === "ms-member/list"
246
- );
247
-
248
- if (!memberListVueRoute) {
249
- userSession.vueRouter.addRoute("mk-ms-main", {
250
- name: memberListRoute.name,
251
- path: "/dv/ms-member",
252
- component: MemberListPage,
253
- });
254
-
255
- userSession.register(
256
- createDisposable(() => {
257
- userSession.vueRouter.removeRoute(memberListRoute.name);
258
- })
259
- );
260
- }
261
- }
262
-
263
- const roleListRoute =
264
- userSession.router.getRouteByName("ms-role/list");
265
-
266
- if (roleListRoute) {
267
- const roleListVueRoute = routes.find(
268
- (route) => route.name === "ms-role/list"
269
- );
270
-
271
- if (!roleListVueRoute) {
272
- userSession.vueRouter.addRoute("mk-ms-main", {
273
- name: roleListRoute.name,
274
- path: "/dv/ms-role",
275
- component: RoleListPage,
276
- });
277
-
278
- userSession.register(
279
- createDisposable(() => {
280
- userSession.vueRouter.removeRoute(roleListRoute.name);
281
- })
282
- );
283
- }
284
- }
285
- })
286
- );
287
- });
288
-
289
- this.httpRequest.getInterceptors().response.use((config) => {
290
- if (config.data.code === 401) {
291
- this.vueRouter.push({ name: "login" });
292
- }
293
- return config;
294
- });
295
-
296
- this.initd = true;
297
- }
298
-
299
- async login(account: string, password: string, code: string) {
300
- type LoginResult = {
301
- account: string;
302
- email: string;
303
- nickName: string;
304
- avatarPath: string;
305
- };
306
-
307
- const response = await this.httpRequest.request<R<LoginResult>>({
308
- url: "/api/ms-login/login",
309
- method: "POST",
310
- data: { account, password: md5(`mkbl#${password}`), vCode: code },
311
- });
312
-
313
- if (response.data.code === 200) {
314
- await this.loadCurrentUserSession();
315
- }
316
-
317
- return response;
318
- }
319
-
320
- async modifyPassword(account: string, code: string) {
321
- type LoginResult = {
322
- account: string;
323
- email: string;
324
- nickName: string;
325
- avatarPath: string;
326
- };
327
-
328
- const response = await this.httpRequest.request<R<LoginResult>>({
329
- url: "/api/ms-login/modify-password",
330
- method: "POST",
331
- data: { account, vCode: code },
332
- });
333
-
334
- return response;
335
- }
336
-
337
- async logout() {
338
- this.userSession?.dispose();
339
- this.setUserSession(null);
340
-
341
- this.httpRequest.get("/api/ms-login/logout");
342
- }
343
- }
@@ -1,6 +0,0 @@
1
- import { DataFilterComponents } from "@maketribe/dm-ui";
2
- export class MSDataFilterComponents extends DataFilterComponents {
3
- constructor() {
4
- super();
5
- }
6
- }
@@ -1,12 +0,0 @@
1
- import { DataFormComponents } from "@maketribe/dm-ui";
2
- import { MKImageSelect } from "./components/image-select";
3
- export class MSDataFormComponents extends DataFormComponents {
4
- constructor() {
5
- super();
6
- this.registerComponent({
7
- name: "MKImageSelect",
8
- title: "输入框",
9
- component: MKImageSelect,
10
- });
11
- }
12
- }
@@ -1,6 +0,0 @@
1
- import { DataTableComponents } from "@maketribe/dm-ui";
2
- export class MSDataTableComponents extends DataTableComponents {
3
- constructor() {
4
- super();
5
- }
6
- }
@@ -1,26 +0,0 @@
1
- import { Components } from "@maketribe/dm";
2
- import { MKFileView, MKImageView, MKVideoView } from "@maketribe/dm-ui";
3
-
4
- export class MaterialComponents extends Components {
5
- constructor() {
6
- super();
7
-
8
- this.registerComponent({
9
- name: "MKImageView",
10
- title: "图片",
11
- component: MKImageView,
12
- });
13
-
14
- this.registerComponent({
15
- name: "MKFileView",
16
- title: "文件",
17
- component: MKFileView,
18
- });
19
-
20
- this.registerComponent({
21
- name: "MKVideoView",
22
- title: "视频",
23
- component: MKVideoView,
24
- });
25
- }
26
- }
@@ -1,26 +0,0 @@
1
- export interface PermissionPoint {
2
- id: number;
3
- menuId: string;
4
- key: string;
5
- name: string;
6
- }
7
-
8
- export class PermissionPointManager {
9
- permissionPoints: PermissionPoint[];
10
-
11
- constructor() {
12
- this.permissionPoints = [];
13
- }
14
-
15
- setPermissionPoints(permissionPoints: PermissionPoint[]) {
16
- this.permissionPoints = permissionPoints;
17
- }
18
-
19
- init() {}
20
-
21
- getPermissionPointsByMenuID(menuID: string): PermissionPoint[] {
22
- return this.permissionPoints.filter(
23
- (permissionPoint) => permissionPoint.menuId === menuID
24
- );
25
- }
26
- }
package/src/Router.ts DELETED
@@ -1,133 +0,0 @@
1
- import { Disposable, Event, createDisposable } from "@maketribe/utils";
2
- import { Route } from "./dataview";
3
- import type { UserSession } from "./UserSession";
4
- import DefaultListPage from "./page/index/dv/default/index.vue";
5
- import DefaultAddPage from "./page/index/dv/default/add.vue";
6
- import DefaultEditPage from "./page/index/dv/default/edit.vue";
7
- import DefaultTreePage from "./page/index/dv/default/tree.vue";
8
-
9
- const NORMALIZE_ROUTE_NAME_REG = /^([^\\]+)\/(.+)$/;
10
-
11
- export class Router extends Disposable {
12
- userSession: UserSession;
13
-
14
- routes: Route[] = [];
15
-
16
- currentRoute: any | null = null;
17
-
18
- beforeRouteChange: Event<{ routeInfo: Route; route: any }> = this.register(
19
- new Event()
20
- );
21
-
22
- routeChange: Event<{ routeInfo: Route; route: any }> = this.register(
23
- new Event()
24
- );
25
-
26
- constructor(userSession: UserSession) {
27
- super();
28
-
29
- this.userSession = userSession;
30
- }
31
-
32
- setRoutes(routes: Route[]) {
33
- this.routes = routes;
34
- }
35
-
36
- init() {
37
- const vueRouter = this.userSession.vueRouter;
38
- const vueRoutes = vueRouter.getRoutes();
39
-
40
- // 给有权限访问的页面,注册默认页面
41
- const defaultPageRoutes = this.routes.filter(
42
- (route) => !vueRoutes.find((item) => item.name === route.name)
43
- );
44
-
45
- for (const defaultPageRoute of defaultPageRoutes) {
46
- const match = defaultPageRoute.name.match(NORMALIZE_ROUTE_NAME_REG);
47
-
48
- if (match) {
49
- const name = match[1];
50
- const action = match[2];
51
-
52
- switch (action) {
53
- case "list":
54
- vueRouter.addRoute("mk-ms-main", {
55
- name: defaultPageRoute.name,
56
- path: `/dv/${name}`,
57
- component: DefaultListPage,
58
- meta: { name },
59
- });
60
- break;
61
- case "edit":
62
- vueRouter.addRoute("mk-ms-main", {
63
- name: defaultPageRoute.name,
64
- path: `/dv/${name}/:id`,
65
- component: DefaultEditPage,
66
- meta: { name },
67
- });
68
- break;
69
- case "add":
70
- vueRouter.addRoute("mk-ms-main", {
71
- name: defaultPageRoute.name,
72
- path: `/dv/${name}/add`,
73
- component: DefaultAddPage,
74
- meta: { name },
75
- });
76
- break;
77
- case "tree":
78
- vueRouter.addRoute("mk-ms-main", {
79
- name: defaultPageRoute.name,
80
- path: `/dv/${name}`,
81
- component: DefaultTreePage,
82
- meta: { name },
83
- });
84
- break;
85
- }
86
- }
87
- }
88
-
89
- this.register(
90
- createDisposable(() => {
91
- for (const defaultPageRoute of defaultPageRoutes) {
92
- vueRouter.removeRoute(defaultPageRoute.name);
93
- }
94
- })
95
- );
96
- }
97
-
98
- getRouteByName(name: string): Route | null {
99
- return this.routes.find((route) => route.name === name) ?? null;
100
- }
101
-
102
- getRouteByID(id: string): Route | null {
103
- return this.routes.find((route) => route.id === id) ?? null;
104
- }
105
-
106
- getRoutesByMenuID(menuId: Route["menuId"]): Route[] {
107
- return this.routes.filter((route) => route.menuId === menuId);
108
- }
109
-
110
- async changeRoute(route: any) {
111
- if (!route) {
112
- return true;
113
- }
114
-
115
- const routeInfo = this.getRouteByName(route.name);
116
-
117
- if (!routeInfo) {
118
- return true;
119
- }
120
-
121
- if (
122
- (await this.beforeRouteChange.emitAsync({ route, routeInfo })) !== false
123
- ) {
124
- this.currentRoute = route;
125
-
126
- this.routeChange.emit({ route, routeInfo });
127
-
128
- return true;
129
- }
130
-
131
- return false;
132
- }
133
- }
package/src/UserInfo.ts DELETED
@@ -1,66 +0,0 @@
1
- import type { MSAppClient } from "./MSAppClient";
2
- import { PermissionPoint } from "./PermissionPointManager";
3
- import { Role } from "./dataview/role/RoleForm";
4
-
5
- export interface MemberInfo {
6
- id: number;
7
- account: string;
8
- email: string;
9
- nickName: string;
10
- avatarPath: string;
11
- isSuper: string;
12
- errorCount: string;
13
- errorDatetime: string;
14
- isLock: string;
15
- unlockDatetime: string;
16
- }
17
-
18
- export class UserInfo {
19
- id: number;
20
- account: string;
21
- email: string;
22
- nickName: string;
23
- avatar: URL | null;
24
- isLocked: boolean;
25
- isSuper: boolean;
26
- payload: any;
27
-
28
- roles: Role[];
29
- permissionPoints: PermissionPoint[];
30
-
31
- constructor(
32
- msAppClient: MSAppClient,
33
- payload: MemberInfo,
34
- roles: Role[],
35
- permissionPoints: PermissionPoint[]
36
- ) {
37
- this.id = payload.id;
38
- this.account = payload.account;
39
- this.email = payload.email;
40
- this.nickName = payload.nickName;
41
- this.isLocked = payload.isLock === "1";
42
- this.isSuper = payload.isSuper === "1";
43
- this.roles = roles;
44
- this.permissionPoints = permissionPoints;
45
-
46
- try {
47
- this.avatar = payload.avatarPath
48
- ? new URL(payload.avatarPath, msAppClient.origin)
49
- : null;
50
- } catch (e) {
51
- this.avatar = null;
52
- }
53
-
54
- this.payload = payload;
55
- }
56
-
57
- hasRole(name: Role["name"]): boolean {
58
- return !!this.roles.find((role) => role.name === name);
59
- }
60
-
61
- hasPermissionPoint(key: PermissionPoint["key"]) {
62
- return !!this.permissionPoints.find(
63
- (permissionPoint) => permissionPoint.key === key
64
- );
65
- }
66
- }