jmash-core 0.1.16 → 0.1.18

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 (35) hide show
  1. package/dist/{401-KAeiuNjv.mjs → 401-D6Q94FzV.mjs} +1 -1
  2. package/dist/{404-acqFGqEv.mjs → 404-DhAbpKMM.mjs} +1 -1
  3. package/dist/{BarChart-wJtn8Ow_.mjs → BarChart-CRekzHxP.mjs} +1 -1
  4. package/dist/{index-BhlOqpSI.mjs → index-1lsWqWL5.mjs} +3 -3
  5. package/dist/{index-Crx8EUrV.mjs → index-BrR5K1DU.mjs} +2459 -2413
  6. package/dist/{index-CMJKWgJS.mjs → index-CnulSJWc.mjs} +12 -12
  7. package/dist/{index-D1KMMIxN.mjs → index-DP79aUrH.mjs} +15 -15
  8. package/dist/index-DgZeveji.mjs +2164 -0
  9. package/dist/index-xCPCjZu8.mjs +463 -0
  10. package/dist/index.mjs +54 -52
  11. package/dist/index.vue_vue_type_script_setup_true_lang-Dj7pKP1u.mjs +130 -0
  12. package/dist/{profile-DrNc9zRG.mjs → profile-rd1rLI2V.mjs} +17 -17
  13. package/dist/{runAs-Bnicmqn-.mjs → runAs-DaaarFVR.mjs} +1 -1
  14. package/dist/{runAs.vue_vue_type_script_setup_true_lang-DCtZwltr.mjs → runAs.vue_vue_type_script_setup_true_lang-C-1uRJoS.mjs} +138 -138
  15. package/dist/style.css +1 -1
  16. package/dist/{types-LJiNV7Za.mjs → types-hlyKOzFS.mjs} +10 -10
  17. package/dist/{updatePwd-C5bezsVR.mjs → updatePwd-CYG_P7Xc.mjs} +1 -1
  18. package/dist/{updatePwd.vue_vue_type_script_setup_true_lang-B7WfsD0M.mjs → updatePwd.vue_vue_type_script_setup_true_lang-B1eIL13s.mjs} +12 -12
  19. package/dts/src/api/auth/index.d.ts +2 -1
  20. package/dts/src/api/auth/types.d.ts +12 -0
  21. package/dts/src/api/change/index.d.ts +13 -0
  22. package/dts/src/api/change/types.d.ts +26 -0
  23. package/dts/src/components/ForgetPwd/index.vue.d.ts +6 -0
  24. package/dts/src/components/GraphicValidate/index.vue.d.ts +8 -0
  25. package/dts/src/components/GraphicVerification/index.vue.d.ts +8 -0
  26. package/dts/src/components/JmashMultiImageUpload/index.vue.d.ts +1 -1
  27. package/dts/src/components/NameValidate/index.vue.d.ts +63 -0
  28. package/dts/src/index.d.ts +2 -2
  29. package/dts/src/lang/package/zh-cn.d.ts +38 -1
  30. package/dts/src/layout/components/NavBar/components/ChangePhoneEmail.vue.d.ts +6 -0
  31. package/dts/src/layout/components/NavBar/components/ChangeWechatBind.vue.d.ts +10 -0
  32. package/dts/src/layout/components/NavBar/components/QrCode.vue.d.ts +18 -0
  33. package/package.json +1 -1
  34. package/dist/index-Cag9NoGd.mjs +0 -1633
  35. package/dist/index-hX78lDCk.mjs +0 -244
