@maketribe/ms-app 3.0.15 → 3.0.17

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 (89) hide show
  1. package/dist/cjs/components/json-editor/index.js +6 -2
  2. package/dist/cjs/components/json-editor/index.js.map +1 -1
  3. package/dist/cjs/components/json-editor/json-editor.js +2 -2
  4. package/dist/cjs/components/material-select/material-select-type.d.ts +6 -5
  5. package/dist/cjs/components/new-upload-file/MaterialUploadContext.d.ts +4 -0
  6. package/dist/cjs/components/new-upload-file/MaterialUploadContext.js +18 -0
  7. package/dist/cjs/components/new-upload-file/MaterialUploadContext.js.map +1 -0
  8. package/dist/cjs/components/new-upload-file/UploadContext.d.ts +8 -0
  9. package/dist/cjs/components/new-upload-file/UploadContext.js +10 -0
  10. package/dist/cjs/components/new-upload-file/UploadContext.js.map +1 -0
  11. package/dist/cjs/components/new-upload-file/WebFileUploadContext.d.ts +10 -0
  12. package/dist/cjs/components/new-upload-file/WebFileUploadContext.js +50 -0
  13. package/dist/cjs/components/new-upload-file/WebFileUploadContext.js.map +1 -0
  14. package/dist/cjs/components/new-upload-file/upload-file-options.d.ts +17 -0
  15. package/dist/cjs/components/new-upload-file/upload-file-options.js +23 -0
  16. package/dist/cjs/components/new-upload-file/upload-file-options.js.map +1 -0
  17. package/dist/cjs/components/new-upload-file/upload-file.d.ts +40 -0
  18. package/dist/cjs/components/new-upload-file/upload-file.js +49 -0
  19. package/dist/cjs/components/new-upload-file/upload-file.js.map +1 -0
  20. package/dist/cjs/components/upload-file/upload-file.js +7 -1
  21. package/dist/cjs/components/upload-file/upload-file.js.map +1 -1
  22. package/dist/cjs/core/MSAppClient.js +3 -0
  23. package/dist/cjs/core/MSAppClient.js.map +1 -1
  24. package/dist/cjs/core/PageManager.js +14 -8
  25. package/dist/cjs/core/PageManager.js.map +1 -1
  26. package/dist/cjs/core/Router.js +7 -7
  27. package/dist/cjs/core/Router.js.map +1 -1
  28. package/dist/cjs/dataview/route/RouteForm.d.ts +2 -2
  29. package/dist/cjs/dataview/route/RouteForm.js +2 -2
  30. package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
  31. package/dist/cjs/dataview/route/RouteTable.js +1 -1
  32. package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
  33. package/dist/cjs/init-application.js +1 -1
  34. package/dist/cjs/init-application.js.map +1 -1
  35. package/dist/cjs/router-middleware/auth.js +1 -1
  36. package/dist/cjs/router-middleware/auth.js.map +1 -1
  37. package/dist/esm/components/json-editor/index.js +4 -2
  38. package/dist/esm/components/json-editor/index.js.map +1 -1
  39. package/dist/esm/components/json-editor/json-editor.js +2 -2
  40. package/dist/esm/components/material-select/material-select-type.d.ts +6 -5
  41. package/dist/esm/components/new-upload-file/MaterialUploadContext.d.ts +4 -0
  42. package/dist/esm/components/new-upload-file/MaterialUploadContext.js +16 -0
  43. package/dist/esm/components/new-upload-file/MaterialUploadContext.js.map +1 -0
  44. package/dist/esm/components/new-upload-file/UploadContext.d.ts +8 -0
  45. package/dist/esm/components/new-upload-file/UploadContext.js +8 -0
  46. package/dist/esm/components/new-upload-file/UploadContext.js.map +1 -0
  47. package/dist/esm/components/new-upload-file/WebFileUploadContext.d.ts +10 -0
  48. package/dist/esm/components/new-upload-file/WebFileUploadContext.js +48 -0
  49. package/dist/esm/components/new-upload-file/WebFileUploadContext.js.map +1 -0
  50. package/dist/esm/components/new-upload-file/upload-file-options.d.ts +17 -0
  51. package/dist/esm/components/new-upload-file/upload-file-options.js +20 -0
  52. package/dist/esm/components/new-upload-file/upload-file-options.js.map +1 -0
  53. package/dist/esm/components/new-upload-file/upload-file.d.ts +40 -0
  54. package/dist/esm/components/new-upload-file/upload-file.js +47 -0
  55. package/dist/esm/components/new-upload-file/upload-file.js.map +1 -0
  56. package/dist/esm/components/upload-file/upload-file.js +7 -1
  57. package/dist/esm/components/upload-file/upload-file.js.map +1 -1
  58. package/dist/esm/core/MSAppClient.js +4 -1
  59. package/dist/esm/core/MSAppClient.js.map +1 -1
  60. package/dist/esm/core/PageManager.js +14 -8
  61. package/dist/esm/core/PageManager.js.map +1 -1
  62. package/dist/esm/core/Router.js +7 -7
  63. package/dist/esm/core/Router.js.map +1 -1
  64. package/dist/esm/dataview/route/RouteForm.d.ts +2 -2
  65. package/dist/esm/dataview/route/RouteForm.js +2 -2
  66. package/dist/esm/dataview/route/RouteForm.js.map +1 -1
  67. package/dist/esm/dataview/route/RouteTable.js +1 -1
  68. package/dist/esm/dataview/route/RouteTable.js.map +1 -1
  69. package/dist/esm/init-application.js +1 -1
  70. package/dist/esm/init-application.js.map +1 -1
  71. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +2 -2
  72. package/dist/esm/router-middleware/auth.js +1 -1
  73. package/dist/esm/router-middleware/auth.js.map +1 -1
  74. package/package.json +4 -4
  75. package/src/components/json-editor/index.ts +4 -2
  76. package/src/components/material-select/material-select-type.ts +10 -5
  77. package/src/components/new-upload-file/MaterialUploadContext.ts +14 -0
  78. package/src/components/new-upload-file/UploadContext.ts +11 -0
  79. package/src/components/new-upload-file/WebFileUploadContext.ts +58 -0
  80. package/src/components/new-upload-file/upload-file-options.ts +23 -0
  81. package/src/components/new-upload-file/upload-file.tsx +61 -0
  82. package/src/components/upload-file/upload-file.tsx +4 -1
  83. package/src/core/MSAppClient.ts +10 -1
  84. package/src/core/PageManager.ts +18 -9
  85. package/src/core/Router.ts +7 -7
  86. package/src/dataview/route/RouteForm.ts +4 -4
  87. package/src/dataview/route/RouteTable.ts +1 -1
  88. package/src/init-application.ts +1 -1
  89. package/src/router-middleware/auth.ts +1 -2
