@huyooo/ui 0.10.7 → 0.11.1

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 (68) hide show
  1. package/dist/AuthkitAppSetting-BCrLMpLg.js +1322 -0
  2. package/dist/AuthkitSignInPhone-DmCQ2fWs.js +1721 -0
  3. package/dist/{Clipboard-CK_nROjb.js → Clipboard---tG2Zxz.js} +1 -1
  4. package/dist/{Contact-CpHU1bJ7.js → Contact-BEUbBGiB.js} +2 -2
  5. package/dist/{CustomTable-1W5byjgJ.js → CustomTable-CVZ4mFzi.js} +2 -3
  6. package/dist/FeedbackItem-CN041vTm.js +495 -0
  7. package/dist/FeedbackModal-aI28o-w5.js +1053 -0
  8. package/dist/MessageHandle-BV1nKlxs.js +1147 -0
  9. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-F6neJUg3.js +142 -0
  10. package/dist/{PaySubscriptions-C4Een__-.js → PaySubscriptions-B3gI1Eme.js} +5 -6
  11. package/dist/{ReferrerReferees-DIassvGO.js → ReferrerReferees-DJzPo7X5.js} +7 -7
  12. package/dist/{Upload.vue_vue_type_script_setup_true_lang-DA8VZBrl.js → Upload.vue_vue_type_script_setup_true_lang-D_-oMTOo.js} +1 -1
  13. package/dist/UserAccountMenu-CJ9KKVYa.js +371 -0
  14. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-ClAXNSgl.js +81 -0
  15. package/dist/{WidthContainer-TXsvW1ut.js → WidthContainer-BG10rumn.js} +248 -252
  16. package/dist/{apiClients-ANEApCyY.js → apiClients-9b4zNZ2S.js} +2 -2
  17. package/dist/authkit.js +41 -40
  18. package/dist/common.js +2 -2
  19. package/dist/components/Authkit/AuthkitAppSetting.vue.d.ts +1 -1
  20. package/dist/components/Referrer/ReferrerReferees.vue.d.ts +1 -1
  21. package/dist/components/{User → UserMenu}/UserAccountMenu.vue.d.ts +1 -5
  22. package/dist/components/{User/UserPanel.vue.d.ts → UserMenu/UserMenu.vue.d.ts} +5 -12
  23. package/dist/components/UserMenu/UserMenuDivider.vue.d.ts +2 -0
  24. package/dist/components/UserMenu/UserMenuHeader.vue.d.ts +13 -0
  25. package/dist/components/{User/UserPanelItem.vue.d.ts → UserMenu/UserMenuItem.vue.d.ts} +6 -10
  26. package/dist/components/UserMenu/UserMenuModals.vue.d.ts +137 -0
  27. package/dist/components/UserMenu/items/UserMenuFeedbackItem.vue.d.ts +2 -0
  28. package/dist/components/UserMenu/items/UserMenuInvitationsItem.vue.d.ts +2 -0
  29. package/dist/components/UserMenu/items/UserMenuMessageItem.vue.d.ts +2 -0
  30. package/dist/components/UserMenu/items/UserMenuSettingItem.vue.d.ts +2 -0
  31. package/dist/components/UserMenu/items/UserMenuSubscriptionItem.vue.d.ts +2 -0
  32. package/dist/components/UserMenu/parts/UserAvatar.vue.d.ts +9 -0
  33. package/dist/components/UserMenu/parts/UserBasicInformation.vue.d.ts +13 -0
  34. package/dist/components/UserMenu/parts/UserSubscriptionBaseInformation.vue.d.ts +15 -0
  35. package/dist/composables/UserMenu/useUserMenu.d.ts +20 -0
  36. package/dist/composables.d.ts +1 -0
  37. package/dist/composables.js +19 -17
  38. package/dist/feedback.js +16 -15
  39. package/dist/main.js +193 -180
  40. package/dist/message.js +10 -9
  41. package/dist/pay.js +1 -1
  42. package/dist/privateCom.js +1 -1
  43. package/dist/referrer.js +1 -1
  44. package/dist/style.css +1 -1
  45. package/dist/upload.js +2 -2
  46. package/dist/{useAuthkitAppsAuthPageInfo-Da2yJTT-.js → useAuthkitAppsAuthPageInfo-494yLvsu.js} +1 -1
  47. package/dist/{useAuthkitCreateAndUpdate-BLs5vQOu.js → useAuthkitCreateAndUpdate-DyRtFxZS.js} +1 -1
  48. package/dist/{useAuthkitUsersProfile-Cx8NXjlt.js → useAuthkitUsersProfile-lGlQP54m.js} +1 -1
  49. package/dist/{useDownloads-DT5W2af6.js → useDownloads-DaeIY0E9.js} +1 -1
  50. package/dist/{useLegalLinks-BIF45kUt.js → useLegalLinks-CPbWqlu6.js} +2 -2
  51. package/dist/{useMessageNotifications-CavBmgO7.js → useMessageNotifications-Dg5q-C_o.js} +1 -1
  52. package/dist/{useSEO-MPXQf0dn.js → useSEO-CXX9dcBx.js} +2 -2
  53. package/dist/{useTableHandle--NSbZ-57.js → useTableHandle-Cjq4gcC0.js} +1 -1
  54. package/dist/{cos-js-sdk-v5-BJ5AlBRu.js → useUploadCos-DiJmmbRf.js} +2469 -2232
  55. package/dist/useUserMenu-B3HKZKJ4.js +43 -0
  56. package/dist/user.d.ts +15 -7
  57. package/dist/user.js +17 -9
  58. package/package.json +1 -1
  59. package/dist/AuthkitSignInPhone-BWPCpUie.js +0 -3034
  60. package/dist/FeedbackModal-qAJLL3V3.js +0 -1535
  61. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-D109kT8_.js +0 -1282
  62. package/dist/UserAccountMenu-BIRTtjLb.js +0 -266
  63. package/dist/UserSubscriptionBaseInformation-BUs3qiHd.js +0 -60
  64. package/dist/components/User/UserAvatar.vue.d.ts +0 -23
  65. package/dist/components/User/UserBasicInformation.vue.d.ts +0 -41
  66. package/dist/components/User/UserSubscriptionBaseInformation.vue.d.ts +0 -32
  67. package/dist/useUploadCos-D6y0INvP.js +0 -242
  68. /package/dist/components/{User/UserButton.vue.d.ts → UserMenu/parts/UserSignInButton.vue.d.ts} +0 -0