@@ -0,0 +1,463 @@
1
+ import { b as oe, c as le, C as te, v as z, u as R, a as ae, t as re, j as ne, k as se, F as de, z as ue, d as ie, e as pe } from "./index-BrR5K1DU.mjs";
2
+ import { defineComponent as L, useModel as ce, ref as f, reactive as me, resolveComponent as c, createBlock as F, openBlock as j, withCtx as r, createVNode as o, unref as k, withModifiers as Z, createTextVNode as H, toDisplayString as B, computed as fe, watchEffect as ve, createElementBlock as ge, createElementVNode as d, withDirectives as K, createCommentVNode as _e, normalizeStyle as we, vShow as O, withKeys as W, normalizeClass as he } from "vue";
3
+ import Ce from "./assets/0cda52992278af9e.png";
4
+ import { useI18n as G } from "vue-i18n";
5
+ import { ElMessage as Ve } from "element-plus";
6
+ import { useRoute as ye, useRouter as be } from "vue-router";
7
+ import { _ as qe, a as Pe } from "./index.vue_vue_type_script_setup_true_lang-Dj7pKP1u.mjs";
8
+ import Ee from "./assets/09fcc36c527efda6.jpg";
9
+ const $e = /* @__PURE__ */ L({
10
+ __name: "index",
11
+ props: {
12
+ modelValue: { type: Boolean },
13
+ modelModifiers: {}
14
+ },
15
+ emits: ["update:modelValue"],
16
+ setup(Q) {
17
+ const { t: m } = G(), _ = ce(Q, "modelValue");
18
+ function U() {
19
+ _.value && (_.value = !1);
20
+ }
21
+ const i = f(), l = f({
22
+ // 用于检测重复请求的唯一字符串ID
23
+ requestId: Math.random() * 10 + "",
24
+ // 手机号/邮箱
25
+ name: "",
26
+ // 手机号/邮箱的验证码
27
+ validCode: "",
28
+ // 密码
29
+ pwd: "",
30
+ // 确认密码
31
+ repeatPwd: "",
32
+ directoryId: "",
33
+ clientId: ""
34
+ }), P = (u, e, n) => {
35
+ e ? !oe(e) && !le(e) ? n(new Error(m("forgot.phoneOrEmailError"))) : n() : n(new Error(m("forgot.nameRequired")));
36
+ }, T = (u, e, n) => {
37
+ e === "" ? n(new Error(m("forgot.pwdRequired"))) : /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%?^&*,\._\+(){}])[0-9a-zA-Z!@#$%?^&*,\\._\+(){}]{8,20}$/.test(e) ? n() : n(new Error(m("forgot.pwdRules")));
38
+ }, S = (u, e, n) => {
39
+ e === "" ? n(new Error(m("forgot.repeatPwdRequired"))) : e !== l.value.pwd ? n(new Error(m("forgot.comparePwd"))) : n();
40
+ }, E = me({
41
+ name: [
42
+ {
43
+ required: !0,
44
+ validator: P,
45
+ trigger: "blur"
46
+ }
47
+ ],
48
+ captchaCode: [
49
+ {
50
+ required: !0,
51
+ message: m("forgot.captchaCodeRequired"),
52
+ trigger: "blur"
53
+ }
54
+ ],
55
+ validCode: [
56
+ {
57
+ required: !0,
58
+ message: m("forgot.validCodeRequired"),
59
+ trigger: "blur"
60
+ }
61
+ ],
62
+ pwd: [{ required: !0, validator: T, trigger: "blur" }],
63
+ repeatPwd: [
64
+ { required: !0, validator: S, trigger: "blur" }
65
+ ]
66
+ }), D = f(!1);
67
+ function $() {
68
+ var u;
69
+ (u = i.value) == null || u.validate((e) => {
70
+ if (!e) return;
71
+ const n = {
72
+ name: l.value.name,
73
+ validCode: l.value.validCode,
74
+ pwd: l.value.pwd,
75
+ repeatPwd: l.value.repeatPwd,
76
+ requestId: l.value.requestId
77
+ };
78
+ te(n).then((p) => {
79
+ p.status === 200 && (U(), Ve.success(m("forgot.forgotSuccess")));
80
+ });
81
+ });
82
+ }
83
+ return (u, e) => {
84
+ const n = c("el-input"), p = c("el-form-item"), w = c("el-col"), A = qe, y = Pe, V = c("el-button"), b = c("el-row"), x = c("el-form"), M = c("el-dialog");
85
+ return j(), F(M, {
86
+ modelValue: _.value,
87
+ "onUpdate:modelValue": e[6] || (e[6] = (s) => _.value = s),
88
+ onClose: U
89
+ }, {
90
+ default: r(() => [
91
+ o(x, {
92
+ ref_key: "formRef",
93
+ ref: i,
94
+ model: l.value,
95
+ rules: k(E)
96
+ }, {
97
+ default: r(() => [
98
+ o(b, null, {
99
+ default: r(() => [
100
+ o(w, { span: 24 }, {
101
+ default: r(() => [
102
+ o(p, { prop: "name" }, {
103
+ default: r(() => [
104
+ o(n, {
105
+ modelValue: l.value.name,
106
+ "onUpdate:modelValue": e[0] || (e[0] = (s) => l.value.name = s),
107
+ placeholder: u.$t("forgot.name"),
108
+ "show-word-limit": "",
109
+ clearable: ""
110
+ }, null, 8, ["modelValue", "placeholder"])
111
+ ]),
112
+ _: 1
113
+ })
114
+ ]),
115
+ _: 1
116
+ }),
117
+ o(w, { span: 24 }, {
118
+ default: r(() => [
119
+ o(p, { prop: "captchaCode" }, {
120
+ default: r(() => [
121
+ o(A, {
122
+ "captcha-id": l.value.captchaId,
123
+ "onUpdate:captchaId": e[1] || (e[1] = (s) => l.value.captchaId = s),
124
+ "captcha-code": l.value.captchaCode,
125
+ "onUpdate:captchaCode": e[2] || (e[2] = (s) => l.value.captchaCode = s),
126
+ placeholder: u.$t("forgot.captchaCodeRequired")
127
+ }, null, 8, ["captcha-id", "captcha-code", "placeholder"])
128
+ ]),
129
+ _: 1
130
+ })
131
+ ]),
132
+ _: 1
133
+ }),
134
+ o(w, { span: 24 }, {
135
+ default: r(() => [
136
+ o(p, { prop: "validCode" }, {
137
+ default: r(() => [
138
+ o(y, {
139
+ name: l.value.name,
140
+ "validate-field": ["name", "captchaCode"],
141
+ "captcha-id": l.value.captchaId,
142
+ "captcha-code": l.value.captchaCode,
143
+ "form-ref": i.value,
144
+ placeholder: u.$t("forgot.validCode"),
145
+ modelValue: l.value.validCode,
146
+ "onUpdate:modelValue": e[3] || (e[3] = (s) => l.value.validCode = s)
147
+ }, null, 8, ["name", "captcha-id", "captcha-code", "form-ref", "placeholder", "modelValue"])
148
+ ]),
149
+ _: 1
150
+ })
151
+ ]),
152
+ _: 1
153
+ }),
154
+ o(w, { span: 24 }, {
155
+ default: r(() => [
156
+ o(p, { prop: "pwd" }, {
157
+ default: r(() => [
158
+ o(n, {
159
+ modelValue: l.value.pwd,
160
+ "onUpdate:modelValue": e[4] || (e[4] = (s) => l.value.pwd = s),
161
+ placeholder: u.$t("forgot.pwd"),
162
+ type: "password",
163
+ "show-password": "",
164
+ "show-word-limit": "",
165
+ clearable: ""
166
+ }, null, 8, ["modelValue", "placeholder"])
167
+ ]),
168
+ _: 1
169
+ })
170
+ ]),
171
+ _: 1
172
+ }),
173
+ o(w, { span: 24 }, {
174
+ default: r(() => [
175
+ o(p, { prop: "repeatPwd" }, {
176
+ default: r(() => [
177
+ o(n, {
178
+ modelValue: l.value.repeatPwd,
179
+ "onUpdate:modelValue": e[5] || (e[5] = (s) => l.value.repeatPwd = s),
180
+ placeholder: u.$t("forgot.repeatPwd"),
181
+ type: "password",
182
+ "show-password": "",
183
+ "show-word-limit": "",
184
+ clearable: ""
185
+ }, null, 8, ["modelValue", "placeholder"])
186
+ ]),
187
+ _: 1
188
+ })
189
+ ]),
190
+ _: 1
191
+ }),
192
+ o(V, {
193
+ loading: D.value,
194
+ type: "primary",
195
+ class: "w-full",
196
+ onClick: Z($, ["prevent"])
197
+ }, {
198
+ default: r(() => [
199
+ H(B(u.$t("forgot.forgot")), 1)
200
+ ]),
201
+ _: 1
202
+ }, 8, ["loading"])
203
+ ]),
204
+ _: 1
205
+ })
206
+ ]),
207
+ _: 1
208
+ }, 8, ["model", "rules"])
209
+ ]),
210
+ _: 1
211
+ }, 8, ["modelValue"]);
212
+ };
213
+ }
214
+ }), Ie = { class: "login-container" }, Re = { class: "absolute top-0 flex items-center justify-end px-5 h-20 w-full" }, ke = { class: "qrcode-container" }, Ue = ["src"], Te = { class: "flex justify-between items-center w-full" }, Se = ["src"], De = { class: "flex justify-between items-center w-full" }, Ae = { class: "bg-small" }, ze = 992, xe = /* @__PURE__ */ L({
215
+ __name: "index",
216
+ setup(Q) {
217
+ const { t: m } = G(), _ = f(z.APP_ACTIVE), U = (t) => {
218
+ t.props.name === "user" ? (b(), e()) : w(), _.value = t.props.name;
219
+ }, i = f({
220
+ scope: "",
221
+ username: "",
222
+ password: ""
223
+ }), l = fe(() => {
224
+ const t = R().language === "en" ? "Please enter " : "请输入";
225
+ return {
226
+ username: [
227
+ {
228
+ required: !0,
229
+ trigger: "blur",
230
+ message: `${t}${m("login.username")}`
231
+ }
232
+ ],
233
+ password: [
234
+ {
235
+ required: !0,
236
+ trigger: "blur",
237
+ validator: (a, h, v) => {
238
+ h.length < 5 ? v(new Error("The password can not be less than 5 digits")) : v();
239
+ },
240
+ message: `${t}${m("login.password")}`
241
+ }
242
+ ],
243
+ captchaCode: [
244
+ {
245
+ required: !0,
246
+ trigger: "blur",
247
+ message: `${t}${m("login.captchaCode")}`
248
+ }
249
+ ]
250
+ };
251
+ }), P = f(!1), T = f(), S = ye(), E = be(), D = ae(), $ = () => {
252
+ var t;
253
+ (t = T.value) == null || t.validate((a) => {
254
+ a && (P.value = !0, D.login({ ...i.value, password: de(i.value.password) }).then(() => {
255
+ const h = S.query, v = h.redirect ?? z.APP_REDIRECT, C = Object.keys(h).reduce(
256
+ (q, I) => (I !== "redirect" && (q[I] = h[I]), q),
257
+ {}
258
+ );
259
+ E.push({ path: v, query: C }), e();
260
+ }).catch(() => {
261
+ e();
262
+ }).finally(() => {
263
+ P.value = !1;
264
+ }));
265
+ });
266
+ }, u = f(""), e = () => {
267
+ ue().then(({ data: t }) => {
268
+ i.value.captchaKey = t.captchaId, u.value = t.base64Image;
269
+ });
270
+ };
271
+ e();
272
+ let n = setInterval(A, 3e3);
273
+ const p = f({});
274
+ function w() {
275
+ ie().then(({ data: t }) => {
276
+ p.value = t, V.value = !1, x(), n = setInterval(A, 3e3);
277
+ });
278
+ }
279
+ _.value === "qrCode" && w();
280
+ function A() {
281
+ p.value.ticket && D.loginByQrcode({ ticket: p.value.ticket }).then(() => {
282
+ b(), V.value = !1, p.value.qrcodeUrl = Ee;
283
+ const t = S.query, a = t.redirect ?? z.APP_REDIRECT, h = Object.keys(t).reduce(
284
+ (v, C) => (C !== "redirect" && (v[C] = t[C]), v),
285
+ {}
286
+ );
287
+ E.push({ path: a, query: h });
288
+ });
289
+ }
290
+ let y = null;
291
+ const V = f(!1);
292
+ function b() {
293
+ n && (clearInterval(n), n = null), y && (clearTimeout(y), y = null);
294
+ }
295
+ function x() {
296
+ b(), y = setTimeout(() => {
297
+ b(), V.value = !0;
298
+ }, z.APP_TIMEOUT);
299
+ }
300
+ function M() {
301
+ E.push({ path: "/register" });
302
+ }
303
+ const s = f(!1), N = R(), { width: J } = re();
304
+ return ve(() => {
305
+ J.value < ze ? N.toggleDevice("mobile") : N.toggleDevice("desktop");
306
+ }), (t, a) => {
307
+ const h = ne, v = c("el-tab-pane"), C = c("el-input"), q = c("el-form-item"), I = c("el-button"), X = c("el-form"), Y = c("el-tabs"), ee = c("el-card");
308
+ return j(), ge("div", Ie, [
309
+ d("div", Re, [
310
+ o(h, {
311
+ class: "ml-2 cursor-pointer",
312
+ style: { "font-size": "18px" }
313
+ })
314
+ ]),
315
+ o(ee, {
316
+ device: k(R)().device,
317
+ class: "z-1 !border-none w-100 !bg-transparent !rounded-4% <sm:w-83"
318
+ }, {
319
+ default: r(() => [
320
+ o(Y, {
321
+ modelValue: _.value,
322
+ "onUpdate:modelValue": a[3] || (a[3] = (g) => _.value = g),
323
+ class: "demo-tabs",
324
+ onTabClick: U
325
+ }, {
326
+ default: r(() => [
327
+ o(v, {
328
+ label: "扫码登录",
329
+ name: "qrCode"
330
+ }, {
331
+ default: r(() => [
332
+ d("div", ke, [
333
+ d("img", {
334
+ src: p.value.qrcodeUrl,
335
+ style: we({ opacity: V.value ? 0.02 : 1 }),
336
+ alt: "二维码"
337
+ }, null, 12, Ue),
338
+ K(d("div", null, [
339
+ a[6] || (a[6] = d("div", null, "二维码已过期", -1)),
340
+ d("div", { onClick: w }, "点击刷新")
341
+ ], 512), [
342
+ [O, V.value]
343
+ ])
344
+ ]),
345
+ a[7] || (a[7] = d("div", null, "微信扫一扫登录", -1))
346
+ ]),
347
+ _: 1,
348
+ __: [7]
349
+ }),
350
+ o(v, {
351
+ label: "账号登录",
352
+ name: "user"
353
+ }, {
354
+ default: r(() => [
355
+ o(X, {
356
+ ref_key: "formRef",
357
+ ref: T,
358
+ model: i.value,
359
+ rules: l.value
360
+ }, {
361
+ default: r(() => [
362
+ o(q, { prop: "username" }, {
363
+ default: r(() => [
364
+ o(C, {
365
+ modelValue: i.value.username,
366
+ "onUpdate:modelValue": a[0] || (a[0] = (g) => i.value.username = g),
367
+ placeholder: t.$t("login.username")
368
+ }, null, 8, ["modelValue", "placeholder"])
369
+ ]),
370
+ _: 1
371
+ }),
372
+ o(q, { prop: "password" }, {
373
+ default: r(() => [
374
+ o(C, {
375
+ modelValue: i.value.password,
376
+ "onUpdate:modelValue": a[1] || (a[1] = (g) => i.value.password = g),
377
+ placeholder: t.$t("login.password"),
378
+ type: "password",
379
+ "show-password": "",
380
+ onKeyup: W($, ["enter"])
381
+ }, null, 8, ["modelValue", "placeholder"])
382
+ ]),
383
+ _: 1
384
+ }),
385
+ o(q, { prop: "captchaCode" }, {
386
+ default: r(() => [
387
+ d("div", Te, [
388
+ o(C, {
389
+ style: { width: "65%" },
390
+ modelValue: i.value.captchaCode,
391
+ "onUpdate:modelValue": a[2] || (a[2] = (g) => i.value.captchaCode = g),
392
+ placeholder: t.$t("login.captchaCode"),
393
+ onKeyup: W($, ["enter"])
394
+ }, null, 8, ["modelValue", "placeholder"]),
395
+ d("img", {
396
+ class: "flex-1 h-[40px] cursor-pointer ml-2",
397
+ src: u.value,
398
+ onClick: e,
399
+ alt: "验证码"
400
+ }, null, 8, Se)
401
+ ])
402
+ ]),
403
+ _: 1
404
+ }),
405
+ o(I, {
406
+ loading: P.value,
407
+ type: "primary",
408
+ class: "w-full",
409
+ onClick: Z($, ["prevent"])
410
+ }, {
411
+ default: r(() => [
412
+ H(B(t.$t("login.login")), 1)
413
+ ]),
414
+ _: 1
415
+ }, 8, ["loading"])
416
+ ]),
417
+ _: 1
418
+ }, 8, ["model", "rules"])
419
+ ]),
420
+ _: 1
421
+ })
422
+ ]),
423
+ _: 1
424
+ }, 8, ["modelValue"]),
425
+ d("div", De, [
426
+ d("div", {
427
+ class: "cursor-pointer register-btn",
428
+ onClick: a[4] || (a[4] = (g) => s.value = !0)
429
+ }, " 忘记密码 "),
430
+ d("div", {
431
+ class: "cursor-pointer register-btn",
432
+ onClick: M
433
+ }, " 没有密码,前往注册 ")
434
+ ])
435
+ ]),
436
+ _: 1
437
+ }, 8, ["device"]),
438
+ K(d("div", Ae, [
439
+ d("div", null, B(k(se).title), 1),
440
+ a[8] || (a[8] = d("img", {
441
+ src: Ce,
442
+ alt: "login-bg-small"
443
+ }, null, -1))
444
+ ], 512), [
445
+ [O, k(R)().device === "desktop"]
446
+ ]),
447
+ d("div", {
448
+ class: he(k(R)().device)
449
+ }, " Copyright © 2018-2025 Apache 2.0 开源协议. ", 2),
450
+ s.value ? (j(), F($e, {
451
+ key: 0,
452
+ width: "400",
453
+ modelValue: s.value,
454
+ "onUpdate:modelValue": a[5] || (a[5] = (g) => s.value = g),
455
+ title: t.$t("forgot.forgot")
456
+ }, null, 8, ["modelValue", "title"])) : _e("", !0)
457
+ ]);
458
+ };
459
+ }
460
+ }), Le = /* @__PURE__ */ pe(xe, [["__scopeId", "data-v-ef7b6bff"]]);
461
+ export {
462
+ Le as default
463
+ };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { b1 as t, b2 as r, br as i, b3 as o, bp as b, b5 as n, A as u, bn as g, bo as d, bj as p, bk as l, bl as c, bm as m, bq as P, aE as S, bs as v, S as E, bb as y, aQ as M, aL as R, aM as f, aG as k, aU as A, z as C, aS as D, aV as L, aI as h, g as H, aH as U, b4 as z, f as V, aW as B, t as I, aT as O, aX as T, i as F, aK as Q, b7 as W, aJ as j, o as q, y as w, b8 as x, aF as K, bh as N, r as G, b9 as J, aC as X, b6 as Y, bc as Z, aN as _, bi as $, aR as aa, aO as ea, aP as sa, u as ta, bd as ra, bg as ia, j as oa, be as ba, c as na, ba as ua, a as ga, b as da, bf as pa, a_ as la, b0 as ca, a$ as ma, aY as Pa, aZ as Sa, v as va } from "./index-Crx8EUrV.mjs";
1
+ import { b2 as t, b3 as r, bt as i, b4 as o, br as b, b6 as n, G as u, bp as g, bq as d, bl as l, bm as p, bn as m, bo as c, bs as P, aI as S, bu as v, S as E, bd as f, aT as k, aO as M, aP as R, aJ as h, aX as y, d as A, aV as C, aY as D, aL as L, k as H, aK as U, b5 as z, i as V, C as B, aZ as I, z as O, aW as T, a_ as w, l as F, aN as Q, ba as W, b8 as q, aM as x, w as G, F as K, b9 as N, s as j, bj as J, r as X, bb as Y, aG as Z, b7 as _, be as $, aQ as aa, bk as ea, aU as sa, aR as ta, aS as ra, u as ia, bf as oa, bi as ba, m as na, bg as ua, g as ga, bc as da, f as la, a as pa, bh as ma, b0 as ca, c as Pa, b1 as Sa, b as va, a$ as Ea, v as fa } from "./index-BrR5K1DU.mjs";
2
2
  import "element-plus";
