@maketribe/ms-app 3.2.51 → 3.2.53

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 (49) hide show
  1. package/dist/cjs/components/business/verify-dialog/verify-panel.js +13 -18
  2. package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -1
  3. package/dist/cjs/core/MSAppClient.js.map +1 -1
  4. package/dist/cjs/layouts/components/header/index.js +1 -2
  5. package/dist/cjs/layouts/components/header/index.js.map +1 -1
  6. package/dist/cjs/layouts/components/header/passwordDialog.js +251 -0
  7. package/dist/cjs/layouts/components/header/passwordDialog.js.map +1 -0
  8. package/dist/cjs/layouts/components/header/tools.js +7 -157
  9. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  10. package/dist/cjs/message-impl/DialogerImpl.js +157 -0
  11. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  12. package/dist/cjs/page/login/index.vue2.js +11 -1
  13. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  14. package/dist/esm/components/business/verify-dialog/verify-panel.js +13 -18
  15. package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -1
  16. package/dist/esm/core/MSAppClient.js.map +1 -1
  17. package/dist/esm/layouts/components/header/index.js +1 -2
  18. package/dist/esm/layouts/components/header/index.js.map +1 -1
  19. package/dist/esm/layouts/components/header/passwordDialog.js +251 -0
  20. package/dist/esm/layouts/components/header/passwordDialog.js.map +1 -0
  21. package/dist/esm/layouts/components/header/tools.js +9 -159
  22. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  23. package/dist/esm/message-impl/DialogerImpl.js +159 -2
  24. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  25. package/dist/esm/page/login/index.vue2.js +11 -1
  26. package/dist/esm/page/login/index.vue2.js.map +1 -1
  27. package/dist/types/components/business/resource-manager/index.d.ts +4 -4
  28. package/dist/types/core/MSAppClient.d.ts +1 -0
  29. package/dist/types/index.d.ts +1 -1
  30. package/dist/types/layouts/components/header/passwordDialog.d.ts +9 -0
  31. package/dist/types/message-impl/DialogerImpl.d.ts +3 -0
  32. package/dist/types/modules/cms/components/part-tree/index.d.ts +1 -1
  33. package/package.json +4 -4
  34. package/dist/cjs/layouts/components/header/message.js +0 -94
  35. package/dist/cjs/layouts/components/header/message.js.map +0 -1
  36. package/dist/cjs/layouts/components/header/notify.js +0 -26
  37. package/dist/cjs/layouts/components/header/notify.js.map +0 -1
  38. package/dist/cjs/layouts/components/message-list/index.vue.js +0 -242
  39. package/dist/cjs/layouts/components/message-list/index.vue.js.map +0 -1
  40. package/dist/cjs/layouts/components/message-list/index.vue2.js +0 -4
  41. package/dist/cjs/layouts/components/message-list/index.vue2.js.map +0 -1
  42. package/dist/esm/layouts/components/header/message.js +0 -77
  43. package/dist/esm/layouts/components/header/message.js.map +0 -1
  44. package/dist/esm/layouts/components/header/notify.js +0 -26
  45. package/dist/esm/layouts/components/header/notify.js.map +0 -1
  46. package/dist/esm/layouts/components/message-list/index.vue.js +0 -243
  47. package/dist/esm/layouts/components/message-list/index.vue.js.map +0 -1
  48. package/dist/esm/layouts/components/message-list/index.vue2.js +0 -5
  49. package/dist/esm/layouts/components/message-list/index.vue2.js.map +0 -1
