@maketribe/ms-app 3.2.52 → 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 (29) 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/passwordDialog.js +251 -0
  5. package/dist/cjs/layouts/components/header/passwordDialog.js.map +1 -0
  6. package/dist/cjs/layouts/components/header/tools.js +7 -157
  7. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  8. package/dist/cjs/message-impl/DialogerImpl.js +157 -0
  9. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  10. package/dist/cjs/page/login/index.vue2.js +11 -1
  11. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  12. package/dist/esm/components/business/verify-dialog/verify-panel.js +13 -18
  13. package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -1
  14. package/dist/esm/core/MSAppClient.js.map +1 -1
  15. package/dist/esm/layouts/components/header/passwordDialog.js +251 -0
  16. package/dist/esm/layouts/components/header/passwordDialog.js.map +1 -0
  17. package/dist/esm/layouts/components/header/tools.js +9 -159
  18. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  19. package/dist/esm/message-impl/DialogerImpl.js +159 -2
  20. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  21. package/dist/esm/page/login/index.vue2.js +11 -1
  22. package/dist/esm/page/login/index.vue2.js.map +1 -1
  23. package/dist/types/components/business/resource-manager/index.d.ts +4 -4
  24. package/dist/types/core/MSAppClient.d.ts +1 -0
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/types/layouts/components/header/passwordDialog.d.ts +9 -0
  27. package/dist/types/message-impl/DialogerImpl.d.ts +3 -0
  28. package/dist/types/modules/cms/components/part-tree/index.d.ts +1 -1
  29. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
4
  const elementPlus = require("element-plus");
5
- const dm = require("@maketribe/dm");
5
+ require("@maketribe/dm");
6
6
  require("@maketribe/utils");
7
7
  require("../../../core/DataModelDefines.js");
8
8
  const MSAppClient = require("../../../core/MSAppClient.js");
@@ -66,9 +66,10 @@ require("../../../components/basic/lexical-editor/stage/DecoratedTeleports.js");
66
66
  require("../../../components/data-model/data-form/index.js");
67
67
  require("../../../components/data-model/data-table/index.js");
68
68
  require("../../../components/data-model/data-table-pagination/index.js");
69
- const index$1 = require("../../../components/business/verify-dialog/index.js");
69
+ require("../../../components/business/verify-dialog/verify-dialog-option.js");
70
70
  require("../../../components/business/resource-list/index.js");
71
71
  require("../../../components/business/resource-manager/index.js");
72
+ const passwordDialog = require("./passwordDialog.js");
72
73
  const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
73
74
  name: "MKHeaderTools",
74
75
  setup(props) {
@@ -81,70 +82,6 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
81
82
  return (_a2 = vue.unref(userInfo)) == null ? void 0 : _a2.avatar;
82
83
  });
83
84
  const showDialog = vue.ref(false);
84
- const form = vue.reactive({
85
- password: "",
86
- newPassword: "",
87
- repeatPassword: ""
88
- });
89
- const formRef = vue.ref();
90
- const btnLoading = vue.ref(false);
91
- vue.watch(showDialog, async () => {
92
- if (vue.unref(showDialog)) {
93
- form.password = "";
94
- form.newPassword = "";
95
- form.repeatPassword = "";
96
- }
97
- });
98
- 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]+)$/;
99
- const validateCode1 = (rule, value, callback) => {
100
- if (value == "") {
101
- callback(new Error("请输入密码"));
102
- }
103
- if (value != form.newPassword) {
104
- callback(new Error("两次输入不一致"));
105
- }
106
- callback();
107
- };
108
- const validateCode = (rule, value, callback) => {
109
- if (value == "") {
110
- callback(new Error("请输入密码码"));
111
- }
112
- if (value.length < 8) {
113
- callback(new Error("密码码长度不能小于8位"));
114
- }
115
- if (value == form.password) {
116
- callback(new Error("新密码不能与旧密码相同"));
117
- }
118
- if (!reg.test(value)) {
119
- callback(new Error("密码必须包含数字,字母和特殊符号"));
120
- } else {
121
- callback();
122
- }
123
- };
124
- const submitChangePassword = async () => {
125
- if (!await formRef.value.validate()) {
126
- return;
127
- }
128
- try {
129
- btnLoading.value = true;
130
- const vCode = await index$1.MKOpenVerifyCode({
131
- sence: "ModifyPassword"
132
- }) + "";
133
- const result = await msAppClient.changePassword(form.password, form.newPassword, vCode);
134
- if (result.data.code != 200) {
135
- dm.Messager.error({
136
- message: result.data.msg || "修改密码失败"
137
- });
138
- return;
139
- }
140
- btnLoading.value = false;
141
- msAppClient.logout();
142
- } catch (e) {
143
- console.error(e);
144
- } finally {
145
- btnLoading.value = false;
146
- }
147
- };
148
85
  return () => {
149
86
  return vue.createVNode("div", {
150
87
  "class": "mk-header-tools"
@@ -187,97 +124,10 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
187
124
  }, null), vue.createTextVNode("退出登录")]