3
3
  export {
4
4
  t as BizDict,
@@ -10,65 +10,67 @@ export {
10
10
  u as EnumDict,
11
11
  g as Error401Page,
12
12
  d as Error404Page,
13
- p as Layout,
14
- l as LoginPage,
15
- c as MultiFactorLoginPage,
16
- m as ProfilePage,
13
+ l as Layout,
14
+ p as LoginPage,
15
+ m as MultiFactorLoginPage,
16
+ c as ProfilePage,
17
17
  P as RedirectPage,
18
18
  S as RegisterForm,
19
19
  v as RegisterPage,
20
20
  E as SysApiImpl,
21
- y as TableHooks,
22
- M as addDynamicRoute,
23
- R as addViteMenus,
24
- f as addWebpackMenus,
25
- k as axiosConfig,
26
- A as clearEmpty,
27
- C as createLoginQrcode,
28
- D as cssImageVar,
29
- L as deepMerge,
30
- h as default,
21
+ f as TableHooks,
22
+ k as addDynamicRoute,
23
+ M as addViteMenus,
24
+ R as addWebpackMenus,
25
+ h as axiosConfig,
26
+ y as clearEmpty,
27
+ A as createLoginQrcode,
28
+ C as cssImageVar,
29
+ D as deepMerge,
30
+ L as default,
31
31
  H as defaultSettings,
32
32
  U as directive,
33
33
  z as enumMapCache,
34
34
  V as fileApi,
35
- B as generateRandomKey,
36
- I as getCaptchaApi,
37
- O as getQueryParams,
38
- T as handlePreview,
35
+ B as forgotPhoneEmail,
36
+ I as generateRandomKey,
37
+ O as getCaptchaApi,
38
+ T as getQueryParams,
39
+ w as handlePreview,
39
40
  F as i18n,
40
41
  Q as imageUrl,
41
- W as loginOrganApi,
42
- j as menus,
43
- q as myorganList,
44
- w as netEncrypt,
45
- x as registerApi,
46
- K as request,
47
- N as resetRouter,
48
- G as routerRef,
49
- J as routerUtil,
50
- X as runAsUser,
51
- Y as selectDsdRoles,
52
- Z as store,
53
- _ as updateMetaEnv,
54
- $ as updateRouter,
55
- aa as updateSettings,
56
- ea as updateViteMetaEnv,
57
- sa as updateWebpackMetaEnv,
58
- ta as useAppStore,
59
- ra as useAppStoreHook,
60
- ia as useListStoreHook,
61
- oa as usePermissionStore,
62
- ba as usePermissionStoreHook,
63
- na as useSettingsStore,
64
- ua as useTableHooks,
65
- ga as useTagsViewStore,
66
- da as useUserStore,
67
- pa as useUserStoreHook,
68
- la as validateCreditCode,
69
- ca as validateEmail,
70
- ma as validateIDCard,
71
- Pa as validatePhoneNumber,
72
- Sa as validatePhoneOrLandline,
73
- va as vueMetaEnv
42
+ W as loginApi,
43
+ q as loginOrganApi,
44
+ x as menus,
45
+ G as myorganList,
46
+ K as netEncrypt,
47
+ N as registerApi,
48
+ j as request,
49
+ J as resetRouter,
50
+ X as routerRef,
51
+ Y as routerUtil,
52
+ Z as runAsUser,
53
+ _ as selectDsdRoles,
54
+ $ as store,
55
+ aa as updateMetaEnv,
56
+ ea as updateRouter,
57
+ sa as updateSettings,
58
+ ta as updateViteMetaEnv,
59
+ ra as updateWebpackMetaEnv,
60
+ ia as useAppStore,
61
+ oa as useAppStoreHook,
62
+ ba as useListStoreHook,
63
+ na as usePermissionStore,
64
+ ua as usePermissionStoreHook,
65
+ ga as useSettingsStore,
66
+ da as useTableHooks,
67
+ la as useTagsViewStore,
68
+ pa as useUserStore,
69
+ ma as useUserStoreHook,
70
+ ca as validateCreditCode,
71
+ Pa as validateEmail,
72
+ Sa as validateIDCard,
73
+ va as validatePhoneNumber,
74
+ Ea as validatePhoneOrLandline,
75
+ fa as vueMetaEnv
74
76
  };