@@ -18,8 +18,8 @@ const VerifyPanel = /* @__PURE__ */ vue.defineComponent({
18
18
  const wrapperEl = vue.ref(null);
19
19
  const buttonEl = vue.ref(null);
20
20
  const grandEl = vue.ref(null);
21
- const httpRequest = MSAppClient.MSAppClient.instance.httpRequest;
22
- new request.WebHttpRequest();
21
+ MSAppClient.MSAppClient.instance.httpRequest;
22
+ const webHttpRequest = new request.WebHttpRequest();
23
23
  let slideWidth = 48;
24
24
  const isError = vue.ref(false);
25
25
  const deg = vue.ref(0);
@@ -32,22 +32,17 @@ const VerifyPanel = /* @__PURE__ */ vue.defineComponent({
32
32
  };
33
33
  });
34
34
  const loadImage = async () => {
35
- loading.value = true;
36
- try {
37
- const response = await httpRequest.get("/ms/app/captcha/rotation/image", {
38
- params: {
39
- scene: props.scene,
40
- t: Math.random()
41
- },
42
- responseType: "blob"
43
- });
44
- if (!(response.data instanceof Blob)) {
45
- return;
46
- }
47
- imageUrl.value = URL.createObjectURL(response.data);
48
- } finally {
49
- loading.value = false;
50
- }
35
+ const clientId = await webHttpRequest.getClientID();
36
+ webHttpRequest.getInterceptors;
37
+ return await new Promise((reslove) => {
38
+ const img = new Image();
39
+ img.onload = () => {
40
+ imageUrl.value = img.src;
41
+ reslove(void 0);
42
+ loading.value = false;
43
+ };
44
+ img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`;
45
+ });
51
46
  };
52
47
  const handleSwitchConfirm = () => {
53
48
  emit("confirm", vue.unref(deg));
@@ -1 +1 @@
1
- {"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n Ref,\r\n Fragment,\r\n} from \"vue\";\r\nimport { useHttpRequest } from \"../../../composables\";\r\nimport { verifyDialogProps, verifyDialogEmits } from \"./verify-dialog-option\";\r\nimport { WebHttpRequest } from \"@maketribe/request\";\r\nimport { Disposable, createDisposable } from \"@maketribe/utils\";\r\nimport { MSAppClient } from \"../../../core\";\r\n\r\n// 建一个私有的类吧客户端id放出来\r\n// const webHttpRequest = new (class InnerWebHttpRequest extends WebHttpRequest {\r\n// async getClientId() {\r\n// await this.loadClientIDPromise;\r\n// return this.clientID;\r\n// }\r\n// })();\r\n\r\nexport default defineComponent({\r\n name: \"VerifyPanel\",\r\n props: verifyDialogProps,\r\n emits: verifyDialogEmits,\r\n setup(props, { emit, expose }) {\r\n const wrapperEl: Ref<HTMLElement | null> = ref(null);\r\n const buttonEl: Ref<HTMLElement | null> = ref(null);\r\n const grandEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n const webHttpRequest = new WebHttpRequest();\r\n // 样式默认宽度是48px\r\n let slideWidth: number = 48;\r\n\r\n const isError = ref(false);\r\n\r\n const deg = ref(0);\r\n const imageUrl = ref(\"\");\r\n const loading = ref(false);\r\n const imageStyle = computed(() => {\r\n return {\r\n backgroundImage: `url(${unref(imageUrl)})`,\r\n transform: `rotate(-${unref(deg)}deg)`,\r\n };\r\n });\r\n\r\n const loadImage = async (): Promise<undefined> => {\r\n loading.value = true;\r\n\r\n try {\r\n const response = await httpRequest.get<Blob>(\r\n \"/ms/app/captcha/rotation/image\",\r\n {\r\n params: {\r\n scene: props.scene,\r\n t: Math.random(),\r\n },\r\n responseType: \"blob\",\r\n }\r\n );\r\n\r\n if (!(response.data instanceof Blob)) {\r\n return;\r\n }\r\n\r\n imageUrl.value = URL.createObjectURL(response.data);\r\n } finally {\r\n loading.value = false;\r\n }\r\n\r\n // const clientId = await webHttpRequest.getClientID();\r\n // webHttpRequest.getInterceptors\r\n // return await new Promise(reslove=>{\r\n\r\n // const img = new Image();\r\n\r\n // img.onload = ()=>{\r\n // imageUrl.value = img.src;\r\n // reslove(undefined);\r\n // loading.value = false;\r\n // }\r\n\r\n // img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`\r\n // })\r\n };\r\n\r\n const handleSwitchConfirm = () => {\r\n emit(\"confirm\", unref(deg));\r\n };\r\n\r\n const handleMouseDown = (mouseDownEvent: MouseEvent | TouchEvent) => {\r\n if (unref(isError)) {\r\n return;\r\n }\r\n\r\n const startX =\r\n mouseDownEvent instanceof MouseEvent\r\n ? mouseDownEvent.clientX\r\n : mouseDownEvent.touches[0].clientX;\r\n const disposable = new Disposable();\r\n const totalWidth = unref(wrapperEl)!.getBoundingClientRect().width;\r\n\r\n const handleMouseMove = (event: MouseEvent | TouchEvent) => {\r\n const moveX =\r\n event instanceof MouseEvent\r\n ? event.clientX\r\n : event.touches[0].clientX;\r\n\r\n // 限定宽度范围\r\n slideWidth = Math.min(Math.max(moveX - startX + 48, 48), totalWidth);\r\n\r\n deg.value = Math.floor(((slideWidth - 48) / (totalWidth - 48)) * 360);\r\n\r\n unref(grandEl)!.style.width = `${slideWidth}px`;\r\n unref(buttonEl)!.style.transform = `translateX(${slideWidth - 48}px)`;\r\n };\r\n\r\n const handleMouseUp = (event: MouseEvent | TouchEvent) => {\r\n if (deg.value !== 0) {\r\n handleSwitchConfirm();\r\n }\r\n\r\n disposable.dispose();\r\n };\r\n\r\n document.addEventListener(\"mousemove\", handleMouseMove);\r\n document.addEventListener(\"touchmove\", handleMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n document.addEventListener(\"touchend\", handleMouseUp);\r\n document.addEventListener(\"touchcancel\", handleMouseUp);\r\n\r\n disposable.register(\r\n createDisposable(() => {\r\n document.removeEventListener(\"mousemove\", handleMouseMove);\r\n document.removeEventListener(\"touchmove\", handleMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n document.removeEventListener(\"touchend\", handleMouseUp);\r\n document.removeEventListener(\"touchcancel\", handleMouseUp);\r\n })\r\n );\r\n };\r\n\r\n const reset = () => {\r\n unref(grandEl)!.style.width = ``;\r\n unref(buttonEl)!.style.transform = ``;\r\n };\r\n\r\n expose({\r\n fail: () => {\r\n isError.value = true;\r\n\r\n setTimeout(() => {\r\n isError.value = false;\r\n\r\n reset();\r\n }, 1000);\r\n },\r\n });\r\n\r\n onMounted(async () => {\r\n await loadImage();\r\n });\r\n\r\n return () => {\r\n return (\r\n <Fragment>\r\n <div class=\"mk-verify-dialog__wrapper\" v-loading={unref(loading)}>\r\n <div\r\n class=\"mk-verify-dialog__image\"\r\n ref=\"imageEl\"\r\n style={imageStyle.value}\r\n />\r\n <div class=\"mk-verify-dialog__coordinate\" />\r\n </div>\r\n <div class={[\"mk-verify-switch\", unref(isError) ? \"is-error\" : \"\"]}>\r\n <div\r\n class=\"mk-verify-switch__wrapper\"\r\n ref={((el: HTMLDivElement) => (wrapperEl.value = el)) as any}\r\n >\r\n <div\r\n class=\"mk-verify-switch__button-grand\"\r\n ref={((el: HTMLDivElement) => (grandEl.value = el)) as any}\r\n />\r\n <div\r\n class=\"mk-verify-switch__button\"\r\n ref={((el: HTMLDivElement) => (buttonEl.value = el)) as any}\r\n onMousedown={handleMouseDown}\r\n onTouchstart={handleMouseDown}\r\n />\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","verifyDialogProps","emits","verifyDialogEmits","setup","emit","expose","wrapperEl","ref","buttonEl","grandEl","httpRequest","MSAppClient","instance","WebHttpRequest","slideWidth","isError","deg","imageUrl","loading","imageStyle","computed","backgroundImage","unref","transform","loadImage","value","response","get","params","scene","t","Math","random","responseType","data","Blob","URL","createObjectURL","handleSwitchConfirm","handleMouseDown","mouseDownEvent","startX","MouseEvent","clientX","touches","disposable","Disposable","totalWidth","getBoundingClientRect","width","handleMouseMove","event","moveX","min","max","floor","style","handleMouseUp","dispose","document","addEventListener","register","createDisposable","removeEventListener","reset","fail","setTimeout","onMounted","_createVNode","_Fragment","_withDirectives","_resolveDirective","el"],"mappings":"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"}
1
+ {"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n Ref,\r\n Fragment,\r\n} from \"vue\";\r\nimport { useHttpRequest } from \"../../../composables\";\r\nimport { verifyDialogProps, verifyDialogEmits } from \"./verify-dialog-option\";\r\nimport { WebHttpRequest } from \"@maketribe/request\";\r\nimport { Disposable, createDisposable } from \"@maketribe/utils\";\r\nimport { MSAppClient } from \"../../../core\";\r\n\r\n// 建一个私有的类吧客户端id放出来\r\n// const webHttpRequest = new (class InnerWebHttpRequest extends WebHttpRequest {\r\n// async getClientId() {\r\n// await this.loadClientIDPromise;\r\n// return this.clientID;\r\n// }\r\n// })();\r\n\r\nexport default defineComponent({\r\n name: \"VerifyPanel\",\r\n props: verifyDialogProps,\r\n emits: verifyDialogEmits,\r\n setup(props, { emit, expose }) {\r\n const wrapperEl: Ref<HTMLElement | null> = ref(null);\r\n const buttonEl: Ref<HTMLElement | null> = ref(null);\r\n const grandEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n const webHttpRequest = new WebHttpRequest();\r\n // 样式默认宽度是48px\r\n let slideWidth: number = 48;\r\n\r\n const isError = ref(false);\r\n\r\n const deg = ref(0);\r\n const imageUrl = ref(\"\");\r\n const loading = ref(false);\r\n const imageStyle = computed(() => {\r\n return {\r\n backgroundImage: `url(${unref(imageUrl)})`,\r\n transform: `rotate(-${unref(deg)}deg)`,\r\n };\r\n });\r\n\r\n const loadImage = async (): Promise<undefined> => {\r\n // loading.value = true;\r\n\r\n // try {\r\n // const response = await httpRequest.get<Blob>(\r\n // \"/ms/app/captcha/rotation/image\",\r\n // {\r\n // params: {\r\n // scene: props.scene,\r\n // t: Math.random(),\r\n // },\r\n // responseType: \"blob\",\r\n // }\r\n // );\r\n\r\n // if (!(response.data instanceof Blob)) {\r\n // return;\r\n // }\r\n\r\n // imageUrl.value = URL.createObjectURL(response.data);\r\n // } finally {\r\n // loading.value = false;\r\n // }\r\n\r\n const clientId = await webHttpRequest.getClientID();\r\n webHttpRequest.getInterceptors\r\n return await new Promise(reslove=>{\r\n\r\n const img = new Image();\r\n\r\n img.onload = ()=>{\r\n imageUrl.value = img.src;\r\n reslove(undefined);\r\n loading.value = false;\r\n }\r\n\r\n img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`\r\n })\r\n };\r\n\r\n const handleSwitchConfirm = () => {\r\n emit(\"confirm\", unref(deg));\r\n };\r\n\r\n const handleMouseDown = (mouseDownEvent: MouseEvent | TouchEvent) => {\r\n if (unref(isError)) {\r\n return;\r\n }\r\n\r\n const startX =\r\n mouseDownEvent instanceof MouseEvent\r\n ? mouseDownEvent.clientX\r\n : mouseDownEvent.touches[0].clientX;\r\n const disposable = new Disposable();\r\n const totalWidth = unref(wrapperEl)!.getBoundingClientRect().width;\r\n\r\n const handleMouseMove = (event: MouseEvent | TouchEvent) => {\r\n const moveX =\r\n event instanceof MouseEvent\r\n ? event.clientX\r\n : event.touches[0].clientX;\r\n\r\n // 限定宽度范围\r\n slideWidth = Math.min(Math.max(moveX - startX + 48, 48), totalWidth);\r\n\r\n deg.value = Math.floor(((slideWidth - 48) / (totalWidth - 48)) * 360);\r\n\r\n unref(grandEl)!.style.width = `${slideWidth}px`;\r\n unref(buttonEl)!.style.transform = `translateX(${slideWidth - 48}px)`;\r\n };\r\n\r\n const handleMouseUp = (event: MouseEvent | TouchEvent) => {\r\n if (deg.value !== 0) {\r\n handleSwitchConfirm();\r\n }\r\n\r\n disposable.dispose();\r\n };\r\n\r\n document.addEventListener(\"mousemove\", handleMouseMove);\r\n document.addEventListener(\"touchmove\", handleMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n document.addEventListener(\"touchend\", handleMouseUp);\r\n document.addEventListener(\"touchcancel\", handleMouseUp);\r\n\r\n disposable.register(\r\n createDisposable(() => {\r\n document.removeEventListener(\"mousemove\", handleMouseMove);\r\n document.removeEventListener(\"touchmove\", handleMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n document.removeEventListener(\"touchend\", handleMouseUp);\r\n document.removeEventListener(\"touchcancel\", handleMouseUp);\r\n })\r\n );\r\n };\r\n\r\n const reset = () => {\r\n unref(grandEl)!.style.width = ``;\r\n unref(buttonEl)!.style.transform = ``;\r\n };\r\n\r\n expose({\r\n fail: () => {\r\n isError.value = true;\r\n\r\n setTimeout(() => {\r\n isError.value = false;\r\n\r\n reset();\r\n }, 1000);\r\n },\r\n });\r\n\r\n onMounted(async () => {\r\n await loadImage();\r\n });\r\n\r\n return () => {\r\n return (\r\n <Fragment>\r\n <div class=\"mk-verify-dialog__wrapper\" v-loading={unref(loading)}>\r\n <div\r\n class=\"mk-verify-dialog__image\"\r\n ref=\"imageEl\"\r\n style={imageStyle.value}\r\n />\r\n <div class=\"mk-verify-dialog__coordinate\" />\r\n </div>\r\n <div class={[\"mk-verify-switch\", unref(isError) ? \"is-error\" : \"\"]}>\r\n <div\r\n class=\"mk-verify-switch__wrapper\"\r\n ref={((el: HTMLDivElement) => (wrapperEl.value = el)) as any}\r\n >\r\n <div\r\n class=\"mk-verify-switch__button-grand\"\r\n ref={((el: HTMLDivElement) => (grandEl.value = el)) as any}\r\n />\r\n <div\r\n class=\"mk-verify-switch__button\"\r\n ref={((el: HTMLDivElement) => (buttonEl.value = el)) as any}\r\n onMousedown={handleMouseDown}\r\n onTouchstart={handleMouseDown}\r\n />\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","verifyDialogProps","emits","verifyDialogEmits","setup","emit","expose","wrapperEl","ref","buttonEl","grandEl","MSAppClient","instance","httpRequest","webHttpRequest","WebHttpRequest","slideWidth","isError","deg","imageUrl","loading","imageStyle","computed","backgroundImage","unref","transform","loadImage","clientId","getClientID","getInterceptors","Promise","reslove","img","Image","onload","value","src","undefined","scene","Math","random","handleSwitchConfirm","handleMouseDown","mouseDownEvent","startX","MouseEvent","clientX","touches","disposable","Disposable","totalWidth","getBoundingClientRect","width","handleMouseMove","event","moveX","min","max","floor","style","handleMouseUp","dispose","document","addEventListener","register","createDisposable","removeEventListener","reset","fail","setTimeout","onMounted","_createVNode","_Fragment","_withDirectives","_resolveDirective","el"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n ACCESS_TOKEN_HEADER,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n X_ACCESS_TOKEN_HEADER,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, Components, ComponentsCombine } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { InternalMkModule, MkModule } from \"./MkModule\";\r\nimport { DataModelDefines } from \"./DataModelDefines\";\r\nimport { App } from \"vue\";\r\nimport { DATA_MODEL_NAME } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n app: App;\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataTableHeaderComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n app: App;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n modules: MkModule[] = [];\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n dataTableComponents: IComponents;\r\n dataTableHeaderComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n i18n: I18n;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.app = options.app;\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataTableHeaderComponents = this._options.dataTableHeaderComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n HttpRequest.appID = this.appID;\r\n HttpRequest.setDefaultHttpRequest(this.httpRequest);\r\n\r\n DVQueryable.setHttpRequest(this.httpRequest);\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n app: options.app,\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataTableHeaderComponents:\r\n options.dataTableHeaderComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n const internalModules = this.modules.map((module) => {\r\n const internalModule = new InternalMkModule(this.app);\r\n\r\n module(internalModule);\r\n\r\n return internalModule;\r\n });\r\n\r\n const dataTableComponents = [];\r\n const dataFormComponents = [];\r\n const whereFilterComponents = [];\r\n const dataFilterComponents = [];\r\n\r\n for (let internalModule of internalModules) {\r\n for (let item of internalModule.dataTableClasses) {\r\n DataModelDefines.instance.registerDataTableDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataFormClasses) {\r\n DataModelDefines.instance.registerDataFormDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataTreeClasses) {\r\n DataModelDefines.instance.registerDataTreeDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n dataTableComponents.push(internalModule.dataTableComponents);\r\n dataFormComponents.push(internalModule.dataFormComponents);\r\n dataFilterComponents.push(internalModule.dataFilterComponents);\r\n whereFilterComponents.push(internalModule.whereFilterComponents);\r\n }\r\n\r\n this.dataTableComponents = new ComponentsCombine({\r\n componentsList: [...dataTableComponents, this.dataTableComponents],\r\n });\r\n this.dataFormComponents = new ComponentsCombine({\r\n componentsList: [...dataFormComponents, this.dataFormComponents],\r\n });\r\n this.dataFilterComponents = new ComponentsCombine({\r\n componentsList: [...dataFilterComponents, this.dataFilterComponents],\r\n });\r\n this.whereFilterComponents = new ComponentsCombine({\r\n componentsList: [...whereFilterComponents, this.whereFilterComponents],\r\n });\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n for (let internalModule of internalModules) {\r\n for (let item of internalModule.normalPages) {\r\n this.pageManager.addNormalPage(item);\r\n }\r\n\r\n for (let item of internalModule.extendsPages) {\r\n this.pageManager.addExtendsPage(item);\r\n }\r\n }\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.userSession?.dispose();\r\n this.vueRouter.push({ name: \"login\" });\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(username: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/login\",\r\n method: \"POST\",\r\n data: {\r\n account: username,\r\n password: md5(`mkbl#${password}`),\r\n vCode: code,\r\n },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async resetPassword(username: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/reset-password\",\r\n method: \"POST\",\r\n data: { account: username, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.setUserSession(null);\r\n }\r\n async changePassword(password: string, newPassword: string, vCode: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/modify-password\",\r\n method: \"POST\",\r\n data: {\r\n password: md5(`mkbl#${password}`),\r\n newPassword: md5(`mkbl#${newPassword}`),\r\n vCode,\r\n },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n addModule(module: MkModule) {\r\n this.modules.push(module);\r\n }\r\n}\r\n"],"names":["Event","I18n","HttpRequest","DVQueryable","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","module","InternalMkModule","DataModelDefines","DATA_MODEL_NAME","ComponentsCombine","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
1
+ {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n ACCESS_TOKEN_HEADER,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n X_ACCESS_TOKEN_HEADER,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, Components, ComponentsCombine } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { InternalMkModule, MkModule } from \"./MkModule\";\r\nimport { DataModelDefines } from \"./DataModelDefines\";\r\nimport { App } from \"vue\";\r\nimport { DATA_MODEL_NAME } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n isMidifyPassword?:Boolean;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n app: App;\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataTableHeaderComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n app: App;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n modules: MkModule[] = [];\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n dataTableComponents: IComponents;\r\n dataTableHeaderComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n i18n: I18n;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.app = options.app;\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataTableHeaderComponents = this._options.dataTableHeaderComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n HttpRequest.appID = this.appID;\r\n HttpRequest.setDefaultHttpRequest(this.httpRequest);\r\n\r\n DVQueryable.setHttpRequest(this.httpRequest);\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n app: options.app,\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataTableHeaderComponents:\r\n options.dataTableHeaderComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n const internalModules = this.modules.map((module) => {\r\n const internalModule = new InternalMkModule(this.app);\r\n\r\n module(internalModule);\r\n\r\n return internalModule;\r\n });\r\n\r\n const dataTableComponents = [];\r\n const dataFormComponents = [];\r\n const whereFilterComponents = [];\r\n const dataFilterComponents = [];\r\n\r\n for (let internalModule of internalModules) {\r\n for (let item of internalModule.dataTableClasses) {\r\n DataModelDefines.instance.registerDataTableDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataFormClasses) {\r\n DataModelDefines.instance.registerDataFormDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n for (let item of internalModule.dataTreeClasses) {\r\n DataModelDefines.instance.registerDataTreeDefine(\r\n (item as any)[DATA_MODEL_NAME],\r\n item\r\n );\r\n }\r\n\r\n dataTableComponents.push(internalModule.dataTableComponents);\r\n dataFormComponents.push(internalModule.dataFormComponents);\r\n dataFilterComponents.push(internalModule.dataFilterComponents);\r\n whereFilterComponents.push(internalModule.whereFilterComponents);\r\n }\r\n\r\n this.dataTableComponents = new ComponentsCombine({\r\n componentsList: [...dataTableComponents, this.dataTableComponents],\r\n });\r\n this.dataFormComponents = new ComponentsCombine({\r\n componentsList: [...dataFormComponents, this.dataFormComponents],\r\n });\r\n this.dataFilterComponents = new ComponentsCombine({\r\n componentsList: [...dataFilterComponents, this.dataFilterComponents],\r\n });\r\n this.whereFilterComponents = new ComponentsCombine({\r\n componentsList: [...whereFilterComponents, this.whereFilterComponents],\r\n });\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n for (let internalModule of internalModules) {\r\n for (let item of internalModule.normalPages) {\r\n this.pageManager.addNormalPage(item);\r\n }\r\n\r\n for (let item of internalModule.extendsPages) {\r\n this.pageManager.addExtendsPage(item);\r\n }\r\n }\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.userSession?.dispose();\r\n this.vueRouter.push({ name: \"login\" });\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(username: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/login\",\r\n method: \"POST\",\r\n data: {\r\n account: username,\r\n password: md5(`mkbl#${password}`),\r\n vCode: code,\r\n },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async resetPassword(username: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/reset-password\",\r\n method: \"POST\",\r\n data: { account: username, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.setUserSession(null);\r\n }\r\n async changePassword(password: string, newPassword: string, vCode: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/ms/app/modify-password\",\r\n method: \"POST\",\r\n data: {\r\n password: md5(`mkbl#${password}`),\r\n newPassword: md5(`mkbl#${newPassword}`),\r\n vCode,\r\n },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n addModule(module: MkModule) {\r\n this.modules.push(module);\r\n }\r\n}\r\n"],"names":["Event","I18n","HttpRequest","DVQueryable","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","module","InternalMkModule","DataModelDefines","DATA_MODEL_NAME","ComponentsCombine","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  const tools = require("./tools.js");
5
- const message = require("./message.js");
6
5
  require("@maketribe/dm");
7
6
  require("element-plus");
8
7
  require("@maketribe/utils");
@@ -26,7 +25,7 @@ const MKHeader = /* @__PURE__ */ vue.defineComponent({
26
25
  "src": msAppClient == null ? void 0 : msAppClient.logo
27
26
  }, null), projectName]), vue.createVNode("div", {
28
27
  "class": "mk-header__tools"
29
- }, [vue.createVNode(message.MKMessage, null, null), vue.createVNode(tools.MKHeaderTools, null, null)])]);
28
+ }, [vue.createVNode(tools.MKHeaderTools, null, null)])]);
30
29
  };