@@ -0,0 +1,1322 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ import { defineComponent as B, computed as G, openBlock as b, createElementBlock as R, normalizeStyle as ne, normalizeClass as oe, createElementVNode as S, ref as k, createBlock as w, unref as e, withCtx as a, createVNode as l, createTextVNode as z, onMounted as K, onUnmounted as ee, withDirectives as re, toDisplayString as P, vShow as ue, Fragment as F, createCommentVNode as $, renderList as de, isRef as me } from "vue";
5
+ import { Form as M, FormItem as V, Avatar as ae, Input as T, Textarea as fe, Button as C, Message as D, Alert as E, Space as J, InputPassword as pe, Result as ce, Modal as ve } from "@arco-design/web-vue";
6
+ /* empty css */
7
+ import { e as q, g as le, h as te } from "./apiClients-9b4zNZ2S.js";
8
+ /* empty css */
9
+ import { u as ye } from "./useUploadCos-DiJmmbRf.js";
10
+ import { _ as ge, g as ke, i as be } from "./plugin-vue_export-helper-LjDO2Zua.js";
11
+ import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
+ import { a as O, u as ze } from "./useAuthkitUsersProfile-lGlQP54m.js";
13
+ import { M as we } from "./Menu-Cy2ZPeaz.js";
14
+ import { u as _e } from "./useAuthkitCreateAndUpdate-DyRtFxZS.js";
15
+ const Ve = B({
16
+ name: "IconCamera",
17
+ props: {
18
+ size: {
19
+ type: [Number, String]
20
+ },
21
+ strokeWidth: {
22
+ type: Number,
23
+ default: 4
24
+ },
25
+ strokeLinecap: {
26
+ type: String,
27
+ default: "butt",
28
+ validator: (c) => ["butt", "round", "square"].includes(c)
29
+ },
30
+ strokeLinejoin: {
31
+ type: String,
32
+ default: "miter",
33
+ validator: (c) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(c)
34
+ },
35
+ rotate: Number,
36
+ spin: Boolean
37
+ },
38
+ emits: {
39
+ click: (c) => !0
40
+ },
41
+ setup(c, {
42
+ emit: m
43
+ }) {
44
+ const g = ke("icon"), d = G(() => [g, `${g}-camera`, {
45
+ [`${g}-spin`]: c.spin
46
+ }]), n = G(() => {
47
+ const s = {};
48
+ return c.size && (s.fontSize = be(c.size) ? `${c.size}px` : c.size), c.rotate && (s.transform = `rotate(${c.rotate}deg)`), s;
49
+ });
50
+ return {
51
+ cls: d,
52
+ innerStyle: n,
53
+ onClick: (s) => {
54
+ m("click", s);
55
+ }
56
+ };
57
+ }
58
+ }), Ce = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
59
+ function Ie(c, m, g, d, n, v) {
60
+ return b(), R("svg", {
61
+ viewBox: "0 0 48 48",
62
+ fill: "none",
63
+ xmlns: "http://www.w3.org/2000/svg",
64
+ stroke: "currentColor",
65
+ class: oe(c.cls),
66
+ style: ne(c.innerStyle),
67
+ "stroke-width": c.strokeWidth,
68
+ "stroke-linecap": c.strokeLinecap,
69
+ "stroke-linejoin": c.strokeLinejoin,
70
+ onClick: m[0] || (m[0] = (...s) => c.onClick && c.onClick(...s))
71
+ }, m[1] || (m[1] = [S("path", {
72
+ d: "m33 12-1.862-3.724A.5.5 0 0 0 30.691 8H17.309a.5.5 0 0 0-.447.276L15 12m16 14a7 7 0 1 1-14 0 7 7 0 0 1 14 0ZM7 40h34a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v26a1 1 0 0 0 1 1Z"
73
+ }, null, -1)]), 14, Ce);
74
+ }
75
+ var Q = /* @__PURE__ */ ge(Ve, [["render", Ie]]);
76
+ const he = Object.assign(Q, {
77
+ install: (c, m) => {
78
+ var g;
79
+ const d = (g = m == null ? void 0 : m.iconPrefix) != null ? g : "";
80
+ c.component(d + Q.name, Q);
81
+ }
82
+ }), $e = {
83
+ class: "handle"
84
+ }, Se = /* @__PURE__ */ B({
85
+ __name: "AuthkitPersonalInformation",
86
+ props: {
87
+ size: {
88
+ type: String,
89
+ required: !0
90
+ }
91
+ },
92
+ emits: ["submit"],
93
+ setup(c, {
94
+ emit: m
95
+ }) {
96
+ const g = m, d = c, n = k({
97
+ id: void 0,
98
+ nickname: "",
99
+ description: "",
100
+ avatar: "",
101
+ avatarUrl: ""
102
+ }), v = k(!1), s = k(), t = k(!1), _ = {
103
+ color: "var(--huyooo-accent-primary)"
104
+ };
105
+ async function f() {
106
+ t.value = !0;
107
+ const {
108
+ data: r
109
+ } = await q.users.profile.post({});
110
+ t.value = !1, r && (n.value.id = r.id, n.value.nickname = r.nickname, n.value.description = r.description, n.value.avatar = r.avatar, n.value.avatarUrl = r.avatarUrl);
111
+ }
112
+ async function u() {
113
+ if (!await s.value.validate()) {
114
+ t.value = !0;
115
+ const i = {
116
+ id: n.value.id,
117
+ nickname: n.value.nickname,
118
+ description: n.value.description,
119
+ avatar: n.value.avatar
120
+ }, {
121
+ data: p,
122
+ error: U
123
+ } = await q.users.update.baseInfo.post(i);
124
+ t.value = !1, !U && p && (D.success("更新成功"), n.value.avatarUrl = p.avatarUrl, g("submit"));
125
+ }
126
+ }
127
+ f();
128
+ const o = () => {
129
+ const {
130
+ uploadFile: r
131
+ } = ye(), i = document.createElement("input");
132
+ i.type = "file", i.accept = "image/*", i.style.display = "none", document.body.append(i), i.addEventListener("change", async (p) => {
133
+ var A;
134
+ const I = (A = p.target.files) == null ? void 0 : A[0];
135
+ if (I) {
136
+ v.value = !0;
137
+ try {
138
+ r({
139
+ bucketId: le.avatarBucketId,
140
+ file: I,
141
+ onFileFinish(L, H, j) {
142
+ v.value = !0;
143
+ const W = {
144
+ id: n.value.id,
145
+ nickname: n.value.nickname,
146
+ description: n.value.description,
147
+ avatar: j.Key
148
+ };
149
+ (async () => {
150
+ const {
151
+ error: Z
152
+ } = await q.users.update.baseInfo.post(W);
153
+ v.value = !1, Z || (D.success("更新成功"), f(), g("submit"));
154
+ })();
155
+ },
156
+ onError(L) {
157
+ console.error("上传图片失败"), v.value = !1;
158
+ }
159
+ });
160
+ } catch (L) {
161
+ console.error("上传图片失败", L), v.value = !1;
162
+ }
163
+ }
164
+ i.remove();
165
+ }), i.click();
166
+ };
167
+ return (r, i) => (b(), w(e(M), {
168
+ ref_key: "formRef",
169
+ ref: s,
170
+ model: n.value,
171
+ "auto-label-width": "",
172
+ size: d.size
173
+ }, {
174
+ default: a(() => [l(e(V), {
175
+ field: "avatar",
176
+ label: "头像",
177
+ rules: [{
178
+ required: !1,
179
+ message: "请上传头像"
180
+ }]
181
+ }, {
182
+ default: a(() => [l(e(ae), {
183
+ "image-url": n.value.avatarUrl,
184
+ size: 42,
185
+ "object-fit": "cover",
186
+ "trigger-icon-style": _,
187
+ onClick: o
188
+ }, {
189
+ "trigger-icon": a(() => [l(e(he))]),
190
+ _: 1
191
+ }, 8, ["image-url"])]),
192
+ _: 1
193
+ }), l(e(V), {
194
+ field: "nickname",
195
+ label: "昵称",
196
+ rules: [{
197
+ required: !1,
198
+ message: "请输入昵称"
199
+ }]
200
+ }, {
201
+ default: a(() => [l(e(T), {
202
+ modelValue: n.value.nickname,
203
+ "onUpdate:modelValue": i[0] || (i[0] = (p) => n.value.nickname = p),
204
+ placeholder: "请输入昵称"
205
+ }, null, 8, ["modelValue"])]),
206
+ _: 1
207
+ }), l(e(V), {
208
+ field: "description",
209
+ label: "简介",
210
+ rules: [{
211
+ required: !1,
212
+ message: "请输入描述"
213
+ }]
214
+ }, {
215
+ default: a(() => [l(e(fe), {
216
+ modelValue: n.value.description,
217
+ "onUpdate:modelValue": i[1] || (i[1] = (p) => n.value.description = p),
218
+ placeholder: "请输入描述",
219
+ "allow-clear": "",
220
+ "auto-size": {
221
+ minRows: 5
222
+ }
223
+ }, null, 8, ["modelValue"])]),
224
+ _: 1
225
+ }), l(e(V), {
226
+ field: "",
227
+ label: "",
228
+ rules: []
229
+ }, {
230
+ default: a(() => [S("div", $e, [l(e(C), {
231
+ type: "primary",
232
+ loading: t.value,
233
+ onClick: u
234
+ }, {
235
+ default: a(() => [...i[2] || (i[2] = [z(" 提交 ", -1)])]),
236
+ _: 1
237
+ }, 8, ["loading"])])]),
238
+ _: 1
239
+ })]),
240
+ _: 1
241
+ }, 8, ["model", "size"]));
242
+ }
243
+ }), Ue = /* @__PURE__ */ N(Se, [["__scopeId", "data-v-1d138326"]]), xe = /* @__PURE__ */ B({
244
+ __name: "AuthkitSendVerifyCode",
245
+ props: {
246
+ size: {
247
+ type: String,
248
+ required: !0
249
+ },
250
+ loading: {
251
+ type: Boolean,
252
+ required: !0,
253
+ default: () => !1
254
+ }
255
+ },
256
+ emits: ["send"],
257
+ setup(c, {
258
+ expose: m,
259
+ emit: g
260
+ }) {
261
+ const d = g, n = c, v = k(!1);
262
+ let s;
263
+ const t = k(0), _ = G(() => t.value.toString().padStart(2, "0")), f = G(() => t.value > 0), u = () => {
264
+ v.value && (t.value <= 0 ? (clearInterval(s), v.value = !1) : t.value--);
265
+ };
266
+ function o() {
267
+ d("send");
268
+ }
269
+ function r() {
270
+ t.value = 60, v.value = !0, s && clearInterval(s), s = setInterval(u, 1e3);
271
+ }
272
+ return K(() => {
273
+ }), m({
274
+ startCountFn: r
275
+ }), ee(() => {
276
+ s && clearInterval(s);
277
+ }), (i, p) => (b(), w(e(C), {
278
+ class: "OAuthItem",
279
+ type: "primary",
280
+ size: n.size,
281
+ disabled: f.value,
282
+ loading: n.loading,
283
+ onClick: o
284
+ }, {
285
+ default: a(() => [p[0] || (p[0] = S("span", null, " 发送验证码", -1)), re(S("span", {
286
+ class: "verify-code-timer"
287
+ }, P(`(${_.value})`), 513), [[ue, f.value]])]),
288
+ _: 1
289
+ }, 8, ["size", "disabled", "loading"]));
290
+ }
291
+ }), ie = /* @__PURE__ */ N(xe, [["__scopeId", "data-v-2883dc6d"]]), Ae = {
292
+ class: "sendVerifyCodeItem"
293
+ }, Pe = {
294
+ class: "handle"
295
+ }, Te = /* @__PURE__ */ B({
296
+ __name: "AuthkitEmailVerify",
297
+ props: {
298
+ email: {
299
+ type: String,
300
+ required: !0,
301
+ default: () => ""
302
+ },
303
+ size: {
304
+ type: String,
305
+ required: !0
306
+ }
307
+ },
308
+ emits: ["next"],
309
+ setup(c, {
310
+ emit: m
311
+ }) {
312
+ const g = m, d = c, n = G(() => te(d.email)), v = k(), s = k(!1), t = k(!1), _ = k(), f = k({
313
+ userToken: void 0,
314
+ emailVerifyId: void 0
315
+ });
316
+ async function u() {
317
+ s.value = !0;
318
+ const {
319
+ data: r
320
+ } = await q.verify.email.retry.post({
321
+ email: d.email
322
+ });
323
+ s.value = !1, r && (f.value.emailVerifyId = r.emailVerifyId, v.value.startCountFn());
324
+ }
325
+ async function o() {
326
+ if (!await _.value.validate(["userToken"])) {
327
+ t.value = !0;
328
+ const i = {
329
+ email: d.email,
330
+ userToken: f.value.userToken,
331
+ emailVerifyId: f.value.emailVerifyId
332
+ }, {
333
+ error: p
334
+ } = await q.verify.email.post(i);
335
+ t.value = !1, p || g("next");
336
+ }
337
+ }
338
+ return (r, i) => (b(), w(e(M), {
339
+ ref_key: "formRef",
340
+ ref: _,
341
+ model: f.value,
342
+ "auto-label-width": "",
343
+ size: d.size
344
+ }, {
345
+ default: a(() => [l(e(V), {
346
+ field: "email",
347
+ label: "邮箱",
348
+ rules: [{
349
+ required: !1,
350
+ message: "请输入邮箱"
351
+ }, {
352
+ type: "email",
353
+ message: "请输入有效的邮箱"
354
+ }]
355
+ }, {
356
+ default: a(() => [z(P(n.value), 1)]),
357
+ _: 1
358
+ }), l(e(V), {
359
+ field: "userToken",
360
+ label: "验证码",
361
+ "hide-label": "",
362
+ rules: [{
363
+ required: !0,
364
+ message: "请输入验证码"
365
+ }]
366
+ }, {
367
+ default: a(() => [S("div", Ae, [l(e(T), {
368
+ modelValue: f.value.userToken,
369
+ "onUpdate:modelValue": i[0] || (i[0] = (p) => f.value.userToken = p),
370
+ placeholder: "请输入验证码"
371
+ }, null, 8, ["modelValue"]), l(ie, {
372
+ ref_key: "SendVerifyCodeRef",
373
+ ref: v,
374
+ size: d.size,
375
+ loading: s.value,
376
+ style: {
377
+ "margin-left": "10px"
378
+ },
379
+ onSend: u
380
+ }, null, 8, ["size", "loading"])])]),
381
+ _: 1
382
+ }), l(e(V), {
383
+ field: "",
384
+ label: "",
385
+ rules: []
386
+ }, {
387
+ default: a(() => [S("div", Pe, [l(e(C), {
388
+ loading: t.value,
389
+ type: "primary",
390
+ onClick: o
391
+ }, {
392
+ default: a(() => [...i[1] || (i[1] = [z(" 提交 ", -1)])]),
393
+ _: 1
394
+ }, 8, ["loading"])])]),
395
+ _: 1
396
+ })]),
397
+ _: 1
398
+ }, 8, ["model", "size"]));
399
+ }
400
+ }), X = /* @__PURE__ */ N(Te, [["__scopeId", "data-v-73ed2006"]]), qe = {
401
+ class: "handle"
402
+ }, Be = /* @__PURE__ */ B({
403
+ __name: "AuthkitPasswordUpdate",
404
+ props: {
405
+ size: {
406
+ type: String,
407
+ required: !0
408
+ }
409
+ },
410
+ emits: ["submit"],
411
+ setup(c, {
412
+ emit: m
413
+ }) {
414
+ const g = m, d = k(!1), n = k(), v = c, s = k({
415
+ oldPassword: "",
416
+ password: "",
417
+ confirmPassword: ""
418
+ });
419
+ async function t() {
420
+ if (!await n.value.validate()) {
421
+ d.value = !0;
422
+ const f = {
423
+ password: s.value.password
424
+ }, {
425
+ error: u
426
+ } = await q.users.update.password.post(f);
427
+ d.value = !1, u || g("submit", f);
428
+ }
429
+ }
430
+ return (_, f) => (b(), w(e(M), {
431
+ ref_key: "formRef",
432
+ ref: n,
433
+ model: s.value,
434
+ "auto-label-width": "",
435
+ size: v.size
436
+ }, {
437
+ default: a(() => [l(e(V), {
438
+ field: "oldPassword",
439
+ label: "当前密码",
440
+ "hide-label": "",
441
+ rules: [{
442
+ required: !0,
443
+ message: "请输入当前密码"
444
+ }]
445
+ }, {
446
+ default: a(() => [l(e(T), {
447
+ modelValue: s.value.oldPassword,
448
+ "onUpdate:modelValue": f[0] || (f[0] = (u) => s.value.oldPassword = u),
449
+ placeholder: "请输入当前密码",
450
+ type: "password"
451
+ }, null, 8, ["modelValue"])]),
452
+ _: 1
453
+ }), l(e(V), {
454
+ field: "password",
455
+ label: "新密码",
456
+ "hide-label": "",
457
+ rules: [{
458
+ required: !0,
459
+ message: "新密码请输入"
460
+ }, {
461
+ minLength: 10,
462
+ message: "新密码不能少于10字符"
463
+ }]
464
+ }, {
465
+ default: a(() => [l(e(T), {
466
+ modelValue: s.value.password,
467
+ "onUpdate:modelValue": f[1] || (f[1] = (u) => s.value.password = u),
468
+ placeholder: "请输入新密码",
469
+ type: "password"
470
+ }, null, 8, ["modelValue"])]),
471
+ _: 1
472
+ }), l(e(V), {
473
+ field: "confirmPassword",
474
+ label: "确认密码",
475
+ "hide-label": "",
476
+ rules: [{
477
+ required: !0,
478
+ message: "请输入确认密码"
479
+ }, {
480
+ minLength: 10,
481
+ message: "确认密码不能少于10字符"
482
+ }, {
483
+ validator: (u, o) => {
484
+ u !== s.value.password ? o("两次密码输入不一致,请重新输入") : o();
485
+ }
486
+ }]
487
+ }, {
488
+ default: a(() => [l(e(T), {
489
+ modelValue: s.value.confirmPassword,
490
+ "onUpdate:modelValue": f[2] || (f[2] = (u) => s.value.confirmPassword = u),
491
+ placeholder: "请输入确认密码密码",
492
+ type: "password"
493
+ }, null, 8, ["modelValue"])]),
494
+ _: 1
495
+ }, 8, ["rules"]), l(e(V), {
496
+ field: "",
497
+ label: "",
498
+ rules: []
499
+ }, {
500
+ default: a(() => [S("div", qe, [l(e(C), {
501
+ type: "primary",
502
+ loading: d.value,
503
+ onClick: t
504
+ }, {
505
+ default: a(() => [...f[3] || (f[3] = [z(" 提交 ", -1)])]),
506
+ _: 1
507
+ }, 8, ["loading"])])]),
508
+ _: 1
509
+ })]),
510
+ _: 1
511
+ }, 8, ["model", "size"]));
512
+ }
513
+ }), Ee = /* @__PURE__ */ N(Be, [["__scopeId", "data-v-f8bd086f"]]), Re = /* @__PURE__ */ B({
514
+ __name: "AuthkitSetPassword",
515
+ props: {
516
+ size: {
517
+ type: String,
518
+ required: !0
519
+ }
520
+ },
521
+ setup(c) {
522
+ const {
523
+ userProfile: m,
524
+ loading: g,
525
+ fetchUserProfile: d,
526
+ isLoggedIn: n
527
+ } = O(), v = k("hidden"), s = c;
528
+ function t(u) {
529
+ v.value = u;
530
+ }
531
+ function _(u) {
532
+ D.success("密码修改成功"), v.value = "hidden", d();
533
+ }
534
+ function f() {
535
+ v.value = "update";
536
+ }
537
+ return K(() => {
538
+ n.value && !m.value && d();
539
+ }), (u, o) => {
540
+ var r, i, p, U;
541
+ return b(), R(F, null, [!((r = e(m)) != null && r.email) && !((i = e(m)) != null && i.phone) ? (b(), w(e(E), {
542
+ key: 0,
543
+ title: "去绑定邮箱"
544
+ }, {
545
+ action: a(() => [l(e(C), {
546
+ size: s.size,
547
+ type: "primary",
548
+ onClick: o[0] || (o[0] = (I) => t("update"))
549
+ }, {
550
+ default: a(() => [...o[2] || (o[2] = [z(" 去绑定邮箱 ", -1)])]),
551
+ _: 1
552
+ }, 8, ["size"])]),
553
+ default: a(() => [o[3] || (o[3] = z(" 请先去绑定邮箱或者手机号码,才能设置密码 ", -1))]),
554
+ _: 1
555
+ })) : $("", !0), (p = e(m)) != null && p.email && v.value === "hidden" ? (b(), w(e(E), {
556
+ key: 1,
557
+ title: "更改密码"
558
+ }, {
559
+ action: a(() => [l(e(C), {
560
+ size: s.size,
561
+ type: "primary",
562
+ onClick: o[1] || (o[1] = (I) => t("verify"))
563
+ }, {
564
+ default: a(() => [...o[4] || (o[4] = [z("更改密码", -1)])]),
565
+ _: 1
566
+ }, 8, ["size"])]),
567
+ default: a(() => [o[5] || (o[5] = z(" 为了账户安全修改密码前会先验证身份 ", -1))]),
568
+ _: 1
569
+ })) : $("", !0), v.value === "update" ? (b(), w(Ee, {
570
+ key: 2,
571
+ size: s.size,
572
+ loading: e(g),
573
+ onSubmit: _
574
+ }, null, 8, ["size", "loading"])) : $("", !0), v.value === "verify" ? (b(), w(X, {
575
+ key: 3,
576
+ size: s.size,
577
+ email: (U = e(m)) == null ? void 0 : U.email,
578
+ onNext: f
579
+ }, null, 8, ["size", "email"])) : $("", !0)], 64);
580
+ };
581
+ }
582
+ }), Le = {
583
+ class: "content"
584
+ }, De = {
585
+ class: "sendVerifyCodeItem"
586
+ }, Ne = {
587
+ class: "handle"
588
+ }, Fe = /* @__PURE__ */ B({
589
+ __name: "AuthkitEmailUpdate",
590
+ props: {
591
+ size: {
592
+ type: String,
593
+ required: !0
594
+ },
595
+ loading: {
596
+ type: Boolean,
597
+ required: !0,
598
+ default: () => !0
599
+ }
600
+ },
601
+ emits: ["submit"],
602
+ setup(c, {
603
+ emit: m
604
+ }) {
605
+ const g = m, d = c, n = k(), v = k(!1), s = k(), t = k({
606
+ email: void 0,
607
+ userToken: void 0,
608
+ emailVerifyId: void 0,
609
+ password: void 0,
610
+ confirmPassword: void 0,
611
+ referrerId: void 0
612
+ });
613
+ async function _() {
614
+ if (!await s.value.validateField(["email"])) {
615
+ v.value = !0;
616
+ const {
617
+ data: o
618
+ } = await q.verify.email.retry.post({
619
+ email: t.value.email
620
+ });
621
+ v.value = !1, o && (t.value.emailVerifyId = o.emailVerifyId, n.value.startCountFn());
622
+ }
623
+ }
624
+ async function f() {
625
+ s.value.validate().then((u) => {
626
+ u || g("submit", t.value);
627
+ });
628
+ }
629
+ return (u, o) => (b(), R("div", Le, [l(e(M), {
630
+ ref_key: "formRef",
631
+ ref: s,
632
+ model: t.value,
633
+ size: d.size,
634
+ "auto-label-width": ""
635
+ }, {
636
+ default: a(() => [l(e(V), {
637
+ field: "email",
638
+ label: "邮箱",
639
+ "hide-label": "",
640
+ rules: [{
641
+ required: !0,
642
+ message: "请输入邮箱"
643
+ }, {
644
+ type: "email",
645
+ message: "请输入有效的邮箱"
646
+ }]
647
+ }, {
648
+ default: a(() => [l(e(T), {
649
+ modelValue: t.value.email,
650
+ "onUpdate:modelValue": o[0] || (o[0] = (r) => t.value.email = r),
651
+ placeholder: "请输入邮箱",
652
+ autocomplete: "email username",
653
+ type: "email"
654
+ }, null, 8, ["modelValue"])]),
655
+ _: 1
656
+ }), l(e(V), {
657
+ field: "userToken",
658
+ label: "验证码",
659
+ "hide-label": "",
660
+ rules: [{
661
+ required: !0,
662
+ message: "请输入验证码"
663
+ }]
664
+ }, {
665
+ default: a(() => [S("div", De, [l(e(T), {
666
+ modelValue: t.value.userToken,
667
+ "onUpdate:modelValue": o[1] || (o[1] = (r) => t.value.userToken = r),
668
+ placeholder: "请输入验证码",
669
+ autocomplete: "one-time-code"
670
+ }, null, 8, ["modelValue"]), l(ie, {
671
+ ref_key: "SendVerifyCodeRef",
672
+ ref: n,
673
+ size: d.size,
674
+ loading: v.value,
675
+ style: {
676
+ "margin-left": "10px"
677
+ },
678
+ onSend: _
679
+ }, null, 8, ["size", "loading"])])]),
680
+ _: 1
681
+ }), l(e(V), {
682
+ field: "password",
683
+ label: "密码",
684
+ "hide-label": "",
685
+ rules: [{
686
+ required: !0,
687
+ message: "密码请输入"
688
+ }, {
689
+ minLength: 10,
690
+ message: "密码不能少于10字符"
691
+ }]
692
+ }, {
693
+ default: a(() => [l(e(T), {
694
+ modelValue: t.value.password,
695
+ "onUpdate:modelValue": o[2] || (o[2] = (r) => t.value.password = r),
696
+ placeholder: "请输入密码",
697
+ type: "password",
698
+ autocomplete: "new-password"
699
+ }, null, 8, ["modelValue"])]),
700
+ _: 1
701
+ }), l(e(V), {
702
+ field: "confirmPassword",
703
+ label: "确认密码",
704
+ "hide-label": "",
705
+ rules: [{
706
+ required: !0,
707
+ message: "请输入确认密码"
708
+ }, {
709
+ minLength: 10,
710
+ message: "确认密码不能少于10字符"
711
+ }, {
712
+ validator: (r, i) => {
713
+ r !== t.value.password ? i("两次密码输入不一致,请重新输入") : i();
714
+ }
715
+ }]
716
+ }, {
717
+ default: a(() => [l(e(T), {
718
+ modelValue: t.value.confirmPassword,
719
+ "onUpdate:modelValue": o[3] || (o[3] = (r) => t.value.confirmPassword = r),
720
+ placeholder: "请输入确认密码密码",
721
+ type: "password",
722
+ autocomplete: "new-password"
723
+ }, null, 8, ["modelValue"])]),
724
+ _: 1
725
+ }, 8, ["rules"]), l(e(V), {
726
+ field: "referrerId",
727
+ label: "邀请人",
728
+ "hide-label": "",
729
+ rules: [{
730
+ required: !1,
731
+ message: "请输入邀请人ID"
732
+ }]
733
+ }, {
734
+ default: a(() => [l(e(T), {
735
+ modelValue: t.value.referrerId,
736
+ "onUpdate:modelValue": o[4] || (o[4] = (r) => t.value.referrerId = r),
737
+ placeholder: "邀请人ID(可选)",
738
+ autocomplete: "off"
739
+ }, null, 8, ["modelValue"])]),
740
+ _: 1
741
+ }), S("div", Ne, [l(e(C), {
742
+ type: "primary",
743
+ loading: d.loading,
744
+ long: "",
745
+ size: d.size,
746
+ onClick: f
747
+ }, {
748
+ default: a(() => [...o[5] || (o[5] = [z(" 提交 ", -1)])]),
749
+ _: 1
750
+ }, 8, ["loading", "size"])])]),
751
+ _: 1
752
+ }, 8, ["model", "size"])]));
753
+ }
754
+ }), Ge = /* @__PURE__ */ N(Fe, [["__scopeId", "data-v-51a26095"]]), He = /* @__PURE__ */ B({
755
+ __name: "AuthkitEmailBinding",
756
+ props: {
757
+ size: {
758
+ type: String,
759
+ required: !0
760
+ }
761
+ },
762
+ setup(c) {
763
+ const {
764
+ userProfile: m,
765
+ loading: g,
766
+ fetchUserProfile: d
767
+ } = O(), n = k("hidden"), v = c;
768
+ function s(f) {
769
+ n.value = f;
770
+ }
771
+ async function t(f) {
772
+ g.value = !0;
773
+ const u = {
774
+ email: f.email,
775
+ userToken: f.userToken,
776
+ emailVerifyId: f.emailVerifyId,
777
+ password: f.password || ""
778
+ // API 要求 password,但绑定邮箱时可能不需要,传空字符串
779
+ }, {
780
+ error: o
781
+ } = await q.users.update.email.post(u);
782
+ g.value = !1, o || (D.success("绑定成功"), n.value = "hidden", d());
783
+ }
784
+ function _() {
785
+ n.value = "update";
786
+ }
787
+ return K(() => {
788
+ m.value || d();
789
+ }), (f, u) => {
790
+ var o, r, i;
791
+ return b(), R(F, null, [!((o = e(m)) != null && o.email) && n.value === "hidden" ? (b(), w(e(E), {
792
+ key: 0,
793
+ title: "绑定邮箱"
794
+ }, {
795
+ action: a(() => [l(e(C), {
796
+ size: v.size,
797
+ type: "primary",
798
+ onClick: u[0] || (u[0] = (p) => s("update"))
799
+ }, {
800
+ default: a(() => [...u[2] || (u[2] = [z(" 绑定邮箱 ", -1)])]),
801
+ _: 1
802
+ }, 8, ["size"])]),
803
+ default: a(() => [u[3] || (u[3] = z(" 您还未绑定邮箱,请点击绑定邮箱 ", -1))]),
804
+ _: 1
805
+ })) : $("", !0), (r = e(m)) != null && r.email && n.value === "hidden" ? (b(), w(e(E), {
806
+ key: 1,
807
+ title: "更改邮箱"
808
+ }, {
809
+ action: a(() => [l(e(C), {
810
+ size: v.size,
811
+ type: "primary",
812
+ onClick: u[1] || (u[1] = (p) => s("verify"))
813
+ }, {
814
+ default: a(() => [...u[4] || (u[4] = [z(" 更改邮箱 ", -1)])]),
815
+ _: 1
816
+ }, 8, ["size"])]),
817
+ default: a(() => {
818
+ var p;
819
+ return [z(P(`您绑定的邮箱为${e(te)((p = e(m)) == null ? void 0 : p.email)}`) + " ", 1)];
820
+ }),
821
+ _: 1
822
+ })) : $("", !0), n.value === "update" ? (b(), w(Ge, {
823
+ key: 2,
824
+ loading: e(g),
825
+ size: v.size,
826
+ onSubmit: t
827
+ }, null, 8, ["loading", "size"])) : $("", !0), n.value === "verify" ? (b(), w(X, {
828
+ key: 3,
829
+ size: v.size,
830
+ email: (i = e(m)) == null ? void 0 : i.email,
831
+ onNext: _
832
+ }, null, 8, ["size", "email"])) : $("", !0)], 64);
833
+ };
834
+ }
835
+ }), Me = /* @__PURE__ */ N(He, [["__scopeId", "data-v-4cf783a6"]]), je = /* @__PURE__ */ B({
836
+ __name: "AuthkitGithubBinding",
837
+ props: {
838
+ size: {
839
+ type: String,
840
+ required: !0
841
+ }
842
+ },
843
+ setup(c) {
844
+ const {
845
+ userProfile: m,
846
+ fetchUserProfile: g
847
+ } = O(), d = k("hidden"), n = k(!1);
848
+ let v;
849
+ const s = c;
850
+ function t(r) {
851
+ d.value = r;
852
+ }
853
+ async function _() {
854
+ const r = le.appId;
855
+ if (!r) {
856
+ console.error("GitHub OAuth 失败: appId 未配置");
857
+ return;
858
+ }
859
+ const {
860
+ data: i
861
+ } = await q.oauth.github.login.get({
862
+ appId: r
863
+ });
864
+ if (i) {
865
+ const {
866
+ redirectUri: p
867
+ } = i;
868
+ n.value = !0, window.open(p, "_blank");
869
+ }
870
+ }
871
+ async function f() {
872
+ const {
873
+ error: r
874
+ } = await q.users.unbind.email.post({});
875
+ r || (D.success("解绑成功"), d.value = "hidden", g());
876
+ }
877
+ function u() {
878
+ d.value === "bind" && (d.value = "hidden", _()), d.value === "unbind" && f();
879
+ }
880
+ function o() {
881
+ n.value && g();
882
+ }
883
+ return K(() => {
884
+ m.value || g(), v = setInterval(o, 1e3);
885
+ }), ee(() => {
886
+ v && clearInterval(v);
887
+ }), (r, i) => {
888
+ var p, U, I;
889
+ return b(), R(F, null, [!((p = e(m)) != null && p.github) && d.value === "hidden" ? (b(), w(e(E), {
890
+ key: 0,
891
+ title: "绑定GitHUb"
892
+ }, {
893
+ action: a(() => [l(e(C), {
894
+ size: s.size,
895
+ type: "primary",
896
+ onClick: i[0] || (i[0] = (A) => t("bind"))
897
+ }, {
898
+ default: a(() => [...i[2] || (i[2] = [z(" 绑定GitHUb ", -1)])]),
899
+ _: 1
900
+ }, 8, ["size"])]),
901
+ default: a(() => [i[3] || (i[3] = z(" 请尚未绑定GitHub,请点击绑定GitHUb ", -1))]),
902
+ _: 1
903
+ })) : $("", !0), (U = e(m)) != null && U.github && d.value === "hidden" ? (b(), w(e(E), {
904
+ key: 1,
905
+ title: "解绑GitHub"
906
+ }, {
907
+ action: a(() => [l(e(C), {
908
+ size: s.size,
909
+ type: "primary",
910
+ onClick: i[1] || (i[1] = (A) => t("unbind"))
911
+ }, {
912
+ default: a(() => [...i[4] || (i[4] = [z(" 解绑GitHUb ", -1)])]),
913
+ _: 1
914
+ }, 8, ["size"])]),
915
+ default: a(() => {
916
+ var A, L, H;
917
+ return [S("span", null, P(`您绑定的账号为 ${(L = (A = e(m)) == null ? void 0 : A.github) == null ? void 0 : L.login}`), 1), l(e(ae), {
918
+ "image-url": (H = e(m)) == null ? void 0 : H.avatar,
919
+ size: 42
920
+ }, null, 8, ["image-url"])];
921
+ }),
922
+ _: 1
923
+ })) : $("", !0), d.value === "bind" || d.value === "unbind" ? (b(), w(X, {
924
+ key: 2,
925
+ size: s.size,
926
+ email: (I = e(m)) == null ? void 0 : I.email,
927
+ onNext: u
928
+ }, null, 8, ["size", "email"])) : $("", !0)], 64);
929
+ };
930
+ }
931
+ }), Ke = {
932
+ class: "dependency-list"
933
+ }, Oe = {
934
+ class: "label"
935
+ }, We = {
936
+ class: "count"
937
+ }, Ze = {
938
+ class: "action-bar"
939
+ }, Je = /* @__PURE__ */ B({
940
+ __name: "AuthkitAccountDelete",
941
+ props: {
942
+ size: {
943
+ type: String,
944
+ required: !0
945
+ }
946
+ },
947
+ emits: ["deleted"],
948
+ setup(c, {
949
+ emit: m
950
+ }) {
951
+ const g = c, d = m, {
952
+ userProfile: n,
953
+ clearUserProfile: v
954
+ } = O(), {
955
+ clearAuth: s
956
+ } = ze(), t = k("check"), _ = k(!1), f = k([]), u = k(!1), o = k(""), r = k(0);
957
+ let i = null;
958
+ const p = G(() => {
959
+ var Y;
960
+ const x = ((Y = n.value) == null ? void 0 : Y.email) || "";
961
+ if (!x) return "";
962
+ const [y, h] = x.split("@");
963
+ return y.length <= 2 ? x : `${y.slice(0, 2)}***@${h}`;
964
+ }), U = k(), I = k({
965
+ userToken: "",
966
+ password: "",
967
+ confirmText: ""
968
+ }), A = k(!1);
969
+ function L(x, y) {
970
+ x !== "注销" ? y('请输入"注销"以确认操作') : y();
971
+ }
972
+ async function H() {
973
+ var x;
974
+ if (_.value = !0, _.value = !1, !((x = n.value) != null && x.email)) {
975
+ D.error("账号未绑定邮箱,无法进行注销验证。请先绑定邮箱");
976
+ return;
977
+ }
978
+ t.value = "sendCode";
979
+ }
980
+ async function j() {
981
+ var y;
982
+ if (!((y = n.value) != null && y.email)) {
983
+ D.error("请先绑定邮箱");
984
+ return;
985
+ }
986
+ u.value = !0;
987
+ const {
988
+ data: x
989
+ } = await q.verify.email.retry.post({
990
+ email: n.value.email
991
+ });
992
+ u.value = !1, x && (o.value = x.emailVerifyId, D.success("验证码已发送"), t.value = "confirm", W());
993
+ }
994
+ function W() {
995
+ r.value = 60, i && clearInterval(i), i = setInterval(() => {
996
+ r.value--, r.value <= 0 && i && (clearInterval(i), i = null);
997
+ }, 1e3);
998
+ }
999
+ async function Z() {
1000
+ var h;
1001
+ if (await ((h = U.value) == null ? void 0 : h.validate())) return;
1002
+ A.value = !0;
1003
+ const {
1004
+ error: y
1005
+ } = await q.users.deleteAccount.post({
1006
+ password: I.value.password,
1007
+ userToken: I.value.userToken,
1008
+ emailVerifyId: o.value,
1009
+ confirmText: I.value.confirmText
1010
+ });
1011
+ A.value = !1, y || (t.value = "success", v(), s(), d("deleted"));
1012
+ }
1013
+ function se() {
1014
+ window.location.href = "/";
1015
+ }
1016
+ return (x, y) => t.value === "check" ? (b(), w(e(E), {
1017
+ key: 0,
1018
+ type: "warning",
1019
+ title: "注销账号"
1020
+ }, {
1021
+ action: a(() => [l(e(C), {
1022
+ size: g.size,
1023
+ type: "primary",
1024
+ status: "danger",
1025
+ loading: _.value,
1026
+ onClick: H
1027
+ }, {
1028
+ default: a(() => [z(P(_.value ? "检查中..." : "开始注销"), 1)]),
1029
+ _: 1
1030
+ }, 8, ["size", "loading"])]),
1031
+ default: a(() => [y[6] || (y[6] = z(" 注销账号后,您的所有数据将被永久删除,无法恢复。请确认您已备份重要数据。 ", -1))]),
1032
+ _: 1
1033
+ })) : t.value === "dependencies" ? (b(), R(F, {
1034
+ key: 1
1035
+ }, [l(e(E), {
1036
+ type: "error",
1037
+ title: "无法注销账号"
1038
+ }, {
1039
+ default: a(() => [...y[7] || (y[7] = [z(" 您的账号下还有以下资源,请先处理后再注销: ", -1)])]),
1040
+ _: 1
1041
+ }), S("div", Ke, [(b(!0), R(F, null, de(f.value, (h) => (b(), R("div", {
1042
+ key: h.type,
1043
+ class: "dependency-item"
1044
+ }, [S("span", Oe, P(h.label), 1), S("span", We, P(h.count) + " 个", 1)]))), 128))]), S("div", Ze, [l(e(C), {
1045
+ size: g.size,
1046
+ onClick: y[0] || (y[0] = (h) => t.value = "check")
1047
+ }, {
1048
+ default: a(() => [...y[8] || (y[8] = [z("返回", -1)])]),
1049
+ _: 1
1050
+ }, 8, ["size"])])], 64)) : t.value === "sendCode" ? (b(), w(e(E), {
1051
+ key: 2,
1052
+ type: "normal",
1053
+ title: "身份验证"
1054
+ }, {
1055
+ action: a(() => [l(e(J), null, {
1056
+ default: a(() => [l(e(C), {
1057
+ size: g.size,
1058
+ onClick: y[1] || (y[1] = (h) => t.value = "check")
1059
+ }, {
1060
+ default: a(() => [...y[9] || (y[9] = [z("取消", -1)])]),
1061
+ _: 1
1062
+ }, 8, ["size"]), l(e(C), {
1063
+ size: g.size,
1064
+ type: "primary",
1065
+ loading: u.value,
1066
+ onClick: j
1067
+ }, {
1068
+ default: a(() => [z(P(u.value ? "发送中..." : "发送验证码"), 1)]),
1069
+ _: 1
1070
+ }, 8, ["size", "loading"])]),
1071
+ _: 1
1072
+ })]),
1073
+ default: a(() => [z(" 为确保账号安全,我们将向您的邮箱 " + P(p.value) + " 发送验证码 ", 1)]),
1074
+ _: 1
1075
+ })) : t.value === "confirm" ? (b(), R(F, {
1076
+ key: 3
1077
+ }, [l(e(E), {
1078
+ type: "warning",
1079
+ title: "确认注销"
1080
+ }, {
1081
+ default: a(() => [z(" 验证码已发送至 " + P(p.value) + ",此操作不可逆,请谨慎操作 ", 1)]),
1082
+ _: 1
1083
+ }), l(e(M), {
1084
+ ref_key: "formRef",
1085
+ ref: U,
1086
+ model: I.value,
1087
+ size: g.size,
1088
+ class: "confirm-form",
1089
+ layout: "vertical"
1090
+ }, {
1091
+ default: a(() => [l(e(V), {
1092
+ field: "userToken",
1093
+ label: "邮箱验证码",
1094
+ rules: [{
1095
+ required: !0,
1096
+ message: "请输入验证码"
1097
+ }]
1098
+ }, {
1099
+ default: a(() => [l(e(J), null, {
1100
+ default: a(() => [l(e(T), {
1101
+ modelValue: I.value.userToken,
1102
+ "onUpdate:modelValue": y[2] || (y[2] = (h) => I.value.userToken = h),
1103
+ placeholder: "请输入6位验证码",
1104
+ "max-length": 6,
1105
+ "allow-clear": "",
1106
+ style: {
1107
+ width: "180px"
1108
+ }
1109
+ }, null, 8, ["modelValue"]), l(e(C), {
1110
+ disabled: r.value > 0,
1111
+ loading: u.value,
1112
+ onClick: j
1113
+ }, {
1114
+ default: a(() => [z(P(r.value > 0 ? `${r.value}s 后重发` : "重新发送"), 1)]),
1115
+ _: 1
1116
+ }, 8, ["disabled", "loading"])]),
1117
+ _: 1
1118
+ })]),
1119
+ _: 1
1120
+ }), l(e(V), {
1121
+ field: "password",
1122
+ label: "登录密码",
1123
+ rules: [{
1124
+ required: !0,
1125
+ message: "请输入密码"
1126
+ }]
1127
+ }, {
1128
+ default: a(() => [l(e(pe), {
1129
+ modelValue: I.value.password,
1130
+ "onUpdate:modelValue": y[3] || (y[3] = (h) => I.value.password = h),
1131
+ placeholder: "请输入您的登录密码",
1132
+ "allow-clear": ""
1133
+ }, null, 8, ["modelValue"])]),
1134
+ _: 1
1135
+ }), l(e(V), {
1136
+ field: "confirmText",
1137
+ label: "请输入「注销」以确认",
1138
+ rules: [{
1139
+ required: !0,
1140
+ message: "请输入确认文字"
1141
+ }, {
1142
+ validator: L
1143
+ }]
1144
+ }, {
1145
+ default: a(() => [l(e(T), {
1146
+ modelValue: I.value.confirmText,
1147
+ "onUpdate:modelValue": y[4] || (y[4] = (h) => I.value.confirmText = h),
1148
+ placeholder: "注销",
1149
+ "allow-clear": ""
1150
+ }, null, 8, ["modelValue"])]),
1151
+ _: 1
1152
+ }, 8, ["rules"]), l(e(V), null, {
1153
+ default: a(() => [l(e(J), null, {
1154
+ default: a(() => [l(e(C), {
1155
+ onClick: y[5] || (y[5] = (h) => t.value = "check")
1156
+ }, {
1157
+ default: a(() => [...y[10] || (y[10] = [z("取消", -1)])]),
1158
+ _: 1
1159
+ }), l(e(C), {
1160
+ type: "primary",
1161
+ status: "danger",
1162
+ loading: A.value,
1163
+ onClick: Z
1164
+ }, {
1165
+ default: a(() => [z(P(A.value ? "注销中..." : "确认注销"), 1)]),
1166
+ _: 1
1167
+ }, 8, ["loading"])]),
1168
+ _: 1
1169
+ })]),
1170
+ _: 1
1171
+ })]),
1172
+ _: 1
1173
+ }, 8, ["model", "size"])], 64)) : t.value === "success" ? (b(), w(e(ce), {
1174
+ key: 4,
1175
+ status: "success",
1176
+ title: "账号已注销"
1177
+ }, {
1178
+ subtitle: a(() => [...y[11] || (y[11] = [z(" 您的账号已成功注销,感谢您的使用 ", -1)])]),
1179
+ extra: a(() => [l(e(C), {
1180
+ type: "primary",
1181
+ onClick: se
1182
+ }, {
1183
+ default: a(() => [...y[12] || (y[12] = [z("返回首页", -1)])]),
1184
+ _: 1
1185
+ })]),
1186
+ _: 1
1187
+ })) : $("", !0);
1188
+ }
1189
+ }), Qe = /* @__PURE__ */ N(Je, [["__scopeId", "data-v-f68a27be"]]), Xe = {
1190
+ class: "content"
1191
+ }, Ye = {
1192
+ class: "left"
1193
+ }, ea = {
1194
+ class: "right"
1195
+ }, aa = /* @__PURE__ */ B({
1196
+ __name: "AuthkitAppSetting",
1197
+ emits: ["confirm", "cancel"],
1198
+ setup(c, {
1199
+ expose: m,
1200
+ emit: g
1201
+ }) {
1202
+ const d = g;
1203
+ function n() {
1204
+ d("cancel");
1205
+ }
1206
+ function v() {
1207
+ o.value = !1, d("cancel");
1208
+ }
1209
+ const s = k("large"), t = k(["PersonalInformation"]), _ = k([{
1210
+ name: "个人信息",
1211
+ path: "PersonalInformation",
1212
+ meta: {
1213
+ icon: "mingcute:user-edit-fill"
1214
+ },
1215
+ children: []
1216
+ }, {
1217
+ name: "账户管理",
1218
+ path: "AccountManage",
1219
+ meta: {
1220
+ icon: "mingcute:badge-fill"
1221
+ },
1222
+ children: [{
1223
+ name: "邮箱",
1224
+ path: "EmailBinding",
1225
+ meta: {
1226
+ icon: "ic:baseline-email"
1227
+ }
1228
+ }, {
1229
+ name: "密码",
1230
+ path: "SetPassword",
1231
+ meta: {
1232
+ icon: "mdi:password"
1233
+ }
1234
+ }, {
1235
+ name: "注销账号",
1236
+ path: "AccountDelete",
1237
+ meta: {
1238
+ icon: "mdi:account-remove"
1239
+ }
1240
+ }]
1241
+ }, {
1242
+ name: "第三方账户",
1243
+ path: "AccountBinding",
1244
+ meta: {
1245
+ icon: "mingcute:link-fill"
1246
+ },
1247
+ children: [
1248
+ {
1249
+ name: "GitHub",
1250
+ path: "GithubBinding",
1251
+ meta: {
1252
+ icon: "bi:github"
1253
+ }
1254
+ }
1255
+ // {
1256
+ // name: '微信',
1257
+ // icon: 'Menus/Space/Message/NoticeNotifications',
1258
+ // path: 'NoticeNotifications',
1259
+ // },
1260
+ ]
1261
+ }]);
1262
+ function f(i) {
1263
+ const p = i.path;
1264
+ t.value = [p];
1265
+ }
1266
+ const {
1267
+ changeType: u,
1268
+ show: o
1269
+ } = _e(d);
1270
+ function r(i, p) {
1271
+ o.value = p, u.value = "编辑";
1272
+ }
1273
+ return m({
1274
+ setData: r
1275
+ }), (i, p) => (b(), w(e(ve), {
1276
+ visible: e(o),
1277
+ "onUpdate:visible": p[1] || (p[1] = (U) => me(o) ? o.value = U : null),
1278
+ "unmount-on-close": "",
1279
+ "body-class": "AppSettingbodyClass",
1280
+ "mask-closable": !1,
1281
+ footer: !1,
1282
+ width: "700px",
1283
+ onCancel: n
1284
+ }, {
1285
+ title: a(() => [...p[2] || (p[2] = [z(" 系统设置 ", -1)])]),
1286
+ default: a(() => [S("div", Xe, [S("div", Ye, [l(we, {
1287
+ "selected-keys": t.value,
1288
+ "onUpdate:selectedKeys": p[0] || (p[0] = (U) => t.value = U),
1289
+ menus: _.value,
1290
+ onChange: f
1291
+ }, null, 8, ["selected-keys", "menus"])]), S("div", ea, [t.value[0] === "PersonalInformation" ? (b(), w(Ue, {
1292
+ key: 0,
1293
+ size: s.value
1294
+ }, null, 8, ["size"])) : $("", !0), t.value[0] === "EmailBinding" ? (b(), w(Me, {
1295
+ key: 1,
1296
+ size: s.value
1297
+ }, null, 8, ["size"])) : $("", !0), t.value[0] === "SetPassword" ? (b(), w(Re, {
1298
+ key: 2,
1299
+ size: s.value
1300
+ }, null, 8, ["size"])) : $("", !0), t.value[0] === "GithubBinding" ? (b(), w(je, {
1301
+ key: 3,
1302
+ size: s.value
1303
+ }, null, 8, ["size"])) : $("", !0), t.value[0] === "AccountDelete" ? (b(), w(Qe, {
1304
+ key: 4,
1305
+ size: s.value,
1306
+ onDeleted: v
1307
+ }, null, 8, ["size"])) : $("", !0)])])]),
1308
+ _: 1
1309
+ }, 8, ["visible"]));
1310
+ }
1311
+ }), ya = /* @__PURE__ */ N(aa, [["__scopeId", "data-v-377febbb"]]);
1312
+ export {
1313
+ ya as A,
1314
+ Me as E,
1315
+ Ee as P,
1316
+ ie as S,
1317
+ je as _,
1318
+ Ge as a,
1319
+ X as b,
1320
+ Ue as c,
1321
+ Re as d
1322
+ };