@@ -0,0 +1,61 @@
1
+ import { computed, defineComponent, unref } from "vue";
2
+ import { uploadFileEmits, uploadFileProps } from "./upload-file-options";
3
+ import { ElMessage } from "element-plus";
4
+
5
+ /**
6
+ * 文件上传
7
+ *
8
+ * 文件上传在本后台中有两大分类
9
+ * 1.直接上传文件
10
+ * 2.使用素材库文件
11
+ *
12
+ * 文件上传的界面交互又会分为几种情况
13
+ * 1.单文件上传(单文件上传,可能会根据。文件情况的不同,界面显示方式不一样)
14
+ * 2.多文件上传(多文件上传基于单文件的逻辑,不过是会变成多个文件)
15
+ *
16
+ * 希望文件交互组件不需要用了解是直接上传文件或使用素材库。
17
+ *
18
+ */
19
+
20
+ export default defineComponent({
21
+ name: "MKUploadFile",
22
+ props: uploadFileProps,
23
+ emits: uploadFileEmits,
24
+ setup(props, { emit }) {
25
+ const value = computed({
26
+ get: () => props.modelValue,
27
+ set: (v: string) => emit("upload:modelValue", v),
28
+ });
29
+
30
+ const uploadContext = computed(() => props.uploadContext);
31
+
32
+ const handleUpload = async () => {
33
+ try {
34
+ const uploadResult = await unref(uploadContext).selectFile();
35
+
36
+ if (uploadResult.success) {
37
+ value.value = uploadResult.path;
38
+ return;
39
+ }
40
+
41
+ ElMessage.error(uploadResult.msg);
42
+ } catch (e) {
43
+ console.error(e);
44
+ ElMessage.error("网络异常");
45
+ }
46
+ };
47
+
48
+ return {
49
+ handleUpload,
50
+ };
51
+ },
52
+ render() {
53
+ const { handleUpload, $slots } = this;
54
+
55
+ return (
56
+ <div class="mk-upload-file" onClick={handleUpload}>
57
+ {$slots.default?.()}
58
+ </div>
59
+ );
60
+ },
61
+ });
@@ -2,13 +2,16 @@ import { computed, defineComponent, unref } from "vue";
2
2
  import { ElMessage, ElUpload, UploadFile, UploadFiles } from "element-plus";
3
3
  import { UploadError, WebFileUpload } from "@maketribe/request";