31
30
  }
32
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/header/index.tsx"],"sourcesContent":["import { defineComponent, h, Ref, ref, unref } from \"vue\";\r\nimport { MKHeaderTools } from \"./tools\";\r\nimport { MKMessage } from \"./message\";\r\nimport { MSAppClient, MenuNode } from \"../../../core\";\r\n\r\nexport const MKHeader = defineComponent({\r\n\tname: \"MKHeader\",\r\n\tsetup() {\r\n\t\tconst msAppClient = MSAppClient.instance!;\r\n\r\n\t\tconst projectName = <div class=\"mk-header__projectName\">{msAppClient?.projectName}</div>;\r\n\r\n\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-header\">\r\n\t\t\t\t\t<div class=\"mk-header__main\">\r\n\t\t\t\t\t\t<img class=\"mk-header__logo\" src={msAppClient?.logo}></img>\r\n\t\t\t\t\t\t{projectName}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mk-header__tools\">\r\n\t\t\t\t\t\t<MKMessage />\r\n\t\t\t\t\t\t<MKHeaderTools />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["MKHeader","defineComponent","name","setup","msAppClient","MSAppClient","instance","projectName","_createVNode","logo","MKMessage","MKHeaderTools"],"mappings":";;;;;;;;;;;AAKaA,MAAAA,WAAWC,oBAAAA,gBAAgB;AAAA,EACvCC,MAAM;AAAA,EACNC,QAAQ;AACP,UAAMC,cAAcC,YAAW,YAACC;AAEhC,UAAMC,cAAWC,IAAA,YAAA,OAAA;AAAA,MAAA,SAAA;AAAA,OAAwCJ,CAAAA,2CAAaG,WAAW,CAAO;AAGxF,WAAO,MAAM;AACZ,aAAAC,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAGqCJ,2CAAaK;AAAAA,MAC9CF,GAAAA,IAAAA,GAAAA,WAAW,IAAAC,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAAE,mBAAAF,MAAAA,IAAAA,GAAAA,gBAAAG,MAAAA,eAAA,MAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA;EAUjB;AACD,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/header/index.tsx"],"sourcesContent":["import { defineComponent, h, Ref, ref, unref } from \"vue\";\r\nimport { MKHeaderTools } from \"./tools\";\r\nimport { MKMessage } from \"./message\";\r\nimport { MSAppClient, MenuNode } from \"../../../core\";\r\n\r\nexport const MKHeader = defineComponent({\r\n\tname: \"MKHeader\",\r\n\tsetup() {\r\n\t\tconst msAppClient = MSAppClient.instance!;\r\n\r\n\t\tconst projectName = <div class=\"mk-header__projectName\">{msAppClient?.projectName}</div>;\r\n\r\n\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-header\">\r\n\t\t\t\t\t<div class=\"mk-header__main\">\r\n\t\t\t\t\t\t<img class=\"mk-header__logo\" src={msAppClient?.logo}></img>\r\n\t\t\t\t\t\t{projectName}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mk-header__tools\">\r\n\t\t\t\t\t\t{/* <MKMessage /> */}\r\n\t\t\t\t\t\t<MKHeaderTools />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["MKHeader","defineComponent","name","setup","msAppClient","MSAppClient","instance","projectName","_createVNode","logo","MKHeaderTools"],"mappings":";;;;;;;;;;AAKaA,MAAAA,WAAWC,oBAAAA,gBAAgB;AAAA,EACvCC,MAAM;AAAA,EACNC,QAAQ;AACP,UAAMC,cAAcC,YAAW,YAACC;AAEhC,UAAMC,cAAWC,IAAA,YAAA,OAAA;AAAA,MAAA,SAAA;AAAA,OAAwCJ,CAAAA,2CAAaG,WAAW,CAAO;AAGxF,WAAO,MAAM;AACZ,aAAAC,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAGqCJ,2CAAaK;AAAAA,MAC9CF,GAAAA,IAAAA,GAAAA,WAAW,IAAAC,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,IAAA,YAAAE,qBAAA,MAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA;EAUjB;AACD,CAAC;;"}
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const vue = require("vue");
4
+ const elementPlus = require("element-plus");
5
+ require("../../../components/abstract/abstract-select/abstract-select.js");
6
+ require("../../../components/abstract/abstract-select/abstract-select-options.js");
7
+ require("../../../components/basic/svg-icon/index.js");
8
+ require("../../../components/basic/button/button-options.js");
9
+ require("../../../components/basic/config-provider/index.js");
10
+ require("../../../components/basic/data-table-select/index.js");
11
+ require("../../../components/basic/data-select/index.js");
12
+ require("../../../components/basic/pagination/index.js");
13
+ require("../../../components/basic/system-provider/index.js");
14
+ require("../../../components/basic/code-editor/index.js");
15
+ require("../../../components/basic/json-editor/index.js");
16
+ require("../../../components/basic/page-container/index.js");
17
+ require("../../../components/basic/date-picker/index.js");
18
+ require("../../../components/basic/icon-select/index.js");
19
+ require("../../../components/basic/upload-file/upload-file.js");
20
+ require("@maketribe/request");
21
+ require("@maketribe/utils");
22
+ require("../../../components/basic/upload-file/context/web-file-upload-context.js");
23
+ require("../../../components/basic/upload-file/context/web-file-upload-context-options.js");
24
+ require("../../../components/basic/upload-file/ui/upload-image/index.js");
25
+ require("../../../components/basic/upload-file/ui/upload-file/index.js");
26
+ require("../../../components/basic/upload-file/ui/upload-video/index.js");
27
+ require("../../../components/basic/upload-file/upload-file-options.js");
28
+ require("../../../components/basic/doc-editor/index.js");
29
+ require("../../../components/basic/copy-container/index.js");
30
+ require("../../../components/basic/image-cropper/index.js");
31
+ require("../../../components/basic/visual-page-editor/index.js");
32
+ require("../../../components/basic/lexical-editor/assets/iconfont.js");
33
+ require("@lexical/overflow");
34
+ require("@lexical/text");
35
+ require("@lexical/utils");
36
+ require("lexical");
37
+ require("@lexical/selection");
38
+ require("@lexical/link");
39
+ require("@lexical/rich-text");
40
+ require("../../../components/basic/lexical-editor/utils/html.js");
41
+ const dm = require("@maketribe/dm");
42
+ require("../../../components/basic/lexical-editor/utils/image.js");
43
+ require("@element-plus/icons-vue");
44
+ require("../../../components/basic/lexical-editor/composables/useElementBlockSelection.js");
45
+ require("@lexical/history");
46
+ ;/* empty css */
47
+ require("../../../components/basic/lexical-editor/nodes/ModuleDecoratorNode.js");
48
+ require("../../../components/basic/lexical-editor/nodes/ImageNode.js");
49
+ require("../../../components/basic/lexical-editor/nodes/ImageTextWarpNode.js");
50
+ require("../../../components/basic/lexical-editor/nodes/Template.js");
51
+ ;/* empty css */
52
+ ;/* empty css */
53
+ ;/* empty css */
54
+ require("../../../components/basic/lexical-editor/plugins/RichTextEditorPlugin.js");
55
+ require("../../../components/basic/lexical-editor/plugins/HashtagPlugin.js");
56
+ require("../../../components/basic/lexical-editor/plugins/ListPlugin.js");
57
+ require("../../../components/basic/lexical-editor/plugins/CheckListPlugin.js");
58
+ require("../../../components/basic/lexical-editor/plugins/TablePlugin.js");
59
+ ;/* empty css */
60
+ require("@lexical/dragon");
61
+ require("@lexical/plain-text");
62
+ require("../../../components/basic/lexical-editor/stage/DecoratedTeleports.js");
63
+ ;/* empty css */
64
+ require("../../../components/data-model/data-form/index.js");
65
+ require("../../../components/data-model/data-table/index.js");
66
+ require("../../../components/data-model/data-table-pagination/index.js");
67
+ const index = require("../../../components/business/verify-dialog/index.js");
68
+ require("../../../components/business/resource-list/index.js");
69
+ require("../../../components/business/resource-manager/index.js");
70
+ require("../../../core/DataModelDefines.js");
71
+ const MSAppClient = require("../../../core/MSAppClient.js");
72
+ const MKPasswordDialog = /* @__PURE__ */ vue.defineComponent({
73
+ name: "MKPasswordDialog",
74
+ props: {
75
+ showDialog: Boolean
76
+ },
77
+ emits: ["update:showDialog"],
78
+ setup(props, {
79
+ emit
80
+ }) {
81
+ var _a;
82
+ const msAppClient = (_a = MSAppClient.MSAppClient) == null ? void 0 : _a.instance;
83
+ const formRef = vue.ref();
84
+ const showDialog = vue.computed({
85
+ get: () => props.showDialog,
86
+ set: (v) => emit("update:showDialog", v)
87
+ });
88
+ const form = vue.reactive({
89
+ password: "",
90
+ newPassword: "",
91
+ repeatPassword: ""
92
+ });
93
+ vue.watch(showDialog, async () => {
94
+ if (vue.unref(showDialog)) {
95
+ form.password = "";
96
+ form.newPassword = "";
97
+ form.repeatPassword = "";
98
+ }
99
+ });
100
+ const submitChangePassword = async () => {
101
+ if (!await formRef.value.validate()) {
102
+ return;
103
+ }
104
+ try {
105
+ btnLoading.value = true;
106
+ const vCode = await index.MKOpenVerifyCode({
107
+ sence: "ModifyPassword"
108
+ }) + "";
109
+ const result = await msAppClient.changePassword(form.password, form.newPassword, vCode);
110
+ if (result.data.code != 200) {
111
+ dm.Messager.error({
112
+ message: result.data.msg || "修改密码失败"
113
+ });
114
+ return;
115
+ }
116
+ btnLoading.value = false;
117
+ showDialog.value = false;
118
+ dm.Messager.success({
119
+ message: "修改密码成功"
120
+ });
121
+ msAppClient.logout();
122
+ } catch (e) {
123
+ console.error(e);
124
+ } finally {
125
+ btnLoading.value = false;
126
+ }
127
+ };
128
+ const btnLoading = vue.ref(false);
129
+ const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/;
130
+ const validateCode1 = (rule, value, callback) => {
131
+ if (value == "") {
132
+ callback(new Error("请输入密码"));
133
+ }
134
+ if (value != form.newPassword) {
135
+ callback(new Error("两次输入不一致"));
136
+ }
137
+ callback();
138
+ };
139
+ const validateCode = (rule, value, callback) => {
140
+ if (value == "") {
141
+ callback(new Error("请输入密码码"));
142
+ }
143
+ if (value.length < 8) {
144
+ callback(new Error("密码码长度不能小于8位"));
145
+ }
146
+ if (value == form.password) {
147
+ callback(new Error("新密码不能与旧密码相同"));
148
+ }
149
+ if (!reg.test(value)) {
150
+ callback(new Error("密码必须包含数字,字母和特殊符号"));
151
+ } else {
152
+ callback();
153
+ }
154
+ };
155
+ return () => {
156
+ return vue.createVNode(elementPlus.ElDialog, {
157
+ "model-value": showDialog.value,
158
+ "onUpdate:modelValue": (v) => {
159
+ showDialog.value = v;
160
+ },
161
+ "title": "修改密码",
162
+ "width": "30%"
163
+ }, {
164
+ default: () => [vue.createVNode(elementPlus.ElForm, {
165
+ "ref": formRef,
166
+ "model": form,
167
+ "label-width": "80px"
168
+ }, {
169
+ default: () => [vue.createVNode(elementPlus.ElFormItem, {
170
+ "label": "旧密码",
171
+ "required": true,
172
+ "prop": "password",
173
+ "rules": [{
174
+ required: true,
175
+ message: "请输入旧密码",
176
+ trigger: "change"
177
+ }]
178
+ }, {
179
+ default: () => [vue.createVNode(elementPlus.ElInput, {
180
+ "model-value": form.password,
181
+ "placeholder": "请输入旧密码",
182
+ "onUpdate:modelValue": (v) => {
183
+ form.password = v;
184
+ },
185
+ "type": "password"
186
+ }, null)]
187
+ }), vue.createVNode(elementPlus.ElFormItem, {
188
+ "label": "新密码",
189
+ "required": true,
190
+ "prop": "newPassword",
191
+ "rules": [{
192
+ required: true,
193
+ message: "请输入新密码",
194
+ trigger: "change"
195
+ }, {
196
+ validator: validateCode,
197
+ trigger: "change"
198
+ }]
199
+ }, {
200
+ default: () => [vue.createVNode(elementPlus.ElInput, {
201
+ "model-value": form.newPassword,
202
+ "placeholder": "请输入新密码",
203
+ "onUpdate:modelValue": (v) => {
204
+ form.newPassword = v;
205
+ },
206
+ "type": "password"
207
+ }, null)]
208
+ }), vue.createVNode(elementPlus.ElFormItem, {
209
+ "label": "重复密码",
210
+ "required": true,
211
+ "prop": "repeatPassword",
212
+ "rules": [{
213
+ required: true,
214
+ message: "请再次输入密码",
215
+ trigger: "change"
216
+ }, {
217
+ validator: validateCode1,
218
+ trigger: "change"
219
+ }]
220
+ }, {
221
+ default: () => [vue.createVNode(elementPlus.ElInput, {
222
+ "model-value": form.repeatPassword,
223
+ "placeholder": "请再次输入密码",
224
+ "onUpdate:modelValue": (v) => {
225
+ form.repeatPassword = v;
226
+ },
227
+ "type": "password"
228
+ }, null)]
229
+ })]
230
+ })],
231
+ footer: () => vue.createVNode("div", null, [vue.createVNode(elementPlus.ElButton, {
232
+ "onClick": () => {
233
+ showDialog.value = false;
234
+ }
235
+ }, {
236
+ default: () => [vue.createTextVNode("取消")]
237
+ }), vue.createVNode(elementPlus.ElButton, {
238
+ "type": "primary",
239
+ "loading": btnLoading.value,
240
+ "onClick": () => {
241
+ submitChangePassword();
242
+ }
243
+ }, {
244
+ default: () => [vue.createTextVNode("确定")]
245
+ })])
246
+ });
247
+ };
248
+ }
249
+ });
250
+ exports.MKPasswordDialog = MKPasswordDialog;
251
+ //# sourceMappingURL=passwordDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passwordDialog.js","sources":["../../../../../src/layouts/components/header/passwordDialog.tsx"],"sourcesContent":["import { ElDialog, ElButton, ElForm, ElFormItem, ElInput } from \"element-plus\"\r\nimport { MKOpenVerifyCode } from \"../../../components\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { Messager } from \"@maketribe/dm\";\r\n\r\nexport const MKPasswordDialog = defineComponent({\r\n name: \"MKPasswordDialog\",\r\n props: {\r\n showDialog: Boolean\r\n },\r\n emits: [\"update:showDialog\"],\r\n setup(props, { emit }) {\r\n const msAppClient = MSAppClient?.instance!;\r\n\r\n const formRef = ref();\r\n\r\n const showDialog = computed({\r\n get: () => props.showDialog,\r\n set: (v) => emit(\"update:showDialog\", v)\r\n });\r\n\r\n const form = reactive({\r\n password: \"\",\r\n newPassword: \"\",\r\n repeatPassword: \"\",\r\n });\r\n\r\n watch(showDialog, async () => {\r\n if (unref(showDialog)) {\r\n form.password = \"\";\r\n form.newPassword = \"\";\r\n form.repeatPassword = \"\";\r\n }\r\n })\r\n\r\n const submitChangePassword = async () => {\r\n\r\n if (!await formRef.value.validate()) {\r\n return;\r\n }\r\n\r\n try {\r\n\r\n btnLoading.value = true\r\n\r\n const vCode = (await MKOpenVerifyCode({ sence: \"ModifyPassword\" } as any)) + \"\";\r\n\r\n const result = await msAppClient.changePassword(form.password, form.newPassword, vCode);\r\n\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"修改密码失败\" });\r\n return;\r\n }\r\n\r\n btnLoading.value = false\r\n showDialog.value = false\r\n Messager.success({ message: \"修改密码成功\" });\r\n msAppClient.logout()\r\n\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n }\r\n\r\n const btnLoading = ref(false)\r\n const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/\r\n\r\n const validateCode1 = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码\"));\r\n }\r\n if (value != form.newPassword) {\r\n callback(new Error(\"两次输入不一致\"));\r\n }\r\n callback()\r\n }\r\n\r\n const validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\r\n }\r\n\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value == form.password) {\r\n callback(new Error(\"新密码不能与旧密码相同\"));\r\n }\r\n\r\n if (!reg.test(value)) {\r\n callback(new Error(\"密码必须包含数字,字母和特殊符号\"))\r\n } else {\r\n callback()\r\n }\r\n }\r\n\r\n return () => {\r\n return <ElDialog model-value={showDialog.value} onUpdate:modelValue={(v) => { showDialog.value = v }} title={'修改密码'} width={'30%'} v-slots={{\r\n footer: () => (\r\n <div>\r\n <ElButton onClick={() => { showDialog.value = false }}>取消</ElButton>\r\n <ElButton type={\"primary\"} loading={btnLoading.value} onClick={() => { submitChangePassword() }}>确定</ElButton>\r\n </div>\r\n )\r\n }}>\r\n <ElForm ref={formRef} model={form} label-width={'80px'}>\r\n <ElFormItem label={'旧密码'} required={true} prop={'password'} rules={[{ required: true, message: '请输入旧密码', trigger: 'change' }]}>\r\n <ElInput model-value={form.password} placeholder={\"请输入旧密码\"} onUpdate:modelValue={(v) => { form.password = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'新密码'} required={true} prop={'newPassword'} rules={[{ required: true, message: '请输入新密码', trigger: 'change' }, { validator: validateCode, trigger: 'change' }]} >\r\n <ElInput model-value={form.newPassword} placeholder={\"请输入新密码\"} onUpdate:modelValue={(v) => { form.newPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'重复密码'} required={true} prop={'repeatPassword'} rules={[{ required: true, message: '请再次输入密码', trigger: 'change' }, { validator: validateCode1, trigger: 'change' }]} >\r\n <ElInput model-value={form.repeatPassword} placeholder={\"请再次输入密码\"} onUpdate:modelValue={(v) => { form.repeatPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n </ElForm>\r\n </ElDialog>\r\n }\r\n }\r\n}\r\n)"],"names":["MKPasswordDialog","defineComponent","name","props","showDialog","Boolean","emits","setup","emit","msAppClient","MSAppClient","instance","formRef","ref","computed","get","set","v","form","reactive","password","newPassword","repeatPassword","watch","unref","submitChangePassword","value","validate","btnLoading","vCode","MKOpenVerifyCode","sence","result","changePassword","data","code","Messager","error","message","msg","success","logout","e","console","reg","validateCode1","rule","callback","Error","validateCode","length","test","_createVNode","ElDialog","default","ElForm","ElFormItem","required","trigger","ElInput","validator","footer","ElButton","onClick","_createTextVNode"],"mappings":"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"}