jmash-core 0.1.18 → 0.1.19

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.
@@ -1,5 +1,5 @@
1
- import { createElementBlock as y, openBlock as k, createElementVNode as u, defineComponent as B, ref as I, reactive as f, resolveComponent as i, Fragment as E, createVNode as t, withCtx as l, createTextVNode as _, toDisplayString as C } from "vue";
2
- import { z as F, v, a as w, A as M, B as $ } from "./index-BrR5K1DU.mjs";
1
+ import { createElementBlock as y, openBlock as k, createElementVNode as u, defineComponent as E, ref as I, reactive as f, resolveComponent as i, Fragment as F, createVNode as t, withCtx as l, createTextVNode as _, toDisplayString as C } from "vue";
2
+ import { A as M, v, a as w, B as $, C as z } from "./index-BD4Gujon.mjs";
3
3
  const N = {
4
4
  viewBox: "0 0 1024 1024",
5
5
  width: "1.2em",
@@ -17,7 +17,7 @@ function T(x, c) {
17
17
  }, null, -1)
18
18
  ]));
19
19
  }
20
- const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { class: "image-slot" }, O = { class: "dialog-footer" }, Y = /* @__PURE__ */ B({
20
+ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { class: "image-slot" }, O = { class: "dialog-footer" }, Y = /* @__PURE__ */ E({
21
21
  __name: "types",
22
22
  setup(x) {
23
23
  const c = I(), m = f({
@@ -40,7 +40,7 @@ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { cl
40
40
  // ],
41
41
  });
42
42
  function b() {
43
- F().then(({ data: a }) => {
43
+ M().then(({ data: a }) => {
44
44
  o.captchaId = a.captchaId, c.value = a.base64Image, m.visible = !0, o.captchaCode = "";
45
45
  });
46
46
  }
@@ -61,7 +61,7 @@ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { cl
61
61
  directoryId: v.APP_DIRECTORY_ID,
62
62
  product: v.APP_PRODUCT
63
63
  };
64
- M(p).then(({ data: r }) => {
64
+ $(p).then(({ data: r }) => {
65
65
  console.log(r);
66
66
  const s = window.setInterval(() => {
67
67
  n.content = n.timers + "s后重新发送", n.timers--, n.disabled = !0, n.timers < 0 && (n.timers = 60, n.disabled = !1, n.content = "重新发送验证码", window.clearInterval(s));
@@ -79,13 +79,13 @@ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { cl
79
79
  clientId: v.APP_CLIENT_ID,
80
80
  scope: ""
81
81
  };
82
- $(a).then((e) => {
82
+ z(a).then((e) => {
83
83
  console.log(e);
84
84
  });
85
85
  }
86
86
  return (a, e) => {
87
- const p = i("el-input"), r = i("el-form-item"), s = i("el-button"), V = i("el-form"), U = q, z = i("el-image"), A = i("el-dialog");
88
- return k(), y(E, null, [
87
+ const p = i("el-input"), r = i("el-form-item"), s = i("el-button"), V = i("el-form"), U = q, A = i("el-image"), B = i("el-dialog");
88
+ return k(), y(F, null, [
89
89
  t(V, {
90
90
  ref_key: "ruleFormRef",
91
91
  ref: g,
@@ -148,7 +148,7 @@ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { cl
148
148
  ]),
149
149
  _: 1
150
150
  }, 8, ["model", "rules"]),
151
- t(A, {
151
+ t(B, {
152
152
  title: "提示",
153
153
  modelValue: m.visible,
154
154
  "onUpdate:modelValue": e[4] || (e[4] = (d) => m.visible = d),
@@ -193,7 +193,7 @@ const q = { name: "ep-picture", render: T }, S = { class: "h-[40px]" }, L = { cl
193
193
  class: "w-[60%]"
194
194
  }, null, 8, ["modelValue", "placeholder"]),
195
195
  u("div", S, [
196
- t(z, {
196
+ t(A, {
197
197
  src: c.value,
198
198
  onClick: b,
199
199
  class: "w-[130px] h-[40px] cursor-pointer"
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./updatePwd.vue_vue_type_script_setup_true_lang-B1eIL13s.mjs";
1
+ import { _ as f } from "./updatePwd.vue_vue_type_script_setup_true_lang-C8mlen_N.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as q, ref as v, toRefs as E, reactive as V, resolveComponent as i, createBlock as O, openBlock as A, unref as t, isRef as U, withCtx as n, createVNode as r, createElementVNode as B, createTextVNode as g, toDisplayString as _ } from "vue";
2
2
  import { ElMessage as D } from "element-plus";
3
- import { F as b, aH as F } from "./index-BrR5K1DU.mjs";
4
- import { useI18n as I } from "vue-i18n";
5
- const S = { class: "dialog-footer" }, k = /* @__PURE__ */ q({
3
+ import { H as b, aJ as I } from "./index-BD4Gujon.mjs";
4
+ import { useI18n as S } from "vue-i18n";
5
+ const z = { class: "dialog-footer" }, T = /* @__PURE__ */ q({
6
6
  __name: "updatePwd",
7
7
  props: {
8
8
  pwdVisible: {
@@ -12,7 +12,7 @@ const S = { class: "dialog-footer" }, k = /* @__PURE__ */ q({
12
12
  },
13
13
  emits: ["dialogActionChange"],
14
14
  setup(R, { emit: y }) {
15
- const { t: a } = I(), p = v(), N = R, { pwdVisible: u } = E(N), c = y;
15
+ const { t: a } = S(), p = v(), N = R, { pwdVisible: u } = E(N), c = y;
16
16
  let l = V({
17
17
  encodeOldPwd: "",
18
18
  encodeNewPwd: "",
@@ -33,7 +33,7 @@ const S = { class: "dialog-footer" }, k = /* @__PURE__ */ q({
33
33
  await ((o = p.value) == null ? void 0 : o.validate((e) => {
34
34
  if (e) {
35
35
  let d = b(l.encodeOldPwd), w = b(l.encodeNewPwd);
36
- F(d, w).then((m) => {
36
+ I(d, w).then((m) => {
37
37
  m.status === 200 && (D({
38
38
  message: a("password.successResetPwd"),
39
39
  type: "success"
@@ -57,7 +57,7 @@ const S = { class: "dialog-footer" }, k = /* @__PURE__ */ q({
57
57
  onClose: f
58
58
  }, {
59
59
  footer: n(() => [
60
- B("div", S, [
60
+ B("div", z, [
61
61
  r(P, { onClick: f }, {
62
62
  default: n(() => [
63
63
  g(_(o.$t("common.cancel")), 1)
@@ -142,5 +142,5 @@ const S = { class: "dialog-footer" }, k = /* @__PURE__ */ q({
142
142
  }
143
143
  });
144
144
  export {
145
- k as _
145
+ T as _
146
146
  };
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
+ modelValue: globalThis.PropType<boolean>;
3
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
4
+ modelValue: globalThis.PropType<boolean>;
5
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -34,7 +34,8 @@ import "element-plus/theme-chalk/dark/css-vars.css";
34
34
  import "./styles/index.scss";
35
35
  import "uno.css";
36
36
  import RegisterForm from "./components/RegisterForm/index.vue";
37
- export { RegisterForm };
37
+ import ForgotPwd from "./components/ForgotPwd/index.vue";
38
+ export { RegisterForm, ForgotPwd };
38
39
  import type { IToolbarConfig, IEditorConfig, IDomEditor } from "@wangeditor-next/editor";
39
40
  export type { IToolbarConfig, IEditorConfig, IDomEditor };
40
41
  import "element-plus/theme-chalk/index.css";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jmash-core",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "private": false,
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dts/src/index.d.ts",
@@ -1,463 +0,0 @@
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
- };