4
4
  import { uploadFileProps, uploadFileEmits } from "./upload-file-options";
5
+ import { MSAppClient } from "../../core";
5
6
 
6
7
  export default defineComponent({
7
8
  name: "MKUploadFile",
8
9
  props: uploadFileProps,
9
10
  emits: uploadFileEmits,
10
11
  setup(props, { slots, emit }) {
11
- const upload = props.upload ?? new WebFileUpload();
12
+ const upload =
13
+ props.upload ??
14
+ new WebFileUpload({ httpRequest: MSAppClient.instance!.httpRequest });
12
15
 
13
16
  const fileList = computed({
14
17
  get: () => props.fileList,
@@ -3,7 +3,13 @@ import {
3
3
  createWebHashHistory,
4
4
  Router as VueRouter,
5
5
  } from "vue-router";
6
- import { HttpRequest, R, WebHttpRequest } from "@maketribe/request";
6
+ import {
7
+ DataViewRequest,
8
+ DVQueryable,
9
+ HttpRequest,
10
+ R,
11
+ WebHttpRequest,
12
+ } from "@maketribe/request";
7
13
  import { IComponents, DataModel, Components } from "@maketribe/dm";
8
14
  import { I18n } from "@maketribe/locale";
9
15
 
@@ -106,6 +112,9 @@ export class MSAppClient {
106
112
  this.httpRequest = this._options.httpRequest;
107
113
 
108
114
  DataModel.setHttpRequest(this.httpRequest);
115
+ DVQueryable.setDefaultDataViewRequest(
116
+ new DataViewRequest({ httpRequest: this.httpRequest })
117
+ );
109
118
  }
110
119
 
111
120
  setUserSession(userSession: UserSession | null) {
@@ -120,28 +120,37 @@ export class PageManager {
120
120
  return;
121
121
  }
122
122
 
123
- const addedExtendsPageNames: string[] = [];
123
+ const router = userSession.router;
124
124
 
125
- if (!this.extendsPages.find((page) => page.name === "notFound")) {
126
- this.addExtendsPage({
127
- name: "notFound",
128
- // path: ":pathMatch(.*)*",
129
- path: "",
130
- component: () => import("../page/index/404.vue"),
131
- });
132
- }
125
+ const addedExtendsPageNames: string[] = [];
133
126
 
134
127
  for (const extendsPage of this.extendsPages) {
128
+ const routeInfo = router.getRouteByName(extendsPage.name as string);
129
+
130
+ if (!routeInfo) {
131
+ continue;
132
+ }
133
+
135
134
  const vueRoute = vueRoutes.find(
136
135
  (vueRoute) => vueRoute.name === extendsPage.name
137
136
  );
138
137
 
139
138
  if (!vueRoute) {
139
+ extendsPage.path = routeInfo.route || extendsPage.path;
140
140
  addedExtendsPageNames.push(extendsPage.name as string);
141
141
  vueRouter.addRoute("mk-ms-layout", extendsPage);
142
142
  }
143
143
  }
144
144
 
145
+ if (!this.extendsPages.find((page) => page.name === "notFound")) {
146
+ this.addExtendsPage({
147
+ name: "notFound",
148
+ // path: ":pathMatch(.*)*",
149
+ path: "",
150
+ component: () => import("../page/index/404.vue"),
151
+ });
152
+ }
153
+
145
154
  userSession.register(
146
155
  createDisposable(() => {
147
156
  for (const addedExtendsPageName of addedExtendsPageNames) {
@@ -45,7 +45,7 @@ export class Router extends Disposable {
45
45
  case "normal":
46
46
  vueRouter.addRoute("mk-ms-layout", {
47
47
  name: defaultPageRoute.name,
48
- path: `/dv/${name}`,
48
+ path: defaultPageRoute.route || `/dv/${name}`,
49
49
  component: () =>
50
50
  import(
51
51
  "../page/index/dv/default/single/list/normal.vue"
@@ -56,7 +56,7 @@ export class Router extends Disposable {
56
56
  case "dialog":
57
57
  vueRouter.addRoute("mk-ms-layout", {
58
58
  name: defaultPageRoute.name,
59
- path: `/dv/${name}`,
59
+ path: defaultPageRoute.route || `/dv/${name}`,
60
60
  component: () =>
61
61
  import(
62
62
  "../page/index/dv/default/single/list/dialog.vue"
@@ -72,7 +72,7 @@ export class Router extends Disposable {
72
72
  case "dialog":
73
73
  vueRouter.addRoute("mk-ms-layout", {
74
74
  name: defaultPageRoute.name,
75
- path: `/dv/${name}`,
75
+ path: defaultPageRoute.route || `/dv/${name}`,
76
76
  component: () =>
77
77
  import(
78
78
  "../page/index/dv/default/single/tree/dialog.vue"
@@ -87,7 +87,7 @@ export class Router extends Disposable {
87
87
  case "dialog":
88
88
  vueRouter.addRoute("mk-ms-layout", {
89
89
  name: defaultPageRoute.name,
90
- path: `/dv/${name}`,
90
+ path: defaultPageRoute.route || `/dv/${name}`,
91
91
  component: () =>
92
92
  import(
93
93
  "../page/index/dv/default/single/table-tree/dialog.vue"
@@ -102,7 +102,7 @@ export class Router extends Disposable {
102
102
  case "list":
103
103
  vueRouter.addRoute("mk-ms-layout", {
104
104
  name: defaultPageRoute.name,
105
- path: `/dv/${name}`,
105
+ path: defaultPageRoute.route || `/dv/${name}`,
106
106
  component: () => import("../page/index/dv/default/table.vue"),
107
107
  meta: { name },
108
108
  });
@@ -110,7 +110,7 @@ export class Router extends Disposable {
110
110
  case "edit":
111
111
  vueRouter.addRoute("mk-ms-layout", {
112
112
  name: defaultPageRoute.name,
113
- path: `/dv/${name}/:id`,
113
+ path: defaultPageRoute.route || `/dv/${name}/:id`,
114
114
  component: () => import("../page/index/dv/default/edit.vue"),
115
115
  meta: { name },
116
116
  });
@@ -118,7 +118,7 @@ export class Router extends Disposable {
118
118
  case "add":
119
119
  vueRouter.addRoute("mk-ms-layout", {
120
120
  name: defaultPageRoute.name,
121
- path: `/dv/${name}/add`,
121
+ path: defaultPageRoute.route || `/dv/${name}/add`,
122
122
  component: () => import("../page/index/dv/default/add.vue"),
123
123
  meta: { name },
124
124
  });
@@ -10,7 +10,7 @@ export type RouteResult = {
10
10
  type: number;
11
11
  menuId: string;
12
12
  iconName: string;
13
- path?: string;
13
+ route?: string;
14
14
  };
15
15
 
16
16
  export type Route = {
@@ -20,7 +20,7 @@ export type Route = {
20
20
  type: RouteType;
21
21
  menuId: string;
22
22
  iconName: string;
23
- path: string;
23
+ route: string;
24
24
  };
25
25
 
26
26
  export class RouteForm extends DataForm<RouteResult, Route> {
@@ -50,7 +50,7 @@ export class RouteForm extends DataForm<RouteResult, Route> {
50
50
  label: "图标",
51
51
  componentInfo: "MKFormIconSelect",
52
52
  }),
53
- new FormColumn({ name: "path", label: "路径" }),
53
+ new FormColumn({ name: "route", label: "路径" }),
54
54
  new FormColumn({
55
55
  name: "type",
56
56
  label: "路由类型",
@@ -86,7 +86,7 @@ export class RouteForm extends DataForm<RouteResult, Route> {
86
86
  `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,
87
87
  menuId: item.menuId,
88
88
  iconName: item.iconName || "",
89
- path: item.path || "",
89
+ route: item.route || "",
90
90
  };
91
91
  }
92
92
  }
@@ -65,7 +65,7 @@ export class RouteTable extends DataTable<RouteResult, Route> {
65
65
  type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,
66
66
  menuId: item.menuId,
67
67
  iconName: item.iconName || "",
68
- path: item.path || "",
68
+ route: item.route || "",
69
69
  };
70
70
  }
71
71
  }
@@ -68,7 +68,7 @@ export const initApplication = async (options: InitMsApplicationOptions) => {
68
68
  );
69
69
 
70
70
  for (const route of routes) {
71
- if (route.key.startsWith("index-")) {
71
+ if (route.key.startsWith("index")) {
72
72
  msAppClient.pageManager.addExtendsPage(route);
73
73
  } else {
74
74
  msAppClient.pageManager.addNormalPage(route);
@@ -1,5 +1,4 @@
1
1
  import { RouteLocationNormalized, RouteLocationRaw } from "vue-router";
2
- import { isSameRoute } from "@maketribe/utils";
3
2
  import type { MSAppClient } from "../core";
4
3
 
5
4
  export const authBeforeEach = async (
@@ -24,7 +23,7 @@ export const authBeforeEach = async (
24
23
  }
25
24
 
26
25
  // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve
27
- return { ...to };
26
+ return { path: to.fullPath };
28
27
  } catch (e) {
29
28
  return { name: "login" };
30
29
  }