188
125
  })]
189
126
  })
190
- })]), vue.createVNode(elementPlus.ElDialog, {
191
- "model-value": showDialog.value,
192
- "onUpdate:modelValue": (v) => {
193
- showDialog.value = v;
194
- },
195
- "title": "修改密码",
196
- "width": "30%"
197
- }, {
198
- default: () => [vue.createVNode(elementPlus.ElForm, {
199
- "ref": formRef,
200
- "model": form,
201
- "label-width": "80px"
202
- }, {
203
- default: () => [vue.createVNode(elementPlus.ElFormItem, {
204
- "label": "旧密码",
205
- "required": true,
206
- "prop": "password",
207
- "rules": [{
208
- required: true,
209
- message: "请输入旧密码",
210
- trigger: "change"
211
- }]
212
- }, {
213
- default: () => [vue.createVNode(elementPlus.ElInput, {
214
- "model-value": form.password,
215
- "placeholder": "请输入旧密码",
216
- "onUpdate:modelValue": (v) => {
217
- form.password = v;
218
- },
219
- "type": "password"
220
- }, null)]
221
- }), vue.createVNode(elementPlus.ElFormItem, {
222
- "label": "新密码",
223
- "required": true,
224
- "prop": "newPassword",
225
- "rules": [{
226
- required: true,
227
- message: "请输入新密码",
228
- trigger: "change"
229
- }, {
230
- validator: validateCode,
231
- trigger: "change"
232
- }]
233
- }, {
234
- default: () => [vue.createVNode(elementPlus.ElInput, {
235
- "model-value": form.newPassword,
236
- "placeholder": "请输入新密码",
237
- "onUpdate:modelValue": (v) => {
238
- form.newPassword = v;
239
- },
240
- "type": "password"
241
- }, null)]
242
- }), vue.createVNode(elementPlus.ElFormItem, {
243
- "label": "重复密码",
244
- "required": true,
245
- "prop": "repeatPassword",
246
- "rules": [{
247
- required: true,
248
- message: "请再次输入密码",
249
- trigger: "change"
250
- }, {
251
- validator: validateCode1,
252
- trigger: "change"
253
- }]
254
- }, {
255
- default: () => [vue.createVNode(elementPlus.ElInput, {
256
- "model-value": form.repeatPassword,
257
- "placeholder": "请再次输入密码",
258
- "onUpdate:modelValue": (v) => {
259
- form.repeatPassword = v;
260
- },
261
- "type": "password"
262
- }, null)]
263
- })]
264
- })],
265
- footer: () => vue.createVNode("div", null, [vue.createVNode(elementPlus.ElButton, {
266
- "onClick": () => {
267
- showDialog.value = false;
268
- }
269
- }, {
270
- default: () => [vue.createTextVNode("取消")]
271
- }), vue.createVNode(elementPlus.ElButton, {
272
- "type": "primary",
273
- "loading": btnLoading.value,
274
- "onClick": () => {
275
- submitChangePassword();
276
- }
277
- }, {
278
- default: () => [vue.createTextVNode("确定")]
279
- })])
280
- })]);
127
+ })]), vue.createVNode(passwordDialog.MKPasswordDialog, {
128
+ "showDialog": showDialog.value,
129
+ "onUpdate:showDialog": (v) => showDialog.value = v
130
+ }, null)]);
281
131
  };
282
132
  }
283
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon,MKOpenVerifyCode } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient?.instance!;\r\n const userSession = msAppClient?.userSession!;\r\n\r\n const userInfo = computed(() => userSession?.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo)?.avatar);\r\n const showDialog = ref(false);\r\n const form = reactive({\r\n password: \"\",\r\n newPassword: \"\",\r\n repeatPassword: \"\",\r\n });\r\n const formRef = ref();\r\n const btnLoading = ref(false)\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 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 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 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 return () => {\r\n\r\n\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo)?.nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <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 </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","form","reactive","password","newPassword","repeatPassword","formRef","btnLoading","watch","reg","validateCode1","rule","value","callback","Error","validateCode","length","test","submitChangePassword","validate","vCode","MKOpenVerifyCode","sence","result","changePassword","data","code","Messager","error","message","msg","logout","e","console","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","trigger","ElInput","validator","footer","ElButton"],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon, MKOpenVerifyCode } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\nimport { MKPasswordDialog } from \"./passwordDialog.tsx\"\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient?.instance!;\r\n const userSession = msAppClient?.userSession!;\r\n\r\n const userInfo = computed(() => userSession?.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo)?.avatar);\r\n const showDialog = ref(false);\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo)?.nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <MKPasswordDialog showDialog={showDialog.value} onUpdate:showDialog={(v) => showDialog.value = v}></MKPasswordDialog>\r\n </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","_createVNode","ElDropdown","default","ElImage","error","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","value","_createTextVNode","logout","MKPasswordDialog","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBaA,MAAAA,gBAAgBC,oBAAAA,gBAAgB;AAAA,EAC3CC,MAAM;AAAA,EACNC,MAAMC,OAAO;;AACX,UAAMC,eAAcC,iBAAW,gBAAXA,mBAAaC;AACjC,UAAMC,cAAcH,2CAAaG;AAEjC,UAAMC,WAAWC,IAAQ,SAAC,MAAMF,2CAAaC,QAAS;AAEtD,UAAME,SAASD,IAAAA,SAAS,MAAA;;AAAME,cAAAA,MAAAA,IAAK,MAACH,QAAQ,MAAdG,gBAAAA,IAAiBD;AAAAA,KAAM;AACrD,UAAME,aAAaC,QAAI,KAAK;AAE5B,WAAO,MAAM;AACX,aAAAC,IAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,IAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,IAAA,YAAAC,wBAAA;AAAA,QAAA,SAAA;AAAA,QAAA,WAAA;AAAA,SAMiB;AAAA,QACPC,SAASA,MAAAA;;AAAAF,qBAAA,YAAA,OAAA;AAAA,YAAA,SAAA;AAAA,aAAAA,CAAAA,IAAA,YAAAG,qBAAA;AAAA,YAAA,SAAA;AAAA,YAAA,OAIEN,IAAK,MAACD,MAAM;AAAA,aACR;AAAA,YACPQ,OAAOA,MAAAJ,IAAA,YAAAK,iBAAA;AAAA,cAAA,aAAA;AAAA,cAAA,SAAA;AAAA,YAAA,GAAA,IAAA;AAAA,UAGT,CAAC,GAAAL,IAAA,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,UAAA,GAAA,EAGAH,MAAAA,IAAAA,MAAMH,QAAQ,MAAdG,gBAAAA,IAAiBS,QAAQ,CAG/B,CAAA,CAAA;AAAA;AAAA,QACDC,UAAUA,MAAAP,IAAAA,YAAAQ,YAAA,gBAAA,MAAA;AAAA,UAAAN,SAAAA,MAAAF,CAAAA,IAAA,YAAAS,4BAAA;AAAA,YAAA,WAEmBC,MAAM;AAAEZ,yBAAWa,QAAQ;AAAA,YAAK;AAAA,UAAC,GAAA;AAAA,YAAAT,SAAAA,MAAAF,CAAAA,IAAA,YAAAK,iBAAA;AAAA,cAAA,aAAA;AAAA,YAAA,GAAA,IAAA,GAAAO,oBAAA,MAAA,CAAA;AAAA,WAAAZ,GAAAA,IAAA,YAAAS,4BAAA;AAAA,YAAA,WAIjCC,MAAMpB,YAAYuB,OAAO;AAAA,UAAC,GAAA;AAAA,YAAAX,SAAAA,MAAAF,CAAAA,IAAA,YAAAK,iBAAA;AAAA,cAAA,aAAA;AAAA,YAAA,GAAA,IAAA,GAAAO,oBAAA,MAAA,CAAA;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,GAAAZ,IAAA,YAAAc,iCAAA;AAAA,QAAA,cAGyBhB,WAAWa;AAAAA,QAAK,uBAAwBI,OAAMjB,WAAWa,QAAQI;AAAAA,MAAC,GAAA,IAAA,CAAA,CAAA;AAAA;EAIxG;AACF,CAAC;;"}
@@ -193,6 +193,7 @@ class DialogerImpl extends dm.SkeletonDialoger {
193
193
  });
194
194
  });
195
195
  }
196
+ //3.x版本暂时不支持
196
197
  async dataFormDialog(dataFormOptions) {
197
198
  return new Promise((resolve) => {
198
199
  const dataForm = vue.reactive(dataFormOptions.dataForm);
@@ -253,6 +254,162 @@ class DialogerImpl extends dm.SkeletonDialoger {
253
254
  resolve(dialogInstance);
254
255
  });
255
256
  }
257
+ async importDataFormDialog(dataFormOptions, template) {
258
+ return new Promise((resolve) => {
259
+ const dataForm = vue.reactive(dataFormOptions.dataForm);
260
+ let title = "";
261
+ dataForm.afterInitdEvent.once(() => {
262
+ dataForm.addColumn(new dm.FormColumn({
263
+ name: "postFiles",
264
+ label: "文件",
265
+ required: true,
266
+ componentInfo: {
267
+ name: "postFiles",
268
+ component: () => {
269
+ const fileSelectHandle = async (file, fileList) => {
270
+ dataForm.data.postFiles = file.raw;
271
+ dm.Messager.success({
272
+ message: "上传成功"
273
+ });
274
+ };
275
+ return vue.createVNode("div", {
276
+ "style": {
277
+ display: "flex"
278
+ }
279
+ }, [vue.createVNode(elementPlus.ElUpload, {
280
+ "accept": ".xls,.xlsx",
281
+ "autoUpload": false,
282
+ "limit": 1,
283
+ "onChange": fileSelectHandle
284
+ }, {
285
+ default: () => [vue.createVNode(elementPlus.ElButton, {
286
+ "type": "primary"
287
+ }, {
288
+ default: () => [vue.createTextVNode("上传文件")]
289
+ })]
290
+ })]);
291
+ }
292
+ }
293
+ }));
294
+ if (template) {
295
+ dataForm.addColumn(new dm.FormColumn({
296
+ name: "template",
297
+ label: "模板下载",
298
+ componentInfo: {
299
+ name: "template",
300
+ component: () => {
301
+ const downloadHandle = () => {
302
+ const a = document.createElement("a");
303
+ a.style.display = "none";
304
+ document.body.appendChild(a);
305
+ a.href = template;
306
+ a.click();
307
+ document.body.removeChild(a);
308
+ };
309
+ return vue.createVNode(elementPlus.ElButton, {
310
+ "onClick": downloadHandle,
311
+ "type": "primary"
312
+ }, {
313
+ default: () => [vue.createTextVNode("点击下载")]
314
+ });
315
+ }
316
+ }
317
+ }));
318
+ }
319
+ });
320
+ if (dataFormOptions.customDataFormStatus !== true) {
321
+ if (dataFormOptions.recId) {
322
+ dataForm.editRecord(dataFormOptions.recId);
323
+ } else {
324
+ dataForm.addRecord();
325
+ }
326
+ title = dataFormOptions.recId ? "编辑" : "新增";
327
+ }
328
+ const dialogInstance = this.customRender({
329
+ title: dataFormOptions.title ?? title,
330
+ onClose: () => {
331
+ dataForm.cancel();
332
+ dialogInstance.destroy();
333
+ },
334
+ body: () => {
335
+ return vue.createVNode(elementPlus.ElScrollbar, {
336
+ "max-height": "550px"
337
+ }, {
338
+ default: () => [vue.createVNode(index$1.MKDataForm, {
339
+ "dataForm": dataForm
340
+ }, {
341
+ default: () => [vue.createVNode(index$2.MKForm, {
342
+ "dataForm": dataForm
343
+ }, null)]
344
+ })]
345
+ });
346
+ },
347
+ footer: () => {
348
+ let _slot3, _slot4;
349
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(elementPlus.ElButton, {
350
+ "type": "primary",
351
+ "disabled": !dataForm.isChanged,
352
+ "loading": !dataForm.allowSubmit,
353
+ "onClick": async () => {
354
+ if (!await dataForm.validate()) {
355
+ return;
356
+ }
357
+ if (await dataForm.simpleSubmit()) {
358
+ dialogInstance.destroy();
359
+ }
360
+ }
361
+ }, _isSlot(_slot3 = locale.I18n.instance.translate("mk.dataForm.saveButton")) ? _slot3 : {
362
+ default: () => [_slot3]
363
+ }), vue.createVNode(elementPlus.ElButton, {
364
+ "onClick": () => {
365
+ dataForm.cancel();
366
+ dialogInstance.destroy();
367
+ }
368
+ }, _isSlot(_slot4 = locale.I18n.instance.translate("mk.dataForm.cancelButton")) ? _slot4 : {
369
+ default: () => [_slot4]
370
+ })]);
371
+ }
372
+ });
373
+ resolve(dialogInstance);
374
+ });
375
+ }
376
+ importResultTableDialog(data, filed) {
377
+ return this.customRender({
378
+ title: "导入结果",
379
+ body: () => {
380
+ const cols = filed.map((item) => {
381
+ return vue.createVNode(elementPlus.ElTableColumn, {
382
+ "prop": item.name,
383
+ "label": item.label
384
+ }, null);
385
+ });
386
+ var successSlot = {
387
+ default: (data2) => {
388
+ return data2.row.isSuccess ? vue.createVNode("span", {
389
+ "style": "color: green"
390
+ }, [vue.createTextVNode("成功")]) : vue.createVNode("span", {
391
+ "style": "color: red"
392
+ }, [vue.createTextVNode("失败")]);
393
+ }
394
+ };
395
+ return vue.createVNode(elementPlus.ElTable, {
396
+ "data": data,
397
+ "style": {
398
+ height: "550px"
399
+ }
400
+ }, {
401
+ default: () => [cols, vue.createVNode(elementPlus.ElTableColumn, {
402
+ "label": "结果",
403
+ "prop": "isSuccess",
404
+ "width": "80px"
405
+ }, successSlot), vue.createVNode(elementPlus.ElTableColumn, {
406
+ "label": "失败原因",
407
+ "prop": "reason"
408
+ }, null)]
409
+ });
410
+ }
411
+ });
412
+ }
256
413
  }
257
414
  exports.DialogerImpl = DialogerImpl;
258
415
  //# sourceMappingURL=DialogerImpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n FormColumn,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar, ElTable, ElTableColumn, ElUpload } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\nimport { ImportResultColField } from \"@maketribe/dm\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n //3.x版本暂时不支持\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n async importDataFormDialog(\r\n dataFormOptions: DataFormDialogOptions, template: string\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n dataForm.afterInitdEvent.once(() => {\r\n dataForm.addColumn(\r\n new FormColumn({\r\n name: \"postFiles\",\r\n label: \"文件\",\r\n required: true,\r\n componentInfo: {\r\n name: \"postFiles\",\r\n component: () => {\r\n const fileSelectHandle = async (file: any, fileList: any) => {\r\n dataForm.data.postFiles = file.raw;\r\n Messager.success({ message: \"上传成功\" })\r\n }\r\n\r\n return (<div style={{ display: \"flex\" }}>\r\n <ElUpload accept=\".xls,.xlsx\" autoUpload={false} limit={1} onChange={fileSelectHandle}>\r\n <ElButton type=\"primary\" >上传文件</ElButton>\r\n </ElUpload>\r\n </div>)\r\n }\r\n }\r\n }),\r\n )\r\n if (template) {\r\n dataForm.addColumn(new FormColumn({\r\n name: \"template\",\r\n label: \"模板下载\",\r\n componentInfo: {\r\n name: \"template\",\r\n component: () => {\r\n const downloadHandle = () => {\r\n const a = document.createElement(\"a\");\r\n a.style.display = \"none\";\r\n document.body.appendChild(a);\r\n a.href = template;\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n return <ElButton onClick={downloadHandle} type=\"primary\">点击下载</ElButton>\r\n }\r\n }\r\n }))\r\n }\r\n })\r\n\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"550px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n\r\n importResultTableDialog(data: any, filed: ImportResultColField[]) {\r\n return this.customRender({\r\n title: \"导入结果\",\r\n body: () => {\r\n const cols = filed.map((item) => {\r\n return (<ElTableColumn prop={item.name} label={item.label}></ElTableColumn>)\r\n })\r\n\r\n var successSlot = {\r\n default: (data: any) => {\r\n return data.row.isSuccess ? <span style=\"color: green\">成功</span> : <span style=\"color: red\">失败</span>\r\n }\r\n }\r\n\r\n return (\r\n <ElTable data={data} style={{ height: \"550px\" }}>\r\n {cols}\r\n <ElTableColumn label=\"结果\" prop=\"isSuccess\" width=\"80px\" v-slots={successSlot}>\r\n </ElTableColumn>\r\n <ElTableColumn label=\"失败原因\" prop=\"reason\" ></ElTableColumn>\r\n </ElTable>\r\n )\r\n }\r\n })\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick","importDataFormDialog","template","addColumn","FormColumn","label","required","componentInfo","component","fileSelectHandle","file","fileList","data","postFiles","raw","Messager","success","display","ElUpload","downloadHandle","a","document","createElement","style","appendChild","href","click","removeChild","_slot3","_slot4","importResultTableDialog","filed","cols","map","item","ElTableColumn","successSlot","row","isSuccess","ElTable","height"],"mappings":"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"}
@@ -71,6 +71,7 @@ const index = require("../../components/business/verify-dialog/index.js");
71
71
  require("../../components/business/resource-list/index.js");
72
72
  require("../../components/business/resource-manager/index.js");
73
73
  const index_vue_vue_type_script_setup_true_lang = require("../../layouts/components/simple-page-layout/index.vue.js");
74
+ const passwordDialog = require("../../layouts/components/header/passwordDialog.js");
74
75
  const _hoisted_1 = { class: "login-form-wrap" };
75
76
  const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("div", { class: "login-form-title" }, " 账号登录 ", -1);
76
77
  const _hoisted_3 = { class: "login-form-item" };
@@ -92,6 +93,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
92
93
  },
93
94
  __name: "index",
94
95
  setup(__props) {
96
+ const showDialog = vue.ref(false);
95
97
  vue.ref(null);
96
98
  vue.ref(false);
97
99
  const formEl = vue.ref(null);
@@ -122,6 +124,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
122
124
  }
123
125
  var vResult = await index.MKOpenVerifyCode({ sence: scene.value });
124
126
  loginFormData.vCode = vResult + "";
127
+ console.log(vResult);
125
128
  try {
126
129
  loading.value = true;
127
130
  if (forgotPassword.value) {
@@ -143,6 +146,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
143
146
  );
144
147
  if (data.code !== 200) {
145
148
  elementPlus.ElMessage.error(data.msg || "登录失败!");
149
+ if (data.data.isMidifyPassword) {
150
+ showDialog.value = true;
151
+ }
146
152
  return;
147
153
  }
148
154
  router.push({ path: "/" });
@@ -272,7 +278,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
272
278
  ]),
273
279
  _: 1
274
280
  }, 8, ["model"])
275
- ])
281
+ ]),
282
+ vue.createVNode(vue.unref(passwordDialog.MKPasswordDialog), {
283
+ showDialog: showDialog.value,
284
+ "onUpdate:showDialog": _cache[5] || (_cache[5] = ($event) => showDialog.value = $event)
285
+ }, null, 8, ["showDialog"])
276
286
  ]),
277
287
  _: 1
278
288
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{loginFormData.account}} 绑定的邮箱!请查收!\r\n </div>\r\n </template> \r\n \r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput\r\n v-model=\"loginFormData.account\"\r\n placeholder=\"帐号\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput\r\n v-model=\"loginFormData.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\"\r\n />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n\r\n // 验证不通过\r\n if(!await formEl.value?.validate()){\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence:scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult+\"\";\r\n\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EuDA,QAAAA,IAAI,IAAI;AAGpCA,QAAAA,IAAI,KAAK;AAE9B,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,eAAAA;AAEf,UAAM,SAASC,UAAAA;AAET,UAAA,UAAUF,QAAI,KAAK;AAEHG,QAAA;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsBA,iBAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiBH,QAAI,KAAK;AAChC,UAAM,QAAQG,IAAA;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgBC,IAAAA,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAGtC,UAAG,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAW;AACjC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAM,MAAM,OAAc;AAGjE,oBAAc,QAAQ,UAAQ;AAE1B,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXC,wBAAAA,UAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEAA,gCAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXA,wBAAAA,UAAA,MAAM,KAAK,OAAO,OAAO;AACnC;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACVA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\r\n <SimplePageLayout class=\"login-wrap\">\r\n <div class=\"login-form-wrap\">\r\n\r\n <template v-if=\"!forgotPassword\">\r\n <div class=\"login-form-title\"> 账号登录 </div>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <span class=\"notify\">\r\n 没有账号?\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"router.push('/signup')\">\r\n 申请账号\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 5px;\" />\r\n </el-link>\r\n </span>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"login-form-title\">账号重置</div>\r\n <div class=\"login-form-item\">\r\n 新密码将会在重置后送至 {{ loginFormData.account }} 绑定的邮箱!请查收!\r\n </div>\r\n </template>\r\n\r\n <ElForm :model=\"loginFormData\" :rules=\"rules\" size=\"large\" ref=\"formEl\" @submit.native.prevent>\r\n <ElFormItem prop=\"account\">\r\n <ElInput v-model=\"loginFormData.account\" placeholder=\"帐号\" @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <ElFormItem prop=\"password\" style=\"margin-top: 30px;\" v-if=\"!forgotPassword\">\r\n <ElInput v-model=\"loginFormData.password\" type=\"password\" placeholder=\"密码\"\r\n @keyup.enter.native.prevent=\"sendAction\" />\r\n </ElFormItem>\r\n <div class=\"login-form-item\">\r\n <div></div>\r\n <el-link :underline=\"false\" type=\"primary\" @click=\"forgotPassword = !forgotPassword\">\r\n {{ forgotPassword ? \"返回登陆\" : \"忘记密码\" }}\r\n <MKSvgIcon iconClass=\"ArrowRightBold\" style=\"margin-left: 2px;\" />\r\n </el-link>\r\n </div>\r\n <ElFormItem>\r\n <ElButton type=\"primary\" style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\" v-if=\"!forgotPassword\">\r\n 登陆\r\n </ElButton>\r\n <ElButton type=\"primary\" v-else style=\"width: 100%\" :loading=\"loading\" @click=\"sendAction\">\r\n 重置\r\n </ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n <!-- <ElDivider></ElDivider> -->\r\n </div>\r\n <MKPasswordDialog v-model:showDialog=\"showDialog\"></MKPasswordDialog>\r\n </SimplePageLayout>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\r\nimport { useMSAppClient } from \"../../composables\";\r\nimport { MKOpenVerifyCode } from \"../../components\";\r\nimport { Ref, computed, reactive, ref } from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport SimplePageLayout from \"../../layouts/components/simple-page-layout/index.vue\"\r\nimport { MKPasswordDialog } from \"../../layouts/components/header/passwordDialog\"\r\n\r\ndefineOptions({\r\n mkRoute: {\r\n name: \"login\",\r\n path: \"/login\",\r\n meta: {\r\n isAuthorization: false,\r\n },\r\n },\r\n});\r\n\r\nconst showDialog = ref(false)\r\n\r\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\r\n\r\n// 记住登陆状态\r\nconst rememberLoginState = ref(false);\r\n\r\nconst formEl: Ref<any> = ref(null);\r\n\r\nconst system = useMSAppClient()!;\r\n\r\nconst router = useRouter();\r\n\r\nconst loading = ref(false);\r\n\r\nconst loginDisabled = computed(\r\n () => !loginFormData.account || !loginFormData.password\r\n);\r\nconst resetDisabled = computed(() => !loginFormData.account);\r\n\r\nconst forgotPassword = ref(false);\r\nconst scene = computed(() =>\r\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\r\n);\r\n\r\nconst rules = {\r\n account: [{ required: true, message: \"账号必填\" }],\r\n password: [{ required: true, message: \"密码必填\" }],\r\n};\r\n\r\nconst loginFormData = reactive({\r\n account: \"\",\r\n password: \"\",\r\n vCode: \"\",\r\n});\r\n\r\n// 发起动作 可能是登录 也可能是修改密码\r\nconst sendAction = async (v: number) => {\r\n // 验证不通过\r\n if (!await formEl.value?.validate()) {\r\n return;\r\n }\r\n // 验证码\r\n var vResult = await MKOpenVerifyCode({ sence: scene.value } as any);\r\n\r\n // 转成字符串格式\r\n loginFormData.vCode = vResult + \"\";\r\n console.log(vResult);\r\n try {\r\n\r\n loading.value = true;\r\n\r\n if (forgotPassword.value) {\r\n\r\n const { data } = await system.resetPassword(\r\n loginFormData.account,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"重置邮箱失败!\");\r\n return;\r\n }\r\n\r\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\r\n forgotPassword.value = false;\r\n\r\n } else {\r\n\r\n const { data } = await system.login(\r\n loginFormData.account,\r\n loginFormData.password,\r\n loginFormData.vCode\r\n );\r\n\r\n if (data.code !== 200) {\r\n ElMessage.error(data.msg || \"登录失败!\");\r\n if (data.data.isMidifyPassword) {\r\n showDialog.value = true;\r\n }\r\n return;\r\n }\r\n\r\n router.push({ path: \"/\" });\r\n }\r\n } catch (e) {\r\n ElMessage.error(\"登录失败\");\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n</script>\r\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","MKOpenVerifyCode","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEM,UAAA,aAAaA,QAAI,KAAK;AAE2BA,QAAAA,IAAI,IAAI;AAGpCA,QAAAA,IAAI,KAAK;AAE9B,UAAA,SAAmBA,QAAI,IAAI;AAEjC,UAAM,SAASC,eAAAA;AAEf,UAAM,SAASC,UAAAA;AAET,UAAA,UAAUF,QAAI,KAAK;AAEHG,QAAA;AAAA,MACpB,MAAM,CAAC,cAAc,WAAW,CAAC,cAAc;AAAA,IACjD;AACsBA,iBAAS,MAAM,CAAC,cAAc,OAAO;AAErD,UAAA,iBAAiBH,QAAI,KAAK;AAChC,UAAM,QAAQG,IAAA;AAAA,MAAS,MACrB,eAAe,QAAQ,mBAAmB;AAAA,IAAA;AAG5C,UAAM,QAAQ;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,MAAM,SAAS,QAAQ;AAAA,IAAA;AAGhD,UAAM,gBAAgBC,IAAAA,SAAS;AAAA,MAC7B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA,CACR;AAGK,UAAA,aAAa,OAAO,MAAc;;AAEtC,UAAI,CAAC,QAAM,YAAO,UAAP,mBAAc,aAAY;AACnC;AAAA,MACF;AAEA,UAAI,UAAU,MAAMC,uBAAiB,EAAE,OAAO,MAAM,OAAc;AAGlE,oBAAc,QAAQ,UAAU;AAChC,cAAQ,IAAI,OAAO;AACf,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,YAAI,eAAe,OAAO;AAExB,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXC,wBAAAA,UAAA,MAAM,KAAK,OAAO,SAAS;AACrC;AAAA,UACF;AAEAA,gCAAU,QAAQ,cAAc;AAChC,yBAAe,QAAQ;AAAA,QAAA,OAElB;AAEL,gBAAM,EAAE,KAAA,IAAS,MAAM,OAAO;AAAA,YAC5B,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAAA;AAGZ,cAAA,KAAK,SAAS,KAAK;AACXA,wBAAAA,UAAA,MAAM,KAAK,OAAO,OAAO;AAC/B,gBAAA,KAAK,KAAK,kBAAkB;AAC9B,yBAAW,QAAQ;AAAA,YACrB;AACA;AAAA,UACF;AAEA,iBAAO,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,QAC3B;AAAA,eACO,GAAG;AACVA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -17,8 +17,8 @@ const VerifyPanel = /* @__PURE__ */ defineComponent({
17
17
  const wrapperEl = ref(null);
18
18
  const buttonEl = ref(null);
19
19
  const grandEl = ref(null);
20
- const httpRequest = MSAppClient.instance.httpRequest;
21
- new WebHttpRequest();
20
+ MSAppClient.instance.httpRequest;
21
+ const webHttpRequest = new WebHttpRequest();
22
22
  let slideWidth = 48;
23
23
  const isError = ref(false);
24
24
  const deg = ref(0);
@@ -31,22 +31,17 @@ const VerifyPanel = /* @__PURE__ */ defineComponent({
31
31
  };
32
32
  });
33
33
  const loadImage = async () => {
34
- loading.value = true;
35
- try {
36
- const response = await httpRequest.get("/ms/app/captcha/rotation/image", {
37
- params: {
38
- scene: props.scene,
39
- t: Math.random()
40
- },
41
- responseType: "blob"
42
- });
43
- if (!(response.data instanceof Blob)) {
44
- return;
45
- }
46
- imageUrl.value = URL.createObjectURL(response.data);
47
- } finally {
48
- loading.value = false;
49
- }
34
+ const clientId = await webHttpRequest.getClientID();
35
+ webHttpRequest.getInterceptors;
36
+ return await new Promise((reslove) => {
37
+ const img = new Image();
38
+ img.onload = () => {
39
+ imageUrl.value = img.src;
40
+ reslove(void 0);
41
+ loading.value = false;
42
+ };
43
+ img.src = `/api/ms/app/captcha/rotation/image?scene=${props.scene}&t=${Math.random()}&rcid=${clientId}`;
44
+ });
50
45
  };
51
46
  const handleSwitchConfirm = () => {
52
47
  emit("confirm", unref(deg));