@huyooo/ui 0.4.71 → 0.4.73

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 (41) hide show
  1. package/dist/{AuthkitAppSetting-CX3_9Jcg.js → AuthkitAuthModal-hVSE1o31.js} +1441 -1439
  2. package/dist/{AuthkitAuthorize-CA0jmnjq.js → AuthkitAuthorize-CcuxKyfx.js} +1 -1
  3. package/dist/{FeedbackItem-C5WqFEqH.js → FeedbackItem-BCMwNxsb.js} +1 -1
  4. package/dist/{FeedbackModal-BDPw2tu7.js → FeedbackModal-CmGPYo4h.js} +3 -2
  5. package/dist/{MessageHandle-BelPivb3.js → MessageHandle-DkNum5-u.js} +3 -2
  6. package/dist/{ReferrerReferees-BVj9o5kG.js → ReferrerReferees-BFMQJqqj.js} +1 -1
  7. package/dist/UserAccountMenu-CI6Yvfwe.js +610 -0
  8. package/dist/authkit.js +3 -3
  9. package/dist/common.d.ts +0 -14
  10. package/dist/common.js +13 -37
  11. package/dist/components/Authkit/Auth/AuthkitAuthorize.vue.d.ts +2 -2
  12. package/dist/components/Authkit/Auth/AuthkitOAuthItem.vue.d.ts +1 -1
  13. package/dist/components/Authkit/Auth/AuthkitOAuthList.vue.d.ts +1 -1
  14. package/dist/components/Authkit/Auth/AuthkitPasswordUpdateAndVerify.vue.d.ts +2 -2
  15. package/dist/components/Authkit/AuthkitAppSetting.vue.d.ts +2 -2
  16. package/dist/components/Authkit/AuthkitAuthModal.vue.d.ts +4 -4
  17. package/dist/components/Feedback/FeedbackBubbleEnd.vue.d.ts +1 -1
  18. package/dist/components/Feedback/FeedbackBubbleStart.vue.d.ts +1 -1
  19. package/dist/components/Feedback/FeedbackModal.vue.d.ts +2 -2
  20. package/dist/components/Gradientbackground.vue.d.ts +1 -1
  21. package/dist/components/Message/MessageAppMessage.vue.d.ts +2 -2
  22. package/dist/components/Message/MessageHandle.vue.d.ts +3 -3
  23. package/dist/components/Pay/PaySubscriptions.vue.d.ts +2 -2
  24. package/dist/components/User/UserBasicInformation.vue.d.ts +2 -2
  25. package/dist/components/User/UserPanel.vue.d.ts +18 -18
  26. package/dist/composables.d.ts +3 -2
  27. package/dist/composables.js +70 -19
  28. package/dist/feedback.js +2 -2
  29. package/dist/index.js +137 -151
  30. package/dist/main.d.ts +0 -4
  31. package/dist/message.js +1 -1
  32. package/dist/pay.js +1 -1
  33. package/dist/referrer.js +1 -1
  34. package/dist/style.css +1 -1
  35. package/dist/{useAuthkitUsersProfile-DNOB_Kuk.js → useAuthkitUsersProfile-CRLJnYMy.js} +62 -62
  36. package/dist/user.js +6 -7
  37. package/package.json +1 -1
  38. package/dist/UserAccountMenu-BD8F9vEK.js +0 -40
  39. package/dist/UserPanel-CaaTu1mu.js +0 -576
  40. package/dist/useActiveDoc-BWHkOJhJ.js +0 -39
  41. /package/dist/{PaySubscriptions-BRWvLeed.js → PaySubscriptions-l6VlqvBy.js} +0 -0
@@ -1,657 +1,672 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { defineComponent as S, createBlock as y, openBlock as g, unref as e, withCtx as m, createElementVNode as b, toDisplayString as B, createVNode as l, computed as T, createElementBlock as P, createCommentVNode as k, createTextVNode as z, ref as h, onMounted as G, onUnmounted as te, withDirectives as ce, vShow as fe, useSlots as pe, renderSlot as ie, normalizeStyle as j, isRef as se, normalizeClass as ve, Fragment as W } from "vue";
5
- import { Button as U, Divider as ge, Form as O, FormItem as A, Input as V, Link as E, Modal as ne, Avatar as le, Textarea as _e, Message as N, Alert as L } from "@arco-design/web-vue";
6
- import { u as K, b as he, c as ee, d as ye, a as Z, e as be, f as we } from "./useAuthkitUsersProfile-DNOB_Kuk.js";
7
- import { U as J, u as ze } from "./useAuthkitAuthModal-hxivJw_U.js";
8
- /* empty css */
9
- import { Icon as ke } from "@iconify/vue";
10
- import { _ as I } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import { defineComponent as S, computed as T, createElementBlock as P, openBlock as g, normalizeStyle as j, normalizeClass as ce, createElementVNode as b, ref as h, createBlock as y, unref as e, withCtx as m, createVNode as l, createTextVNode as z, onMounted as G, onUnmounted as te, withDirectives as fe, toDisplayString as B, vShow as pe, Fragment as W, createCommentVNode as k, isRef as ie, useSlots as ve, renderSlot as se } from "vue";
5
+ import { Form as O, FormItem as A, Avatar as ne, Input as V, Textarea as ge, Button as U, Message as E, Alert as L, Modal as le, Divider as _e, Link as N } from "@arco-design/web-vue";
11
6
  /* empty css */
12
7
  /* empty css */
13
8
  /* empty css */
14
- import { u as Se } from "./useUploadCos-B5P_PDcy.js";
9
+ import { u as he } from "./useUploadCos-B5P_PDcy.js";
10
+ import { b as ye, c as ee, d as be, a as K, e as we, f as ze, u as Z } from "./useAuthkitUsersProfile-CRLJnYMy.js";
15
11
  import { g as F } from "./globalConfig-DZIhLe1R.js";
16
- import { _ as Ae, g as Ie, i as Pe } from "./plugin-vue_export-helper-LjDO2Zua.js";
12
+ import { _ as ke, g as Se, i as Ae } from "./plugin-vue_export-helper-LjDO2Zua.js";
13
+ import { _ as I } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
+ import { M as Ie } from "./Menu-Cxo8Rpu3.js";
15
+ import { u as Pe } from "./useAuthkitCreateAndUpdate-BpPW409v.js";
16
+ import { U as J, u as Ve } from "./useAuthkitAuthModal-hxivJw_U.js";
17
+ /* empty css */
17
18
  import { api as H } from "@huyooo/api";
18
- import { M as Ve } from "./Menu-Cxo8Rpu3.js";
19
- import { u as Ue } from "./useAuthkitCreateAndUpdate-BpPW409v.js";
20
- function ae() {
21
- return H({
22
- url: `${F.authPrefixUrl}/restfulApi/OAuth/github/login`,
23
- method: "get"
24
- });
25
- }
26
- function $e() {
27
- ae().then(({
28
- data: i
29
- }) => {
30
- const {
31
- redirectUri: n
32
- } = i;
33
- n ? window.location.href = n : console.error("GitHub OAuth 重定向URL为空");
34
- }).catch((i) => {
35
- console.error("GitHub OAuth 授权失败:", i);
36
- });
37
- }
38
- function Ce() {
39
- }
40
- function xe() {
41
- }
42
- function qe() {
43
- return {
44
- githubAuth: $e,
45
- googleAuth: Ce,
46
- microsoftAuth: xe
47
- };
48
- }
49
- const M = /* @__PURE__ */ S({
50
- __name: "AuthkitOAuthItem",
19
+ import { Icon as Ue } from "@iconify/vue";
20
+ const $e = S({
21
+ name: "IconCamera",
51
22
  props: {
52
23
  size: {
53
- type: String,
54
- required: !0
24
+ type: [Number, String]
55
25
  },
56
- icon: {
57
- type: String,
58
- required: !0,
59
- default: () => ""
26
+ strokeWidth: {
27
+ type: Number,
28
+ default: 4
60
29
  },
61
- label: {
62
- type: String,
63
- required: !0,
64
- default: () => ""
65
- }
66
- },
67
- emits: [],
68
- setup(i, {
69
- emit: n
70
- }) {
71
- const u = i;
72
- return (s, a) => (g(), y(e(U), {
73
- class: "OAuthItem",
74
- type: "primary",
75
- size: u.size
76
- }, {
77
- icon: m(() => [l(e(ke), {
78
- icon: u.icon
79
- }, null, 8, ["icon"])]),
80
- default: m(() => [b("span", null, B(u.label), 1)]),
81
- _: 1
82
- }, 8, ["size"]));
83
- }
84
- }), Re = {
85
- class: "OAuthList"
86
- }, Te = {
87
- class: "OAuthList"
88
- }, Le = /* @__PURE__ */ S({
89
- __name: "AuthkitOAuthList",
90
- props: {
91
- size: {
30
+ strokeLinecap: {
92
31
  type: String,
93
- default: () => "large"
32
+ default: "butt",
33
+ validator: (i) => ["butt", "round", "square"].includes(i)
94
34
  },
95
- appId: {
96
- type: String,
97
- default: () => ""
98
- }
99
- },
100
- setup(i) {
101
- const {
102
- appsData: n
103
- } = J(), u = i, {
104
- githubAuth: s,
105
- googleAuth: a,
106
- microsoftAuth: o
107
- } = qe(), t = T(() => !(!n.value.oauth.google.enabled && !n.value.oauth.microsoft.enabled && !n.value.oauth.github.enabled && !n.value.oauth.wechat.enabled));
108
- return (r, _) => (g(), P("div", Re, [t.value ? (g(), y(e(ge), {
109
- key: 0,
110
- orientation: "center"
111
- }, {
112
- default: m(() => _[0] || (_[0] = [z("OAuth登陆")])),
113
- _: 1,
114
- __: [0]
115
- })) : k("", !0), b("div", Te, [e(n).oauth.github.enabled ? (g(), y(M, {
116
- key: 0,
117
- icon: "mdi:github",
118
- label: "Github",
119
- size: u.size,
120
- onClick: e(s)
121
- }, null, 8, ["size", "onClick"])) : k("", !0), e(n).oauth.google.enabled ? (g(), y(M, {
122
- key: 1,
123
- icon: "mdi:google",
124
- label: "Google",
125
- size: u.size,
126
- onClick: e(a)
127
- }, null, 8, ["size", "onClick"])) : k("", !0), e(n).oauth.microsoft.enabled ? (g(), y(M, {
128
- key: 2,
129
- icon: "mdi:microsoft",
130
- label: "Microsoft",
131
- size: u.size,
132
- onClick: e(o)
133
- }, null, 8, ["size", "onClick"])) : k("", !0)])]));
134
- }
135
- }), Be = /* @__PURE__ */ I(Le, [["__scopeId", "data-v-7c6620c0"]]);
136
- function Oe(i) {
137
- return H({
138
- url: `${F.authPrefixUrl}/restfulApi/verify/email`,
139
- method: "post",
140
- data: i
141
- });
142
- }
143
- function Q(i) {
144
- return H({
145
- url: `${F.authPrefixUrl}/restfulApi/verify/email/retry`,
146
- method: "post",
147
- data: i
148
- });
149
- }
150
- function Ee(i) {
151
- return H({
152
- url: `${F.authPrefixUrl}/restfulApi/verify/password`,
153
- method: "post",
154
- data: i
155
- });
156
- }
157
- const Ne = /* @__PURE__ */ S({
158
- __name: "AuthkitSendVerifyCode",
159
- props: {
160
- size: {
35
+ strokeLinejoin: {
161
36
  type: String,
162
- required: !0
37
+ default: "miter",
38
+ validator: (i) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(i)
163
39
  },
164
- loading: {
165
- type: Boolean,
166
- required: !0,
167
- default: () => !1
168
- }
40
+ rotate: Number,
41
+ spin: Boolean
42
+ },
43
+ emits: {
44
+ click: (i) => !0
169
45
  },
170
- emits: ["send"],
171
46
  setup(i, {
172
- expose: n,
173
- emit: u
47
+ emit: n
174
48
  }) {
175
- const s = u, a = i, o = h(!1);
176
- let t;
177
- const r = h(0), _ = T(() => r.value.toString().padStart(2, "0")), f = T(() => r.value > 0), p = () => {
178
- o.value && (r.value <= 0 ? (clearInterval(t), o.value = !1) : r.value--);
49
+ const u = Se("icon"), s = T(() => [u, `${u}-camera`, {
50
+ [`${u}-spin`]: i.spin
51
+ }]), a = T(() => {
52
+ const t = {};
53
+ return i.size && (t.fontSize = Ae(i.size) ? `${i.size}px` : i.size), i.rotate && (t.transform = `rotate(${i.rotate}deg)`), t;
54
+ });
55
+ return {
56
+ cls: s,
57
+ innerStyle: a,
58
+ onClick: (t) => {
59
+ n("click", t);
60
+ }
179
61
  };
180
- function d() {
181
- s("send");
182
- }
183
- function c() {
184
- r.value = 60, o.value = !0, t && clearInterval(t), t = setInterval(p, 1e3);
185
- }
186
- return G(() => {
187
- }), n({
188
- startCountFn: c
189
- }), te(() => {
190
- t && clearInterval(t);
191
- }), (v, w) => (g(), y(e(U), {
192
- class: "OAuthItem",
193
- type: "primary",
194
- size: a.size,
195
- disabled: f.value,
196
- loading: a.loading,
197
- onClick: d
198
- }, {
199
- default: m(() => [w[0] || (w[0] = b("span", null, " 发送验证码", -1)), ce(b("span", {
200
- class: "verify-code-timer"
201
- }, B(`(${_.value})`), 513), [[fe, f.value]])]),
202
- _: 1,
203
- __: [0]
204
- }, 8, ["size", "disabled", "loading"]));
205
62
  }
206
- }), X = /* @__PURE__ */ I(Ne, [["__scopeId", "data-v-2883dc6d"]]), Fe = {
207
- class: "content"
208
- }, Ge = {
209
- class: "sendVerifyCodeItem"
210
- }, He = {
63
+ }), Ce = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
64
+ function xe(i, n, u, s, a, o) {
65
+ return g(), P("svg", {
66
+ viewBox: "0 0 48 48",
67
+ fill: "none",
68
+ xmlns: "http://www.w3.org/2000/svg",
69
+ stroke: "currentColor",
70
+ class: ce(i.cls),
71
+ style: j(i.innerStyle),
72
+ "stroke-width": i.strokeWidth,
73
+ "stroke-linecap": i.strokeLinecap,
74
+ "stroke-linejoin": i.strokeLinejoin,
75
+ onClick: n[0] || (n[0] = (...t) => i.onClick && i.onClick(...t))
76
+ }, n[1] || (n[1] = [b("path", {
77
+ 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"
78
+ }, null, -1)]), 14, Ce);
79
+ }
80
+ var M = /* @__PURE__ */ ke($e, [["render", xe]]);
81
+ const qe = Object.assign(M, {
82
+ install: (i, n) => {
83
+ var u;
84
+ const s = (u = n == null ? void 0 : n.iconPrefix) != null ? u : "";
85
+ i.component(s + M.name, M);
86
+ }
87
+ }), Re = {
211
88
  class: "handle"
212
- }, Me = /* @__PURE__ */ S({
213
- __name: "AuthkitPasswordUpdateAndVerify",
89
+ }, Te = /* @__PURE__ */ S({
90
+ __name: "AuthkitPersonalInformation",
214
91
  props: {
215
92
  size: {
216
93
  type: String,
217
94
  required: !0
218
- },
219
- loading: {
220
- type: Boolean,
221
- required: !0,
222
- default: () => !0
223
95
  }
224
96
  },
225
- emits: ["signIn", "submit"],
97
+ emits: ["submit"],
226
98
  setup(i, {
227
99
  emit: n
228
100
  }) {
229
- const u = n, s = i, a = h(), o = h(!1), t = h(), r = h({
230
- email: void 0,
231
- userToken: void 0,
232
- emailVerifyId: void 0,
233
- password: void 0,
234
- confirmPassword: void 0
235
- });
236
- async function _() {
237
- t.value.validateField(["email"]).then((p) => {
238
- p || (o.value = !0, Q({
239
- email: r.value.email
240
- }).then(({
241
- data: d
242
- }) => {
243
- o.value = !1, r.value.emailVerifyId = d.emailVerifyId, a.value.startCountFn();
244
- }).catch(() => {
245
- o.value = !1;
246
- }));
247
- });
248
- }
249
- async function f() {
250
- t.value.validate().then((p) => {
251
- p || u("submit", r.value);
101
+ const u = n, s = i, a = h({
102
+ id: void 0,
103
+ nickname: "",
104
+ description: "",
105
+ avatar: "",
106
+ avatarUrl: ""
107
+ }), o = h(!1), t = h(), r = h(!1);
108
+ function _() {
109
+ r.value = !0, ye().then(({
110
+ data: d
111
+ }) => {
112
+ r.value = !1, a.value.id = d.id, a.value.nickname = d.nickname, a.value.description = d.description, a.value.avatar = d.avatar, a.value.avatarUrl = d.avatarUrl;
113
+ }).catch(() => {
114
+ r.value = !1;
252
115
  });
253
116
  }
254
- return (p, d) => (g(), P("div", Fe, [l(e(O), {
255
- ref_key: "formRef",
256
- ref: t,
257
- model: r.value,
258
- size: s.size,
259
- "auto-label-width": ""
260
- }, {
261
- default: m(() => [l(e(A), {
262
- field: "email",
263
- label: "邮箱",
264
- "hide-label": "",
265
- rules: [{
266
- required: !0,
267
- message: "请输入邮箱"
268
- }, {
269
- type: "email",
270
- message: "请输入有效的邮箱"
271
- }]
272
- }, {
273
- default: m(() => [l(e(V), {
274
- modelValue: r.value.email,
275
- "onUpdate:modelValue": d[0] || (d[0] = (c) => r.value.email = c),
276
- placeholder: "请输入邮箱"
277
- }, null, 8, ["modelValue"])]),
278
- _: 1
279
- }), l(e(A), {
280
- field: "userToken",
281
- label: "验证码",
282
- "hide-label": "",
117
+ function f() {
118
+ t.value.validate().then((d) => {
119
+ if (!d) {
120
+ r.value = !0;
121
+ const c = {
122
+ id: a.value.id,
123
+ nickname: a.value.nickname,
124
+ description: a.value.description,
125
+ avatar: a.value.avatar
126
+ };
127
+ ee(c).then(({
128
+ data: v
129
+ }) => {
130
+ r.value = !1, E.success("更新成功"), a.value.avatarUrl = v.avatarUrl, u("submit");
131
+ }).catch(() => {
132
+ r.value = !1;
133
+ });
134
+ }
135
+ });
136
+ }
137
+ _();
138
+ const p = () => {
139
+ const {
140
+ uploadFile: d
141
+ } = he(), c = document.createElement("input");
142
+ c.type = "file", c.accept = "image/*", c.style.display = "none", document.body.append(c), c.addEventListener("change", async (v) => {
143
+ var q;
144
+ const $ = (q = v.target.files) == null ? void 0 : q[0];
145
+ if ($) {
146
+ o.value = !0;
147
+ try {
148
+ d({
149
+ bucketId: F.avatarBucketId,
150
+ file: $,
151
+ onFileFinish(R, C, x) {
152
+ o.value = !0;
153
+ const me = {
154
+ id: a.value.id,
155
+ nickname: a.value.nickname,
156
+ description: a.value.description,
157
+ avatar: x.Key
158
+ };
159
+ ee(me).then(() => {
160
+ o.value = !1, E.success("更新成功"), _(), u("submit");
161
+ }).catch(() => {
162
+ o.value = !1;
163
+ });
164
+ },
165
+ onError(R) {
166
+ console.error("上传图片失败"), o.value = !1;
167
+ }
168
+ });
169
+ } catch (R) {
170
+ console.error("上传图片失败", R), o.value = !1;
171
+ }
172
+ }
173
+ c.remove();
174
+ }), c.click();
175
+ };
176
+ return (d, c) => (g(), y(e(O), {
177
+ ref_key: "formRef",
178
+ ref: t,
179
+ model: a.value,
180
+ "auto-label-width": "",
181
+ size: s.size
182
+ }, {
183
+ default: m(() => [l(e(A), {
184
+ field: "avatar",
185
+ label: "头像",
283
186
  rules: [{
284
- required: !0,
285
- message: "请输入验证码"
187
+ required: !1,
188
+ message: "请上传头像"
286
189
  }]
287
190
  }, {
288
- default: m(() => [b("div", Ge, [l(e(V), {
289
- modelValue: r.value.userToken,
290
- "onUpdate:modelValue": d[1] || (d[1] = (c) => r.value.userToken = c),
291
- placeholder: "请输入验证码"
292
- }, null, 8, ["modelValue"]), l(X, {
293
- ref_key: "SendVerifyCodeRef",
294
- ref: a,
295
- size: s.size,
296
- loading: o.value,
297
- style: {
298
- "margin-left": "10px"
191
+ default: m(() => [l(e(ne), {
192
+ "image-url": a.value.avatarUrl,
193
+ size: 42,
194
+ "trigger-icon-style": {
195
+ color: "#3491FA"
299
196
  },
300
- onSend: _
301
- }, null, 8, ["size", "loading"])])]),
197
+ onClick: p
198
+ }, {
199
+ "trigger-icon": m(() => [l(e(qe))]),
200
+ _: 1
201
+ }, 8, ["image-url"])]),
302
202
  _: 1
303
203
  }), l(e(A), {
304
- field: "password",
305
- label: "密码",
306
- "hide-label": "",
204
+ field: "nickname",
205
+ label: "昵称",
307
206
  rules: [{
308
- required: !0,
309
- message: "密码请输入"
310
- }, {
311
- minLength: 10,
312
- message: "密码不能少于10字符"
207
+ required: !1,
208
+ message: "请输入昵称"
313
209
  }]
314
210
  }, {
315
211
  default: m(() => [l(e(V), {
316
- modelValue: r.value.password,
317
- "onUpdate:modelValue": d[2] || (d[2] = (c) => r.value.password = c),
318
- placeholder: "请输入密码",
319
- type: "password",
320
- autocomplete: ""
212
+ modelValue: a.value.nickname,
213
+ "onUpdate:modelValue": c[0] || (c[0] = (v) => a.value.nickname = v),
214
+ placeholder: "请输入昵称"
321
215
  }, null, 8, ["modelValue"])]),
322
216
  _: 1
323
217
  }), l(e(A), {
324
- field: "confirmPassword",
325
- label: "确认密码",
326
- "hide-label": "",
218
+ field: "description",
219
+ label: "简介",
327
220
  rules: [{
328
- required: !0,
329
- message: "请输入确认密码"
330
- }, {
331
- minLength: 10,
332
- message: "确认密码不能少于10字符"
333
- }, {
334
- validator: (c, v) => {
335
- c !== r.value.password ? v("两次密码输入不一致,请重新输入") : v();
336
- }
221
+ required: !1,
222
+ message: "请输入描述"
337
223
  }]
338
224
  }, {
339
- default: m(() => [l(e(V), {
340
- modelValue: r.value.confirmPassword,
341
- "onUpdate:modelValue": d[3] || (d[3] = (c) => r.value.confirmPassword = c),
342
- placeholder: "请输入确认密码密码",
343
- type: "password",
344
- autocomplete: ""
225
+ default: m(() => [l(e(ge), {
226
+ modelValue: a.value.description,
227
+ "onUpdate:modelValue": c[1] || (c[1] = (v) => a.value.description = v),
228
+ placeholder: "请输入描述",
229
+ "allow-clear": "",
230
+ "auto-size": {
231
+ minRows: 5
232
+ }
345
233
  }, null, 8, ["modelValue"])]),
346
234
  _: 1
347
- }, 8, ["rules"]), b("div", He, [l(e(U), {
348
- type: "primary",
349
- loading: s.loading,
350
- long: "",
351
- size: s.size,
352
- onClick: f
235
+ }), l(e(A), {
236
+ field: "",
237
+ label: "",
238
+ rules: []
353
239
  }, {
354
- default: m(() => d[4] || (d[4] = [z(" 提交 ")])),
355
- _: 1,
356
- __: [4]
357
- }, 8, ["loading", "size"])])]),
240
+ default: m(() => [b("div", Re, [l(e(U), {
241
+ type: "primary",
242
+ loading: r.value,
243
+ onClick: f
244
+ }, {
245
+ default: m(() => c[2] || (c[2] = [z(" 提交 ")])),
246
+ _: 1,
247
+ __: [2]
248
+ }, 8, ["loading"])])]),
249
+ _: 1
250
+ })]),
358
251
  _: 1
359
- }, 8, ["model", "size"])]));
360
- }
361
- }), De = /* @__PURE__ */ I(Me, [["__scopeId", "data-v-1c83f44a"]]), je = {
362
- class: "SwitchSignIn"
363
- }, We = /* @__PURE__ */ S({
364
- __name: "AuthkitSwitchSignIn",
365
- emits: ["switchSignIn"],
366
- setup(i, {
367
- emit: n
368
- }) {
369
- const u = n;
370
- function s() {
371
- u("switchSignIn");
372
- }
373
- return (a, o) => (g(), P("div", je, [b("span", null, [o[1] || (o[1] = b("span", null, "已经有账号?", -1)), l(e(E), {
374
- style: {
375
- padding: "0px"
376
- },
377
- onClick: s
378
- }, {
379
- default: m(() => o[0] || (o[0] = [z("去登陆")])),
380
- _: 1,
381
- __: [0]
382
- })])]));
252
+ }, 8, ["model", "size"]));
383
253
  }
384
- }), oe = /* @__PURE__ */ I(We, [["__scopeId", "data-v-fc1d3903"]]), Ke = {
385
- class: "ResetPassword"
386
- }, Ze = /* @__PURE__ */ S({
387
- __name: "AuthkitResetPassword",
254
+ }), Le = /* @__PURE__ */ I(Te, [["__scopeId", "data-v-9f97445b"]]);
255
+ function Be(i) {
256
+ return H({
257
+ url: `${F.authPrefixUrl}/restfulApi/verify/email`,
258
+ method: "post",
259
+ data: i
260
+ });
261
+ }
262
+ function Q(i) {
263
+ return H({
264
+ url: `${F.authPrefixUrl}/restfulApi/verify/email/retry`,
265
+ method: "post",
266
+ data: i
267
+ });
268
+ }
269
+ function Oe(i) {
270
+ return H({
271
+ url: `${F.authPrefixUrl}/restfulApi/verify/password`,
272
+ method: "post",
273
+ data: i
274
+ });
275
+ }
276
+ const Ee = /* @__PURE__ */ S({
277
+ __name: "AuthkitSendVerifyCode",
388
278
  props: {
389
279
  size: {
390
280
  type: String,
391
- required: !0,
392
- default: () => "large"
281
+ required: !0
393
282
  },
394
283
  loading: {
395
284
  type: Boolean,
396
285
  required: !0,
397
- default: () => !0
286
+ default: () => !1
398
287
  }
399
288
  },
400
- emits: ["switchSignIn", "submit"],
289
+ emits: ["send"],
401
290
  setup(i, {
402
- emit: n
291
+ expose: n,
292
+ emit: u
403
293
  }) {
404
- const u = n, s = i;
405
- function a() {
406
- u("switchSignIn");
294
+ const s = u, a = i, o = h(!1);
295
+ let t;
296
+ const r = h(0), _ = T(() => r.value.toString().padStart(2, "0")), f = T(() => r.value > 0), p = () => {
297
+ o.value && (r.value <= 0 ? (clearInterval(t), o.value = !1) : r.value--);
298
+ };
299
+ function d() {
300
+ s("send");
407
301
  }
408
- async function o(t) {
409
- u("submit", t);
302
+ function c() {
303
+ r.value = 60, o.value = !0, t && clearInterval(t), t = setInterval(p, 1e3);
410
304
  }
411
- return (t, r) => (g(), P("div", Ke, [l(De, {
412
- loading: i.loading,
413
- size: s.size,
414
- onSubmit: o
415
- }, null, 8, ["loading", "size"]), l(oe, {
416
- onSwitchSignIn: a
417
- })]));
418
- }
419
- }), Je = /* @__PURE__ */ I(Ze, [["__scopeId", "data-v-0622cbe3"]]), Qe = {
420
- class: "ServiceAgreementAndPrivacyProtection"
421
- }, Xe = /* @__PURE__ */ S({
422
- __name: "AuthkitServiceAgreementAndPrivacyProtection",
423
- emits: ["toUserServiceAgreement", "toPrivacyPolicy"],
424
- setup(i, {
425
- emit: n
426
- }) {
427
- const u = n;
428
- function s() {
429
- u("toUserServiceAgreement");
430
- }
431
- function a() {
432
- u("toPrivacyPolicy");
433
- }
434
- return (o, t) => (g(), P("div", Qe, [t[2] || (t[2] = b("span", null, " 注册登陆即表示同意", -1)), l(e(E), {
435
- onClick: s
305
+ return G(() => {
306
+ }), n({
307
+ startCountFn: c
308
+ }), te(() => {
309
+ t && clearInterval(t);
310
+ }), (v, w) => (g(), y(e(U), {
311
+ class: "OAuthItem",
312
+ type: "primary",
313
+ size: a.size,
314
+ disabled: f.value,
315
+ loading: a.loading,
316
+ onClick: d
436
317
  }, {
437
- default: m(() => t[0] || (t[0] = [z("用户服务协议")])),
318
+ default: m(() => [w[0] || (w[0] = b("span", null, " 发送验证码", -1)), fe(b("span", {
319
+ class: "verify-code-timer"
320
+ }, B(`(${_.value})`), 513), [[pe, f.value]])]),
438
321
  _: 1,
439
322
  __: [0]
440
- }), t[3] || (t[3] = b("span", null, "", -1)), l(e(E), {
441
- onClick: a
442
- }, {
443
- default: m(() => t[1] || (t[1] = [z("隐私协议")])),
444
- _: 1,
445
- __: [1]
446
- })]));
323
+ }, 8, ["size", "disabled", "loading"]));
447
324
  }
448
- }), Ye = /* @__PURE__ */ I(Xe, [["__scopeId", "data-v-18e831ec"]]), et = {
449
- class: "content"
450
- }, tt = {
325
+ }), X = /* @__PURE__ */ I(Ee, [["__scopeId", "data-v-2883dc6d"]]);
326
+ function ae(i, n = 3) {
327
+ const u = i.indexOf("@");
328
+ if (u > 1) {
329
+ const s = i.slice(0, n), a = i.slice(u);
330
+ return s + "***" + a;
331
+ }
332
+ return i;
333
+ }
334
+ const Ne = {
335
+ class: "sendVerifyCodeItem"
336
+ }, Fe = {
451
337
  class: "handle"
452
- }, it = /* @__PURE__ */ S({
453
- __name: "AuthkitPasswordAuth",
338
+ }, Ge = /* @__PURE__ */ S({
339
+ __name: "AuthkitEmailVerify",
454
340
  props: {
341
+ email: {
342
+ type: String,
343
+ required: !0,
344
+ default: () => ""
345
+ },
455
346
  size: {
456
347
  type: String,
457
348
  required: !0
458
- },
459
- loading: {
460
- type: Boolean,
461
- required: !0,
462
- default: () => !0
463
349
  }
464
350
  },
465
- emits: ["submit"],
351
+ emits: ["next"],
466
352
  setup(i, {
467
353
  emit: n
468
354
  }) {
469
- const u = n, s = i;
470
- async function a(_, f) {
471
- const p = await Ee({
472
- password: _
355
+ const u = n, s = i, a = T(() => ae(s.email)), o = h(), t = h(!1), r = h(!1), _ = h(), f = h({
356
+ userToken: void 0,
357
+ emailVerifyId: void 0
358
+ });
359
+ async function p() {
360
+ t.value = !0, Q({
361
+ email: s.email
362
+ }).then(({
363
+ data: c
364
+ }) => {
365
+ f.value.emailVerifyId = c.emailVerifyId, t.value = !1, o.value.startCountFn();
366
+ }).catch(() => {
367
+ t.value = !1;
473
368
  });
474
- p || f("密码验证请求出错!");
475
- const {
476
- isValidate: d,
477
- message: c
478
- } = p.data;
479
- d || f(c), f();
480
369
  }
481
- const o = h(), t = h({
482
- email: void 0,
483
- password: void 0
484
- });
485
- async function r() {
486
- o.value.validate().then((_) => {
487
- _ || u("submit", t.value);
370
+ async function d() {
371
+ _.value.validate(["userToken"]).then((c) => {
372
+ if (!c) {
373
+ r.value = !0;
374
+ const v = {
375
+ email: s.email,
376
+ userToken: f.value.userToken,
377
+ emailVerifyId: f.value.emailVerifyId
378
+ };
379
+ Be(v).then(() => {
380
+ r.value = !1, u("next");
381
+ }).catch(() => {
382
+ r.value = !1;
383
+ });
384
+ }
488
385
  });
489
386
  }
490
- return (_, f) => (g(), P("div", et, [l(e(O), {
387
+ return (c, v) => (g(), y(e(O), {
491
388
  ref_key: "formRef",
492
- ref: o,
493
- model: t.value,
494
- size: s.size,
495
- "auto-label-width": ""
389
+ ref: _,
390
+ model: f.value,
391
+ "auto-label-width": "",
392
+ size: s.size
496
393
  }, {
497
394
  default: m(() => [l(e(A), {
498
395
  field: "email",
499
396
  label: "邮箱",
500
- "hide-label": "",
501
397
  rules: [{
502
- required: !0,
398
+ required: !1,
503
399
  message: "请输入邮箱"
504
400
  }, {
505
401
  type: "email",
506
402
  message: "请输入有效的邮箱"
507
403
  }]
508
404
  }, {
509
- default: m(() => [l(e(V), {
510
- modelValue: t.value.email,
511
- "onUpdate:modelValue": f[0] || (f[0] = (p) => t.value.email = p),
512
- placeholder: "请输入邮箱",
513
- autocomplete: "email username",
514
- type: "email"
515
- }, null, 8, ["modelValue"])]),
405
+ default: m(() => [z(B(a.value), 1)]),
516
406
  _: 1
517
407
  }), l(e(A), {
518
- field: "password",
519
- label: "密码",
408
+ field: "userToken",
409
+ label: "验证码",
520
410
  "hide-label": "",
521
411
  rules: [{
522
412
  required: !0,
523
- message: "请输入密码"
524
- }, {
525
- validator: a
413
+ message: "请输入验证码"
526
414
  }]
527
415
  }, {
528
- default: m(() => [l(e(V), {
529
- modelValue: t.value.password,
530
- "onUpdate:modelValue": f[1] || (f[1] = (p) => t.value.password = p),
531
- placeholder: "请输入密码",
532
- type: "password",
533
- autocomplete: "current-password"
534
- }, null, 8, ["modelValue"])]),
416
+ default: m(() => [b("div", Ne, [l(e(V), {
417
+ modelValue: f.value.userToken,
418
+ "onUpdate:modelValue": v[0] || (v[0] = (w) => f.value.userToken = w),
419
+ placeholder: "请输入验证码"
420
+ }, null, 8, ["modelValue"]), l(X, {
421
+ ref_key: "SendVerifyCodeRef",
422
+ ref: o,
423
+ size: s.size,
424
+ loading: t.value,
425
+ style: {
426
+ "margin-left": "10px"
427
+ },
428
+ onSend: p
429
+ }, null, 8, ["size", "loading"])])]),
535
430
  _: 1
536
- }, 8, ["rules"]), b("div", tt, [l(e(U), {
537
- type: "primary",
538
- loading: s.loading,
539
- long: "",
540
- size: s.size,
541
- onClick: r
431
+ }), l(e(A), {
432
+ field: "",
433
+ label: "",
434
+ rules: []
542
435
  }, {
543
- default: m(() => f[2] || (f[2] = [z(" 登陆 ")])),
544
- _: 1,
545
- __: [2]
546
- }, 8, ["loading", "size"])])]),
436
+ default: m(() => [b("div", Fe, [l(e(U), {
437
+ loading: r.value,
438
+ type: "primary",
439
+ onClick: d
440
+ }, {
441
+ default: m(() => v[1] || (v[1] = [z(" 提交 ")])),
442
+ _: 1,
443
+ __: [1]
444
+ }, 8, ["loading"])])]),
445
+ _: 1
446
+ })]),
547
447
  _: 1
548
- }, 8, ["model", "size"])]));
549
- }
550
- }), st = /* @__PURE__ */ I(it, [["__scopeId", "data-v-76d6bc26"]]), nt = {
551
- class: "SwitchSignUpOrResetPassword"
552
- }, lt = /* @__PURE__ */ S({
553
- __name: "AuthkitSwitchSignUpOrResetPassword",
554
- emits: ["switchSignUp", "switchResetPassword"],
555
- setup(i, {
556
- emit: n
557
- }) {
558
- const u = n;
559
- function s() {
560
- u("switchSignUp");
561
- }
562
- function a() {
563
- u("switchResetPassword");
564
- }
565
- return (o, t) => (g(), P("div", nt, [b("span", null, [t[1] || (t[1] = b("span", null, " 还没有账户?", -1)), l(e(E), {
566
- style: {
567
- padding: "0px"
568
- },
569
- onClick: s
570
- }, {
571
- default: m(() => t[0] || (t[0] = [z("去注册?")])),
572
- _: 1,
573
- __: [0]
574
- })]), l(e(E), {
575
- style: {
576
- padding: "0px"
577
- },
578
- onClick: a
579
- }, {
580
- default: m(() => t[2] || (t[2] = [z(" 忘记密码?")])),
581
- _: 1,
582
- __: [2]
583
- })]));
584
- }
585
- }), at = /* @__PURE__ */ I(lt, [["__scopeId", "data-v-14e3aab2"]]), ot = {
586
- class: "SignIn"
587
- }, rt = /* @__PURE__ */ S({
588
- __name: "AuthkitSignIn",
589
- props: {
590
- size: {
591
- type: String,
592
- required: !0
593
- },
594
- loading: {
595
- type: Boolean,
596
- required: !0,
597
- default: () => !0
598
- }
599
- },
600
- emits: ["submit", "switchSignUp", "switchResetPassword"],
601
- setup(i, {
602
- emit: n
603
- }) {
604
- const u = n, s = i, a = pe(), o = T(() => !!a.OAuth);
605
- function t() {
606
- u("switchSignUp");
607
- }
608
- function r() {
609
- u("switchResetPassword");
610
- }
611
- async function _(f) {
612
- u("submit", f);
613
- }
614
- return (f, p) => (g(), P("div", ot, [k("", !0), l(st, {
615
- loading: s.loading,
616
- size: s.size,
617
- onSubmit: _
618
- }, null, 8, ["loading", "size"]), o.value ? ie(f.$slots, "OAuth", {
619
- key: 1
620
- }, void 0, !0) : k("", !0), l(at, {
621
- onSwitchSignUp: t,
622
- onSwitchResetPassword: r
623
- })]));
448
+ }, 8, ["model", "size"]));
624
449
  }
625
- }), ut = /* @__PURE__ */ I(rt, [["__scopeId", "data-v-f52ce3b3"]]), dt = {
626
- class: "content"
627
- }, mt = {
628
- class: "sendVerifyCodeItem"
629
- }, ct = {
450
+ }), Y = /* @__PURE__ */ I(Ge, [["__scopeId", "data-v-89ebb370"]]), He = {
630
451
  class: "handle"
631
- }, ft = /* @__PURE__ */ S({
632
- __name: "AuthkitEmailUpdate",
452
+ }, Me = /* @__PURE__ */ S({
453
+ __name: "AuthkitPasswordUpdate",
633
454
  props: {
634
455
  size: {
635
456
  type: String,
636
457
  required: !0
637
- },
638
- loading: {
639
- type: Boolean,
640
- required: !0,
641
- default: () => !0
642
458
  }
643
459
  },
644
460
  emits: ["submit"],
645
461
  setup(i, {
646
462
  emit: n
647
463
  }) {
648
- const u = n, s = i, a = h(), o = h(!1), t = h(), r = h({
649
- email: void 0,
650
- userToken: void 0,
651
- emailVerifyId: void 0,
652
- password: void 0,
653
- confirmPassword: void 0,
654
- referrerId: void 0
464
+ const u = n, s = h(!1), a = h(), o = i, t = h({
465
+ oldPassword: "",
466
+ password: "",
467
+ confirmPassword: ""
468
+ });
469
+ async function r() {
470
+ a.value.validate().then((_) => {
471
+ if (!_) {
472
+ const f = {
473
+ password: t.value.password
474
+ };
475
+ be(f).then(() => {
476
+ s.value = !1, u("submit", f);
477
+ }).catch(() => {
478
+ s.value = !1;
479
+ });
480
+ }
481
+ });
482
+ }
483
+ return (_, f) => (g(), y(e(O), {
484
+ ref_key: "formRef",
485
+ ref: a,
486
+ model: t.value,
487
+ "auto-label-width": "",
488
+ size: o.size
489
+ }, {
490
+ default: m(() => [l(e(A), {
491
+ field: "oldPassword",
492
+ label: "当前密码",
493
+ "hide-label": "",
494
+ rules: [{
495
+ required: !0,
496
+ message: "请输入当前密码"
497
+ }]
498
+ }, {
499
+ default: m(() => [l(e(V), {
500
+ modelValue: t.value.oldPassword,
501
+ "onUpdate:modelValue": f[0] || (f[0] = (p) => t.value.oldPassword = p),
502
+ placeholder: "请输入当前密码",
503
+ type: "password"
504
+ }, null, 8, ["modelValue"])]),
505
+ _: 1
506
+ }), l(e(A), {
507
+ field: "password",
508
+ label: "新密码",
509
+ "hide-label": "",
510
+ rules: [{
511
+ required: !0,
512
+ message: "新密码请输入"
513
+ }, {
514
+ minLength: 10,
515
+ message: "新密码不能少于10字符"
516
+ }]
517
+ }, {
518
+ default: m(() => [l(e(V), {
519
+ modelValue: t.value.password,
520
+ "onUpdate:modelValue": f[1] || (f[1] = (p) => t.value.password = p),
521
+ placeholder: "请输入新密码",
522
+ type: "password"
523
+ }, null, 8, ["modelValue"])]),
524
+ _: 1
525
+ }), l(e(A), {
526
+ field: "confirmPassword",
527
+ label: "确认密码",
528
+ "hide-label": "",
529
+ rules: [{
530
+ required: !0,
531
+ message: "请输入确认密码"
532
+ }, {
533
+ minLength: 10,
534
+ message: "确认密码不能少于10字符"
535
+ }, {
536
+ validator: (p, d) => {
537
+ p !== t.value.password ? d("两次密码输入不一致,请重新输入") : d();
538
+ }
539
+ }]
540
+ }, {
541
+ default: m(() => [l(e(V), {
542
+ modelValue: t.value.confirmPassword,
543
+ "onUpdate:modelValue": f[2] || (f[2] = (p) => t.value.confirmPassword = p),
544
+ placeholder: "请输入确认密码密码",
545
+ type: "password"
546
+ }, null, 8, ["modelValue"])]),
547
+ _: 1
548
+ }, 8, ["rules"]), l(e(A), {
549
+ field: "",
550
+ label: "",
551
+ rules: []
552
+ }, {
553
+ default: m(() => [b("div", He, [l(e(U), {
554
+ type: "primary",
555
+ loading: s.value,
556
+ onClick: r
557
+ }, {
558
+ default: m(() => f[3] || (f[3] = [z(" 提交 ")])),
559
+ _: 1,
560
+ __: [3]
561
+ }, 8, ["loading"])])]),
562
+ _: 1
563
+ })]),
564
+ _: 1
565
+ }, 8, ["model", "size"]));
566
+ }
567
+ }), De = /* @__PURE__ */ I(Me, [["__scopeId", "data-v-a9e25b03"]]), je = /* @__PURE__ */ S({
568
+ __name: "AuthkitSetPassword",
569
+ props: {
570
+ size: {
571
+ type: String,
572
+ required: !0
573
+ }
574
+ },
575
+ setup(i) {
576
+ const {
577
+ userProfile: n,
578
+ loading: u,
579
+ fetchUserProfile: s,
580
+ isLoggedIn: a
581
+ } = K(), o = h("hidden"), t = i;
582
+ function r(p) {
583
+ o.value = p;
584
+ }
585
+ function _(p) {
586
+ E.success("密码修改成功"), o.value = "hidden", s();
587
+ }
588
+ function f() {
589
+ o.value = "update";
590
+ }
591
+ return G(() => {
592
+ a.value && !n.value && s();
593
+ }), (p, d) => {
594
+ var c, v, w, $;
595
+ return g(), P(W, null, [!((c = e(n)) != null && c.email) && !((v = e(n)) != null && v.phone) ? (g(), y(e(L), {
596
+ key: 0,
597
+ title: "去绑定邮箱"
598
+ }, {
599
+ action: m(() => [l(e(U), {
600
+ size: t.size,
601
+ type: "primary",
602
+ onClick: d[0] || (d[0] = (q) => r("update"))
603
+ }, {
604
+ default: m(() => d[2] || (d[2] = [z(" 去绑定邮箱 ")])),
605
+ _: 1,
606
+ __: [2]
607
+ }, 8, ["size"])]),
608
+ default: m(() => [d[3] || (d[3] = z(" 请先去绑定邮箱或者手机号码,才能设置密码 "))]),
609
+ _: 1,
610
+ __: [3]
611
+ })) : k("", !0), (w = e(n)) != null && w.email && o.value === "hidden" ? (g(), y(e(L), {
612
+ key: 1,
613
+ title: "更改密码"
614
+ }, {
615
+ action: m(() => [l(e(U), {
616
+ size: t.size,
617
+ type: "primary",
618
+ onClick: d[1] || (d[1] = (q) => r("verify"))
619
+ }, {
620
+ default: m(() => d[4] || (d[4] = [z("更改密码")])),
621
+ _: 1,
622
+ __: [4]
623
+ }, 8, ["size"])]),
624
+ default: m(() => [d[5] || (d[5] = z(" 为了账户安全修改密码前会先验证身份 "))]),
625
+ _: 1,
626
+ __: [5]
627
+ })) : k("", !0), o.value === "update" ? (g(), y(De, {
628
+ key: 2,
629
+ size: t.size,
630
+ loading: e(u),
631
+ onSubmit: _
632
+ }, null, 8, ["size", "loading"])) : k("", !0), o.value === "verify" ? (g(), y(Y, {
633
+ key: 3,
634
+ size: t.size,
635
+ email: ($ = e(n)) == null ? void 0 : $.email,
636
+ onNext: f
637
+ }, null, 8, ["size", "email"])) : k("", !0)], 64);
638
+ };
639
+ }
640
+ }), We = {
641
+ class: "content"
642
+ }, Ke = {
643
+ class: "sendVerifyCodeItem"
644
+ }, Ze = {
645
+ class: "handle"
646
+ }, Je = /* @__PURE__ */ S({
647
+ __name: "AuthkitEmailUpdate",
648
+ props: {
649
+ size: {
650
+ type: String,
651
+ required: !0
652
+ },
653
+ loading: {
654
+ type: Boolean,
655
+ required: !0,
656
+ default: () => !0
657
+ }
658
+ },
659
+ emits: ["submit"],
660
+ setup(i, {
661
+ emit: n
662
+ }) {
663
+ const u = n, s = i, a = h(), o = h(!1), t = h(), r = h({
664
+ email: void 0,
665
+ userToken: void 0,
666
+ emailVerifyId: void 0,
667
+ password: void 0,
668
+ confirmPassword: void 0,
669
+ referrerId: void 0
655
670
  });
656
671
  async function _() {
657
672
  t.value.validateField(["email"]).then((p) => {
@@ -671,7 +686,7 @@ const Ne = /* @__PURE__ */ S({
671
686
  p || u("submit", r.value);
672
687
  });
673
688
  }
674
- return (p, d) => (g(), P("div", dt, [l(e(O), {
689
+ return (p, d) => (g(), P("div", We, [l(e(O), {
675
690
  ref_key: "formRef",
676
691
  ref: t,
677
692
  model: r.value,
@@ -707,7 +722,7 @@ const Ne = /* @__PURE__ */ S({
707
722
  message: "请输入验证码"
708
723
  }]
709
724
  }, {
710
- default: m(() => [b("div", mt, [l(e(V), {
725
+ default: m(() => [b("div", Ke, [l(e(V), {
711
726
  modelValue: r.value.userToken,
712
727
  "onUpdate:modelValue": d[1] || (d[1] = (c) => r.value.userToken = c),
713
728
  placeholder: "请输入验证码",
@@ -783,7 +798,7 @@ const Ne = /* @__PURE__ */ S({
783
798
  autocomplete: "off"
784
799
  }, null, 8, ["modelValue"])]),
785
800
  _: 1
786
- }), b("div", ct, [l(e(U), {
801
+ }), b("div", Ze, [l(e(U), {
787
802
  type: "primary",
788
803
  loading: s.loading,
789
804
  long: "",
@@ -797,634 +812,519 @@ const Ne = /* @__PURE__ */ S({
797
812
  _: 1
798
813
  }, 8, ["model", "size"])]));
799
814
  }
800
- }), re = /* @__PURE__ */ I(ft, [["__scopeId", "data-v-5b701953"]]), pt = {
801
- class: "SignUp"
802
- }, vt = /* @__PURE__ */ S({
803
- __name: "AuthkitSignUp",
815
+ }), oe = /* @__PURE__ */ I(Je, [["__scopeId", "data-v-5b701953"]]), Qe = /* @__PURE__ */ S({
816
+ __name: "AuthkitEmailBinding",
804
817
  props: {
805
818
  size: {
806
819
  type: String,
807
820
  required: !0
808
- },
809
- loading: {
810
- type: Boolean,
811
- required: !0,
812
- default: () => !0
813
821
  }
814
822
  },
815
- emits: ["switchSignIn", "submit"],
816
- setup(i, {
817
- emit: n
818
- }) {
819
- const u = n, s = i;
820
- function a() {
821
- u("switchSignIn");
823
+ setup(i) {
824
+ const {
825
+ userProfile: n,
826
+ loading: u,
827
+ fetchUserProfile: s
828
+ } = K(), a = h("hidden"), o = i;
829
+ function t(f) {
830
+ a.value = f;
822
831
  }
823
- async function o(t) {
824
- u("submit", t);
832
+ function r(f) {
833
+ u.value = !0;
834
+ const p = {
835
+ email: f.email,
836
+ userToken: f.userToken,
837
+ emailVerifyId: f.emailVerifyId
838
+ };
839
+ we(p).then(() => {
840
+ u.value = !1, E.success("绑定成功"), a.value = "hidden", s();
841
+ }).catch(() => {
842
+ u.value = !1;
843
+ });
825
844
  }
826
- return (t, r) => (g(), P("div", pt, [l(re, {
827
- size: s.size,
828
- loading: i.loading,
829
- onSubmit: o
830
- }, null, 8, ["size", "loading"]), l(oe, {
831
- onSwitchSignIn: a
832
- })]));
833
- }
834
- }), gt = /* @__PURE__ */ I(vt, [["__scopeId", "data-v-058bbbef"]]), _t = ["src"], ht = /* @__PURE__ */ S({
835
- __name: "AuthkitAuthTitle",
836
- props: {
837
- size: {
838
- type: [String, Number],
839
- required: !1,
840
- default: 30
841
- },
842
- fontSize: {
843
- type: Number,
844
- required: !1,
845
- default: 18
846
- },
847
- lineHeight: {
848
- type: Number,
849
- required: !1,
850
- default: 60
845
+ function _() {
846
+ a.value = "update";
851
847
  }
852
- },
853
- setup(i) {
854
- const n = i, u = `${n.size}px`, s = `${n.fontSize}px`, a = `${n.lineHeight}px`, {
855
- currentView: o
856
- } = K(), {
857
- appsData: t
858
- } = J(), r = T(() => o.value === "signIn" ? `${t.value.name}登录` : o.value === "signUp" ? `${t.value.name}账号注册` : o.value === "resetPassword" ? `${t.value.name}密码重置` : "");
859
- return (_, f) => (g(), P("div", {
860
- class: "Title",
861
- style: j({
862
- fontSize: s,
863
- lineHeight: a
864
- })
865
- }, [e(t).applicationLogoUrl ? (g(), P("img", {
866
- key: 0,
867
- src: e(t).applicationLogoUrl,
868
- srcset: "",
869
- style: j({
870
- width: u
871
- })
872
- }, null, 12, _t)) : k("", !0), b("span", null, B(r.value), 1), ie(_.$slots, "default", {}, void 0, !0)], 4));
873
- }
874
- }), ue = /* @__PURE__ */ I(ht, [["__scopeId", "data-v-8255764a"]]), yt = {
875
- class: "Auth"
876
- }, bt = {
877
- class: "body"
878
- }, wt = /* @__PURE__ */ S({
879
- __name: "AuthkitAuth",
880
- props: {
881
- size: {
882
- type: String,
883
- required: !0
884
- },
885
- showTitle: {
886
- type: Boolean,
887
- default: () => !0
888
- }
889
- },
890
- emits: ["toPrivacyPolicy", "toUserServiceAgreement"],
891
- setup(i, {
892
- emit: n
893
- }) {
894
- const u = i, s = n, {
895
- signInSubmit: a,
896
- signUpSubmit: o,
897
- resetPasswordSubmit: t,
898
- currentView: r,
899
- authSignInLoading: _,
900
- authSignUpLoading: f,
901
- resetPasswordLoading: p,
902
- switchSignUp: d,
903
- switchResetPassword: c,
904
- switchSignIn: v
905
- } = K(), {
906
- appsAuthPageInfoApi: w
907
- } = J();
908
- function $() {
909
- s("toPrivacyPolicy");
910
- }
911
- function q() {
912
- s("toUserServiceAgreement");
913
- }
914
- return w(), (R, C) => (g(), P("div", yt, [i.showTitle ? (g(), y(ue, {
915
- key: 0,
916
- size: 32,
917
- "font-size": 20
918
- })) : k("", !0), b("div", bt, [e(r) === "signIn" ? (g(), y(ut, {
919
- key: 0,
920
- size: u.size,
921
- loading: e(_),
922
- onSwitchSignUp: e(d),
923
- onSwitchResetPassword: e(c),
924
- onSubmit: C[0] || (C[0] = (x) => e(a)(x))
925
- }, {
926
- OAuth: m(() => [l(Be, {
927
- size: u.size
928
- }, null, 8, ["size"])]),
929
- _: 1
930
- }, 8, ["size", "loading", "onSwitchSignUp", "onSwitchResetPassword"])) : e(r) === "signUp" ? (g(), y(gt, {
931
- key: 1,
932
- size: u.size,
933
- loading: e(f),
934
- onSwitchSignIn: e(v),
935
- onSubmit: C[1] || (C[1] = (x) => e(o)(x))
936
- }, null, 8, ["size", "loading", "onSwitchSignIn"])) : e(r) === "resetPassword" ? (g(), y(Je, {
937
- key: 2,
938
- size: u.size,
939
- loading: e(p),
940
- onSwitchSignIn: e(v),
941
- onSubmit: C[2] || (C[2] = (x) => e(t)(x))
942
- }, null, 8, ["size", "loading", "onSwitchSignIn"])) : k("", !0), l(Ye, {
943
- onToPrivacyPolicy: $,
944
- onToUserServiceAgreement: q
945
- })])]));
946
- }
947
- }), zt = /* @__PURE__ */ I(wt, [["__scopeId", "data-v-67d0eb00"]]), kt = /* @__PURE__ */ S({
948
- __name: "AuthkitAuthModal",
949
- props: {
950
- size: {
951
- type: String,
952
- required: !0
953
- },
954
- appId: {
955
- type: String,
956
- default: () => ""
957
- }
958
- },
959
- emits: ["confirm", "close", "toPrivacyPolicy", "toUserServiceAgreement"],
960
- setup(i, {
961
- emit: n
962
- }) {
963
- const {
964
- addSignInCallback: u
965
- } = K(), {
966
- show: s
967
- } = ze(), a = i, o = n;
968
- function t(_) {
969
- _(!0);
970
- }
971
- function r() {
972
- s.value = !1, o("close");
973
- }
974
- return u(() => {
975
- s.value = !1;
976
- }), (_, f) => (g(), y(e(ne), {
977
- visible: e(s),
978
- "onUpdate:visible": f[0] || (f[0] = (p) => se(s) ? s.value = p : null),
979
- footer: !1,
980
- "mask-closable": !1,
981
- "title-align": "center",
982
- "unmount-on-close": "",
983
- width: "auto",
984
- "modal-class": "SignInModalClass",
985
- onBeforeOk: t,
986
- onClose: r
987
- }, {
988
- title: m(() => [l(ue)]),
989
- default: m(() => [l(zt, {
990
- "show-title": !1,
991
- size: a.size
992
- }, null, 8, ["size"])]),
993
- _: 1
994
- }, 8, ["visible"]));
995
- }
996
- }), di = /* @__PURE__ */ I(kt, [["__scopeId", "data-v-a22ae615"]]), St = S({
997
- name: "IconCamera",
998
- props: {
999
- size: {
1000
- type: [Number, String]
1001
- },
1002
- strokeWidth: {
1003
- type: Number,
1004
- default: 4
1005
- },
1006
- strokeLinecap: {
1007
- type: String,
1008
- default: "butt",
1009
- validator: (i) => ["butt", "round", "square"].includes(i)
1010
- },
1011
- strokeLinejoin: {
1012
- type: String,
1013
- default: "miter",
1014
- validator: (i) => ["arcs", "bevel", "miter", "miter-clip", "round"].includes(i)
1015
- },
1016
- rotate: Number,
1017
- spin: Boolean
1018
- },
1019
- emits: {
1020
- click: (i) => !0
1021
- },
1022
- setup(i, {
1023
- emit: n
1024
- }) {
1025
- const u = Ie("icon"), s = T(() => [u, `${u}-camera`, {
1026
- [`${u}-spin`]: i.spin
1027
- }]), a = T(() => {
1028
- const t = {};
1029
- return i.size && (t.fontSize = Pe(i.size) ? `${i.size}px` : i.size), i.rotate && (t.transform = `rotate(${i.rotate}deg)`), t;
1030
- });
1031
- return {
1032
- cls: s,
1033
- innerStyle: a,
1034
- onClick: (t) => {
1035
- n("click", t);
1036
- }
848
+ return G(() => {
849
+ n.value || s();
850
+ }), (f, p) => {
851
+ var d, c, v;
852
+ return g(), P(W, null, [!((d = e(n)) != null && d.email) && a.value === "hidden" ? (g(), y(e(L), {
853
+ key: 0,
854
+ title: "绑定邮箱"
855
+ }, {
856
+ action: m(() => [l(e(U), {
857
+ size: o.size,
858
+ type: "primary",
859
+ onClick: p[0] || (p[0] = (w) => t("update"))
860
+ }, {
861
+ default: m(() => p[2] || (p[2] = [z(" 绑定邮箱 ")])),
862
+ _: 1,
863
+ __: [2]
864
+ }, 8, ["size"])]),
865
+ default: m(() => [p[3] || (p[3] = z(" 您还未绑定邮箱,请点击绑定邮箱 "))]),
866
+ _: 1,
867
+ __: [3]
868
+ })) : k("", !0), (c = e(n)) != null && c.email && a.value === "hidden" ? (g(), y(e(L), {
869
+ key: 1,
870
+ title: "更改邮箱"
871
+ }, {
872
+ action: m(() => [l(e(U), {
873
+ size: o.size,
874
+ type: "primary",
875
+ onClick: p[1] || (p[1] = (w) => t("verify"))
876
+ }, {
877
+ default: m(() => p[4] || (p[4] = [z(" 更改邮箱 ")])),
878
+ _: 1,
879
+ __: [4]
880
+ }, 8, ["size"])]),
881
+ default: m(() => {
882
+ var w;
883
+ return [z(B(`您绑定的邮箱为${e(ae)((w = e(n)) == null ? void 0 : w.email)}`) + " ", 1)];
884
+ }),
885
+ _: 1
886
+ })) : k("", !0), a.value === "update" ? (g(), y(oe, {
887
+ key: 2,
888
+ loading: e(u),
889
+ size: o.size,
890
+ onSubmit: r
891
+ }, null, 8, ["loading", "size"])) : k("", !0), a.value === "verify" ? (g(), y(Y, {
892
+ key: 3,
893
+ size: o.size,
894
+ email: (v = e(n)) == null ? void 0 : v.email,
895
+ onNext: _
896
+ }, null, 8, ["size", "email"])) : k("", !0)], 64);
1037
897
  };
1038
898
  }
1039
- }), At = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
1040
- function It(i, n, u, s, a, o) {
1041
- return g(), P("svg", {
1042
- viewBox: "0 0 48 48",
1043
- fill: "none",
1044
- xmlns: "http://www.w3.org/2000/svg",
1045
- stroke: "currentColor",
1046
- class: ve(i.cls),
1047
- style: j(i.innerStyle),
1048
- "stroke-width": i.strokeWidth,
1049
- "stroke-linecap": i.strokeLinecap,
1050
- "stroke-linejoin": i.strokeLinejoin,
1051
- onClick: n[0] || (n[0] = (...t) => i.onClick && i.onClick(...t))
1052
- }, n[1] || (n[1] = [b("path", {
1053
- 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"
1054
- }, null, -1)]), 14, At);
899
+ }), Xe = /* @__PURE__ */ I(Qe, [["__scopeId", "data-v-b2663ea1"]]);
900
+ function re() {
901
+ return H({
902
+ url: `${F.authPrefixUrl}/restfulApi/OAuth/github/login`,
903
+ method: "get"
904
+ });
1055
905
  }
1056
- var D = /* @__PURE__ */ Ae(St, [["render", It]]);
1057
- const Pt = Object.assign(D, {
1058
- install: (i, n) => {
1059
- var u;
1060
- const s = (u = n == null ? void 0 : n.iconPrefix) != null ? u : "";
1061
- i.component(s + D.name, D);
1062
- }
1063
- }), Vt = {
1064
- class: "handle"
1065
- }, Ut = /* @__PURE__ */ S({
1066
- __name: "AuthkitPersonalInformation",
906
+ const Ye = /* @__PURE__ */ S({
907
+ __name: "AuthkitGithubBinding",
1067
908
  props: {
1068
909
  size: {
1069
910
  type: String,
1070
911
  required: !0
1071
912
  }
1072
913
  },
1073
- emits: ["submit"],
1074
- setup(i, {
1075
- emit: n
1076
- }) {
1077
- const u = n, s = i, a = h({
1078
- id: void 0,
1079
- nickname: "",
1080
- description: "",
1081
- avatar: "",
1082
- avatarUrl: ""
1083
- }), o = h(!1), t = h(), r = h(!1);
914
+ setup(i) {
915
+ const {
916
+ userProfile: n,
917
+ fetchUserProfile: u
918
+ } = K(), s = h("hidden"), a = h(!1);
919
+ let o;
920
+ const t = i;
921
+ function r(c) {
922
+ s.value = c;
923
+ }
1084
924
  function _() {
1085
- r.value = !0, he().then(({
1086
- data: d
925
+ re().then(({
926
+ data: c
1087
927
  }) => {
1088
- r.value = !1, a.value.id = d.id, a.value.nickname = d.nickname, a.value.description = d.description, a.value.avatar = d.avatar, a.value.avatarUrl = d.avatarUrl;
1089
- }).catch(() => {
1090
- r.value = !1;
928
+ const {
929
+ redirectUri: v
930
+ } = c;
931
+ a.value = !0, window.open(v, "_blank");
1091
932
  });
1092
933
  }
1093
934
  function f() {
1094
- t.value.validate().then((d) => {
1095
- if (!d) {
1096
- r.value = !0;
1097
- const c = {
1098
- id: a.value.id,
1099
- nickname: a.value.nickname,
1100
- description: a.value.description,
1101
- avatar: a.value.avatar
1102
- };
1103
- ee(c).then(({
1104
- data: v
1105
- }) => {
1106
- r.value = !1, N.success("更新成功"), a.value.avatarUrl = v.avatarUrl, u("submit");
1107
- }).catch(() => {
1108
- r.value = !1;
1109
- });
1110
- }
935
+ ze().then(() => {
936
+ E.success("解绑成功"), s.value = "hidden", u();
1111
937
  });
1112
938
  }
1113
- _();
1114
- const p = () => {
1115
- const {
1116
- uploadFile: d
1117
- } = Se(), c = document.createElement("input");
1118
- c.type = "file", c.accept = "image/*", c.style.display = "none", document.body.append(c), c.addEventListener("change", async (v) => {
1119
- var q;
1120
- const $ = (q = v.target.files) == null ? void 0 : q[0];
1121
- if ($) {
1122
- o.value = !0;
1123
- try {
1124
- d({
1125
- bucketId: F.avatarBucketId,
1126
- file: $,
1127
- onFileFinish(R, C, x) {
1128
- o.value = !0;
1129
- const me = {
1130
- id: a.value.id,
1131
- nickname: a.value.nickname,
1132
- description: a.value.description,
1133
- avatar: x.Key
1134
- };
1135
- ee(me).then(() => {
1136
- o.value = !1, N.success("更新成功"), _(), u("submit");
1137
- }).catch(() => {
1138
- o.value = !1;
1139
- });
1140
- },
1141
- onError(R) {
1142
- console.error("上传图片失败"), o.value = !1;
1143
- }
1144
- });
1145
- } catch (R) {
1146
- console.error("上传图片失败", R), o.value = !1;
1147
- }
1148
- }
1149
- c.remove();
1150
- }), c.click();
1151
- };
1152
- return (d, c) => (g(), y(e(O), {
1153
- ref_key: "formRef",
1154
- ref: t,
1155
- model: a.value,
1156
- "auto-label-width": "",
1157
- size: s.size
1158
- }, {
1159
- default: m(() => [l(e(A), {
1160
- field: "avatar",
1161
- label: "头像",
1162
- rules: [{
1163
- required: !1,
1164
- message: "请上传头像"
1165
- }]
939
+ function p() {
940
+ s.value === "bind" && (s.value = "hidden", _()), s.value === "unbind" && f();
941
+ }
942
+ function d() {
943
+ a.value && u();
944
+ }
945
+ return G(() => {
946
+ n.value || u(), o = setInterval(d, 1e3);
947
+ }), te(() => {
948
+ o && clearInterval(o);
949
+ }), (c, v) => {
950
+ var w, $, q;
951
+ return g(), P(W, null, [!((w = e(n)) != null && w.github) && s.value === "hidden" ? (g(), y(e(L), {
952
+ key: 0,
953
+ title: "绑定GitHUb"
1166
954
  }, {
1167
- default: m(() => [l(e(le), {
1168
- "image-url": a.value.avatarUrl,
1169
- size: 42,
1170
- "trigger-icon-style": {
1171
- color: "#3491FA"
1172
- },
1173
- onClick: p
955
+ action: m(() => [l(e(U), {
956
+ size: t.size,
957
+ type: "primary",
958
+ onClick: v[0] || (v[0] = (R) => r("bind"))
1174
959
  }, {
1175
- "trigger-icon": m(() => [l(e(Pt))]),
1176
- _: 1
1177
- }, 8, ["image-url"])]),
1178
- _: 1
1179
- }), l(e(A), {
1180
- field: "nickname",
1181
- label: "昵称",
1182
- rules: [{
1183
- required: !1,
1184
- message: "请输入昵称"
1185
- }]
1186
- }, {
1187
- default: m(() => [l(e(V), {
1188
- modelValue: a.value.nickname,
1189
- "onUpdate:modelValue": c[0] || (c[0] = (v) => a.value.nickname = v),
1190
- placeholder: "请输入昵称"
1191
- }, null, 8, ["modelValue"])]),
1192
- _: 1
1193
- }), l(e(A), {
1194
- field: "description",
1195
- label: "简介",
1196
- rules: [{
1197
- required: !1,
1198
- message: "请输入描述"
1199
- }]
1200
- }, {
1201
- default: m(() => [l(e(_e), {
1202
- modelValue: a.value.description,
1203
- "onUpdate:modelValue": c[1] || (c[1] = (v) => a.value.description = v),
1204
- placeholder: "请输入描述",
1205
- "allow-clear": "",
1206
- "auto-size": {
1207
- minRows: 5
1208
- }
1209
- }, null, 8, ["modelValue"])]),
1210
- _: 1
1211
- }), l(e(A), {
1212
- field: "",
1213
- label: "",
1214
- rules: []
960
+ default: m(() => v[2] || (v[2] = [z(" 绑定GitHUb ")])),
961
+ _: 1,
962
+ __: [2]
963
+ }, 8, ["size"])]),
964
+ default: m(() => [v[3] || (v[3] = z(" 请尚未绑定GitHub,请点击绑定GitHUb "))]),
965
+ _: 1,
966
+ __: [3]
967
+ })) : k("", !0), ($ = e(n)) != null && $.github && s.value === "hidden" ? (g(), y(e(L), {
968
+ key: 1,
969
+ title: "解绑GitHub"
1215
970
  }, {
1216
- default: m(() => [b("div", Vt, [l(e(U), {
971
+ action: m(() => [l(e(U), {
972
+ size: t.size,
1217
973
  type: "primary",
1218
- loading: r.value,
1219
- onClick: f
974
+ onClick: v[1] || (v[1] = (R) => r("unbind"))
1220
975
  }, {
1221
- default: m(() => c[2] || (c[2] = [z(" 提交 ")])),
976
+ default: m(() => v[4] || (v[4] = [z(" 解绑GitHUb ")])),
1222
977
  _: 1,
1223
- __: [2]
1224
- }, 8, ["loading"])])]),
978
+ __: [4]
979
+ }, 8, ["size"])]),
980
+ default: m(() => {
981
+ var R, C, x;
982
+ return [b("span", null, B(`您绑定的账号为 ${(C = (R = e(n)) == null ? void 0 : R.github) == null ? void 0 : C.login}`), 1), l(e(ne), {
983
+ "image-url": (x = e(n)) == null ? void 0 : x.avatar,
984
+ size: 42
985
+ }, null, 8, ["image-url"])];
986
+ }),
1225
987
  _: 1
1226
- })]),
988
+ })) : k("", !0), s.value === "bind" || s.value === "unbind" ? (g(), y(Y, {
989
+ key: 2,
990
+ size: t.size,
991
+ email: (q = e(n)) == null ? void 0 : q.email,
992
+ onNext: p
993
+ }, null, 8, ["size", "email"])) : k("", !0)], 64);
994
+ };
995
+ }
996
+ }), et = {
997
+ class: "content"
998
+ }, tt = {
999
+ class: "left"
1000
+ }, it = {
1001
+ class: "right"
1002
+ }, st = /* @__PURE__ */ S({
1003
+ __name: "AuthkitAppSetting",
1004
+ emits: ["confirm", "cancel"],
1005
+ setup(i, {
1006
+ expose: n,
1007
+ emit: u
1008
+ }) {
1009
+ const s = u;
1010
+ function a() {
1011
+ s("cancel");
1012
+ }
1013
+ const o = h("large"), t = h(["PersonalInformation"]), r = h([{
1014
+ name: "个人信息",
1015
+ path: "PersonalInformation",
1016
+ meta: {
1017
+ icon: "mingcute:user-edit-fill"
1018
+ },
1019
+ children: []
1020
+ }, {
1021
+ name: "账户管理",
1022
+ path: "AccountManage",
1023
+ meta: {
1024
+ icon: "mingcute:badge-fill"
1025
+ },
1026
+ children: [{
1027
+ name: "邮箱",
1028
+ path: "EmailBinding",
1029
+ meta: {
1030
+ icon: "ic:baseline-email"
1031
+ }
1032
+ }, {
1033
+ name: "密码",
1034
+ path: "SetPassword",
1035
+ meta: {
1036
+ icon: "mdi:password"
1037
+ }
1038
+ }]
1039
+ }, {
1040
+ name: "第三方账户",
1041
+ icon: "Menus/Space/Message/Index",
1042
+ path: "AccountBinding",
1043
+ children: [
1044
+ {
1045
+ name: "GitHub",
1046
+ path: "GithubBinding",
1047
+ meta: {
1048
+ icon: "bi:github"
1049
+ }
1050
+ }
1051
+ // {
1052
+ // name: '微信',
1053
+ // icon: 'Menus/Space/Message/NoticeNotifications',
1054
+ // path: 'NoticeNotifications',
1055
+ // },
1056
+ ]
1057
+ }]);
1058
+ function _(c, v) {
1059
+ const w = c.path;
1060
+ console.log(w, v, "lokokoko"), t.value = [w];
1061
+ }
1062
+ const {
1063
+ changeType: f,
1064
+ show: p
1065
+ } = Pe(s);
1066
+ function d(c, v) {
1067
+ console.log(c), p.value = v, f.value = "编辑";
1068
+ }
1069
+ return n({
1070
+ setData: d
1071
+ }), (c, v) => (g(), y(e(le), {
1072
+ visible: e(p),
1073
+ "onUpdate:visible": v[1] || (v[1] = (w) => ie(p) ? p.value = w : null),
1074
+ "unmount-on-close": "",
1075
+ "body-class": "AppSettingbodyClass",
1076
+ "mask-closable": !1,
1077
+ footer: !1,
1078
+ width: "700px",
1079
+ onCancel: a
1080
+ }, {
1081
+ title: m(() => v[2] || (v[2] = [z(" 系统设置 ")])),
1082
+ default: m(() => [b("div", et, [b("div", tt, [l(Ie, {
1083
+ "selected-keys": t.value,
1084
+ "onUpdate:selectedKeys": v[0] || (v[0] = (w) => t.value = w),
1085
+ menus: r.value,
1086
+ onChange: _
1087
+ }, null, 8, ["selected-keys", "menus"])]), b("div", it, [t.value[0] === "PersonalInformation" ? (g(), y(Le, {
1088
+ key: 0,
1089
+ size: o.value
1090
+ }, null, 8, ["size"])) : k("", !0), t.value[0] === "EmailBinding" ? (g(), y(Xe, {
1091
+ key: 1,
1092
+ size: o.value
1093
+ }, null, 8, ["size"])) : k("", !0), t.value[0] === "SetPassword" ? (g(), y(je, {
1094
+ key: 2,
1095
+ size: o.value
1096
+ }, null, 8, ["size"])) : k("", !0), t.value[0] === "GithubBinding" ? (g(), y(Ye, {
1097
+ key: 3,
1098
+ size: o.value
1099
+ }, null, 8, ["size"])) : k("", !0)])])]),
1227
1100
  _: 1
1228
- }, 8, ["model", "size"]));
1229
- }
1230
- }), $t = /* @__PURE__ */ I(Ut, [["__scopeId", "data-v-9f97445b"]]);
1231
- function de(i, n = 3) {
1232
- const u = i.indexOf("@");
1233
- if (u > 1) {
1234
- const s = i.slice(0, n), a = i.slice(u);
1235
- return s + "***" + a;
1101
+ }, 8, ["visible"]));
1236
1102
  }
1237
- return i;
1103
+ }), di = /* @__PURE__ */ I(st, [["__scopeId", "data-v-cd51dcec"]]);
1104
+ function nt() {
1105
+ re().then(({
1106
+ data: i
1107
+ }) => {
1108
+ const {
1109
+ redirectUri: n
1110
+ } = i;
1111
+ n ? window.location.href = n : console.error("GitHub OAuth 重定向URL为空");
1112
+ }).catch((i) => {
1113
+ console.error("GitHub OAuth 授权失败:", i);
1114
+ });
1238
1115
  }
1239
- const Ct = {
1240
- class: "sendVerifyCodeItem"
1241
- }, xt = {
1242
- class: "handle"
1243
- }, qt = /* @__PURE__ */ S({
1244
- __name: "AuthkitEmailVerify",
1116
+ function lt() {
1117
+ }
1118
+ function at() {
1119
+ }
1120
+ function ot() {
1121
+ return {
1122
+ githubAuth: nt,
1123
+ googleAuth: lt,
1124
+ microsoftAuth: at
1125
+ };
1126
+ }
1127
+ const D = /* @__PURE__ */ S({
1128
+ __name: "AuthkitOAuthItem",
1245
1129
  props: {
1246
- email: {
1130
+ size: {
1131
+ type: String,
1132
+ required: !0
1133
+ },
1134
+ icon: {
1247
1135
  type: String,
1248
1136
  required: !0,
1249
1137
  default: () => ""
1250
1138
  },
1251
- size: {
1139
+ label: {
1252
1140
  type: String,
1253
- required: !0
1141
+ required: !0,
1142
+ default: () => ""
1254
1143
  }
1255
1144
  },
1256
- emits: ["next"],
1145
+ emits: [],
1257
1146
  setup(i, {
1258
1147
  emit: n
1259
1148
  }) {
1260
- const u = n, s = i, a = T(() => de(s.email)), o = h(), t = h(!1), r = h(!1), _ = h(), f = h({
1261
- userToken: void 0,
1262
- emailVerifyId: void 0
1263
- });
1264
- async function p() {
1265
- t.value = !0, Q({
1266
- email: s.email
1267
- }).then(({
1268
- data: c
1269
- }) => {
1270
- f.value.emailVerifyId = c.emailVerifyId, t.value = !1, o.value.startCountFn();
1271
- }).catch(() => {
1272
- t.value = !1;
1273
- });
1274
- }
1275
- async function d() {
1276
- _.value.validate(["userToken"]).then((c) => {
1277
- if (!c) {
1278
- r.value = !0;
1279
- const v = {
1280
- email: s.email,
1281
- userToken: f.value.userToken,
1282
- emailVerifyId: f.value.emailVerifyId
1283
- };
1284
- Oe(v).then(() => {
1285
- r.value = !1, u("next");
1286
- }).catch(() => {
1287
- r.value = !1;
1288
- });
1289
- }
1290
- });
1291
- }
1292
- return (c, v) => (g(), y(e(O), {
1293
- ref_key: "formRef",
1294
- ref: _,
1295
- model: f.value,
1296
- "auto-label-width": "",
1297
- size: s.size
1149
+ const u = i;
1150
+ return (s, a) => (g(), y(e(U), {
1151
+ class: "OAuthItem",
1152
+ type: "primary",
1153
+ size: u.size
1298
1154
  }, {
1299
- default: m(() => [l(e(A), {
1300
- field: "email",
1301
- label: "邮箱",
1302
- rules: [{
1303
- required: !1,
1304
- message: "请输入邮箱"
1305
- }, {
1306
- type: "email",
1307
- message: "请输入有效的邮箱"
1308
- }]
1309
- }, {
1310
- default: m(() => [z(B(a.value), 1)]),
1311
- _: 1
1312
- }), l(e(A), {
1313
- field: "userToken",
1314
- label: "验证码",
1315
- "hide-label": "",
1316
- rules: [{
1317
- required: !0,
1318
- message: "请输入验证码"
1319
- }]
1320
- }, {
1321
- default: m(() => [b("div", Ct, [l(e(V), {
1322
- modelValue: f.value.userToken,
1323
- "onUpdate:modelValue": v[0] || (v[0] = (w) => f.value.userToken = w),
1324
- placeholder: "请输入验证码"
1325
- }, null, 8, ["modelValue"]), l(X, {
1326
- ref_key: "SendVerifyCodeRef",
1327
- ref: o,
1328
- size: s.size,
1329
- loading: t.value,
1330
- style: {
1331
- "margin-left": "10px"
1332
- },
1333
- onSend: p
1334
- }, null, 8, ["size", "loading"])])]),
1335
- _: 1
1336
- }), l(e(A), {
1337
- field: "",
1338
- label: "",
1339
- rules: []
1340
- }, {
1341
- default: m(() => [b("div", xt, [l(e(U), {
1342
- loading: r.value,
1343
- type: "primary",
1344
- onClick: d
1345
- }, {
1346
- default: m(() => v[1] || (v[1] = [z(" 提交 ")])),
1347
- _: 1,
1348
- __: [1]
1349
- }, 8, ["loading"])])]),
1350
- _: 1
1351
- })]),
1155
+ icon: m(() => [l(e(Ue), {
1156
+ icon: u.icon
1157
+ }, null, 8, ["icon"])]),
1158
+ default: m(() => [b("span", null, B(u.label), 1)]),
1352
1159
  _: 1
1353
- }, 8, ["model", "size"]));
1160
+ }, 8, ["size"]));
1161
+ }
1162
+ }), rt = {
1163
+ class: "OAuthList"
1164
+ }, ut = {
1165
+ class: "OAuthList"
1166
+ }, dt = /* @__PURE__ */ S({
1167
+ __name: "AuthkitOAuthList",
1168
+ props: {
1169
+ size: {
1170
+ type: String,
1171
+ default: () => "large"
1172
+ },
1173
+ appId: {
1174
+ type: String,
1175
+ default: () => ""
1176
+ }
1177
+ },
1178
+ setup(i) {
1179
+ const {
1180
+ appsData: n
1181
+ } = J(), u = i, {
1182
+ githubAuth: s,
1183
+ googleAuth: a,
1184
+ microsoftAuth: o
1185
+ } = ot(), t = T(() => !(!n.value.oauth.google.enabled && !n.value.oauth.microsoft.enabled && !n.value.oauth.github.enabled && !n.value.oauth.wechat.enabled));
1186
+ return (r, _) => (g(), P("div", rt, [t.value ? (g(), y(e(_e), {
1187
+ key: 0,
1188
+ orientation: "center"
1189
+ }, {
1190
+ default: m(() => _[0] || (_[0] = [z("OAuth登陆")])),
1191
+ _: 1,
1192
+ __: [0]
1193
+ })) : k("", !0), b("div", ut, [e(n).oauth.github.enabled ? (g(), y(D, {
1194
+ key: 0,
1195
+ icon: "mdi:github",
1196
+ label: "Github",
1197
+ size: u.size,
1198
+ onClick: e(s)
1199
+ }, null, 8, ["size", "onClick"])) : k("", !0), e(n).oauth.google.enabled ? (g(), y(D, {
1200
+ key: 1,
1201
+ icon: "mdi:google",
1202
+ label: "Google",
1203
+ size: u.size,
1204
+ onClick: e(a)
1205
+ }, null, 8, ["size", "onClick"])) : k("", !0), e(n).oauth.microsoft.enabled ? (g(), y(D, {
1206
+ key: 2,
1207
+ icon: "mdi:microsoft",
1208
+ label: "Microsoft",
1209
+ size: u.size,
1210
+ onClick: e(o)
1211
+ }, null, 8, ["size", "onClick"])) : k("", !0)])]));
1354
1212
  }
1355
- }), Y = /* @__PURE__ */ I(qt, [["__scopeId", "data-v-89ebb370"]]), Rt = {
1213
+ }), mt = /* @__PURE__ */ I(dt, [["__scopeId", "data-v-7c6620c0"]]), ct = {
1214
+ class: "content"
1215
+ }, ft = {
1216
+ class: "sendVerifyCodeItem"
1217
+ }, pt = {
1356
1218
  class: "handle"
1357
- }, Tt = /* @__PURE__ */ S({
1358
- __name: "AuthkitPasswordUpdate",
1219
+ }, vt = /* @__PURE__ */ S({
1220
+ __name: "AuthkitPasswordUpdateAndVerify",
1359
1221
  props: {
1360
1222
  size: {
1361
1223
  type: String,
1362
1224
  required: !0
1225
+ },
1226
+ loading: {
1227
+ type: Boolean,
1228
+ required: !0,
1229
+ default: () => !0
1363
1230
  }
1364
1231
  },
1365
- emits: ["submit"],
1232
+ emits: ["signIn", "submit"],
1366
1233
  setup(i, {
1367
1234
  emit: n
1368
1235
  }) {
1369
- const u = n, s = h(!1), a = h(), o = i, t = h({
1370
- oldPassword: "",
1371
- password: "",
1372
- confirmPassword: ""
1236
+ const u = n, s = i, a = h(), o = h(!1), t = h(), r = h({
1237
+ email: void 0,
1238
+ userToken: void 0,
1239
+ emailVerifyId: void 0,
1240
+ password: void 0,
1241
+ confirmPassword: void 0
1373
1242
  });
1374
- async function r() {
1375
- a.value.validate().then((_) => {
1376
- if (!_) {
1377
- const f = {
1378
- password: t.value.password
1379
- };
1380
- ye(f).then(() => {
1381
- s.value = !1, u("submit", f);
1382
- }).catch(() => {
1383
- s.value = !1;
1384
- });
1385
- }
1243
+ async function _() {
1244
+ t.value.validateField(["email"]).then((p) => {
1245
+ p || (o.value = !0, Q({
1246
+ email: r.value.email
1247
+ }).then(({
1248
+ data: d
1249
+ }) => {
1250
+ o.value = !1, r.value.emailVerifyId = d.emailVerifyId, a.value.startCountFn();
1251
+ }).catch(() => {
1252
+ o.value = !1;
1253
+ }));
1386
1254
  });
1387
1255
  }
1388
- return (_, f) => (g(), y(e(O), {
1256
+ async function f() {
1257
+ t.value.validate().then((p) => {
1258
+ p || u("submit", r.value);
1259
+ });
1260
+ }
1261
+ return (p, d) => (g(), P("div", ct, [l(e(O), {
1389
1262
  ref_key: "formRef",
1390
- ref: a,
1391
- model: t.value,
1392
- "auto-label-width": "",
1393
- size: o.size
1263
+ ref: t,
1264
+ model: r.value,
1265
+ size: s.size,
1266
+ "auto-label-width": ""
1394
1267
  }, {
1395
1268
  default: m(() => [l(e(A), {
1396
- field: "oldPassword",
1397
- label: "当前密码",
1269
+ field: "email",
1270
+ label: "邮箱",
1398
1271
  "hide-label": "",
1399
1272
  rules: [{
1400
1273
  required: !0,
1401
- message: "请输入当前密码"
1274
+ message: "请输入邮箱"
1275
+ }, {
1276
+ type: "email",
1277
+ message: "请输入有效的邮箱"
1402
1278
  }]
1403
1279
  }, {
1404
1280
  default: m(() => [l(e(V), {
1405
- modelValue: t.value.oldPassword,
1406
- "onUpdate:modelValue": f[0] || (f[0] = (p) => t.value.oldPassword = p),
1407
- placeholder: "请输入当前密码",
1408
- type: "password"
1281
+ modelValue: r.value.email,
1282
+ "onUpdate:modelValue": d[0] || (d[0] = (c) => r.value.email = c),
1283
+ placeholder: "请输入邮箱"
1409
1284
  }, null, 8, ["modelValue"])]),
1410
1285
  _: 1
1286
+ }), l(e(A), {
1287
+ field: "userToken",
1288
+ label: "验证码",
1289
+ "hide-label": "",
1290
+ rules: [{
1291
+ required: !0,
1292
+ message: "请输入验证码"
1293
+ }]
1294
+ }, {
1295
+ default: m(() => [b("div", ft, [l(e(V), {
1296
+ modelValue: r.value.userToken,
1297
+ "onUpdate:modelValue": d[1] || (d[1] = (c) => r.value.userToken = c),
1298
+ placeholder: "请输入验证码"
1299
+ }, null, 8, ["modelValue"]), l(X, {
1300
+ ref_key: "SendVerifyCodeRef",
1301
+ ref: a,
1302
+ size: s.size,
1303
+ loading: o.value,
1304
+ style: {
1305
+ "margin-left": "10px"
1306
+ },
1307
+ onSend: _
1308
+ }, null, 8, ["size", "loading"])])]),
1309
+ _: 1
1411
1310
  }), l(e(A), {
1412
1311
  field: "password",
1413
- label: "新密码",
1312
+ label: "密码",
1414
1313
  "hide-label": "",
1415
1314
  rules: [{
1416
1315
  required: !0,
1417
- message: "新密码请输入"
1316
+ message: "密码请输入"
1418
1317
  }, {
1419
1318
  minLength: 10,
1420
- message: "新密码不能少于10字符"
1319
+ message: "密码不能少于10字符"
1421
1320
  }]
1422
1321
  }, {
1423
1322
  default: m(() => [l(e(V), {
1424
- modelValue: t.value.password,
1425
- "onUpdate:modelValue": f[1] || (f[1] = (p) => t.value.password = p),
1426
- placeholder: "请输入新密码",
1427
- type: "password"
1323
+ modelValue: r.value.password,
1324
+ "onUpdate:modelValue": d[2] || (d[2] = (c) => r.value.password = c),
1325
+ placeholder: "请输入密码",
1326
+ type: "password",
1327
+ autocomplete: ""
1428
1328
  }, null, 8, ["modelValue"])]),
1429
1329
  _: 1
1430
1330
  }), l(e(A), {
@@ -1438,413 +1338,515 @@ const Ct = {
1438
1338
  minLength: 10,
1439
1339
  message: "确认密码不能少于10字符"
1440
1340
  }, {
1441
- validator: (p, d) => {
1442
- p !== t.value.password ? d("两次密码输入不一致,请重新输入") : d();
1341
+ validator: (c, v) => {
1342
+ c !== r.value.password ? v("两次密码输入不一致,请重新输入") : v();
1443
1343
  }
1444
1344
  }]
1445
1345
  }, {
1446
1346
  default: m(() => [l(e(V), {
1447
- modelValue: t.value.confirmPassword,
1448
- "onUpdate:modelValue": f[2] || (f[2] = (p) => t.value.confirmPassword = p),
1347
+ modelValue: r.value.confirmPassword,
1348
+ "onUpdate:modelValue": d[3] || (d[3] = (c) => r.value.confirmPassword = c),
1449
1349
  placeholder: "请输入确认密码密码",
1450
- type: "password"
1350
+ type: "password",
1351
+ autocomplete: ""
1451
1352
  }, null, 8, ["modelValue"])]),
1452
1353
  _: 1
1453
- }, 8, ["rules"]), l(e(A), {
1454
- field: "",
1455
- label: "",
1456
- rules: []
1354
+ }, 8, ["rules"]), b("div", pt, [l(e(U), {
1355
+ type: "primary",
1356
+ loading: s.loading,
1357
+ long: "",
1358
+ size: s.size,
1359
+ onClick: f
1457
1360
  }, {
1458
- default: m(() => [b("div", Rt, [l(e(U), {
1459
- type: "primary",
1460
- loading: s.value,
1461
- onClick: r
1361
+ default: m(() => d[4] || (d[4] = [z(" 提交 ")])),
1362
+ _: 1,
1363
+ __: [4]
1364
+ }, 8, ["loading", "size"])])]),
1365
+ _: 1
1366
+ }, 8, ["model", "size"])]));
1367
+ }
1368
+ }), gt = /* @__PURE__ */ I(vt, [["__scopeId", "data-v-1c83f44a"]]), _t = {
1369
+ class: "SwitchSignIn"
1370
+ }, ht = /* @__PURE__ */ S({
1371
+ __name: "AuthkitSwitchSignIn",
1372
+ emits: ["switchSignIn"],
1373
+ setup(i, {
1374
+ emit: n
1375
+ }) {
1376
+ const u = n;
1377
+ function s() {
1378
+ u("switchSignIn");
1379
+ }
1380
+ return (a, o) => (g(), P("div", _t, [b("span", null, [o[1] || (o[1] = b("span", null, "已经有账号?", -1)), l(e(N), {
1381
+ style: {
1382
+ padding: "0px"
1383
+ },
1384
+ onClick: s
1385
+ }, {
1386
+ default: m(() => o[0] || (o[0] = [z("去登陆")])),
1387
+ _: 1,
1388
+ __: [0]
1389
+ })])]));
1390
+ }
1391
+ }), ue = /* @__PURE__ */ I(ht, [["__scopeId", "data-v-fc1d3903"]]), yt = {
1392
+ class: "ResetPassword"
1393
+ }, bt = /* @__PURE__ */ S({
1394
+ __name: "AuthkitResetPassword",
1395
+ props: {
1396
+ size: {
1397
+ type: String,
1398
+ required: !0,
1399
+ default: () => "large"
1400
+ },
1401
+ loading: {
1402
+ type: Boolean,
1403
+ required: !0,
1404
+ default: () => !0
1405
+ }
1406
+ },
1407
+ emits: ["switchSignIn", "submit"],
1408
+ setup(i, {
1409
+ emit: n
1410
+ }) {
1411
+ const u = n, s = i;
1412
+ function a() {
1413
+ u("switchSignIn");
1414
+ }
1415
+ async function o(t) {
1416
+ u("submit", t);
1417
+ }
1418
+ return (t, r) => (g(), P("div", yt, [l(gt, {
1419
+ loading: i.loading,
1420
+ size: s.size,
1421
+ onSubmit: o
1422
+ }, null, 8, ["loading", "size"]), l(ue, {
1423
+ onSwitchSignIn: a
1424
+ })]));
1425
+ }
1426
+ }), wt = /* @__PURE__ */ I(bt, [["__scopeId", "data-v-0622cbe3"]]), zt = {
1427
+ class: "ServiceAgreementAndPrivacyProtection"
1428
+ }, kt = /* @__PURE__ */ S({
1429
+ __name: "AuthkitServiceAgreementAndPrivacyProtection",
1430
+ emits: ["toUserServiceAgreement", "toPrivacyPolicy"],
1431
+ setup(i, {
1432
+ emit: n
1433
+ }) {
1434
+ const u = n;
1435
+ function s() {
1436
+ u("toUserServiceAgreement");
1437
+ }
1438
+ function a() {
1439
+ u("toPrivacyPolicy");
1440
+ }
1441
+ return (o, t) => (g(), P("div", zt, [t[2] || (t[2] = b("span", null, " 注册登陆即表示同意", -1)), l(e(N), {
1442
+ onClick: s
1443
+ }, {
1444
+ default: m(() => t[0] || (t[0] = [z("用户服务协议")])),
1445
+ _: 1,
1446
+ __: [0]
1447
+ }), t[3] || (t[3] = b("span", null, " 和 ", -1)), l(e(N), {
1448
+ onClick: a
1449
+ }, {
1450
+ default: m(() => t[1] || (t[1] = [z("隐私协议")])),
1451
+ _: 1,
1452
+ __: [1]
1453
+ })]));
1454
+ }
1455
+ }), St = /* @__PURE__ */ I(kt, [["__scopeId", "data-v-18e831ec"]]), At = {
1456
+ class: "content"
1457
+ }, It = {
1458
+ class: "handle"
1459
+ }, Pt = /* @__PURE__ */ S({
1460
+ __name: "AuthkitPasswordAuth",
1461
+ props: {
1462
+ size: {
1463
+ type: String,
1464
+ required: !0
1465
+ },
1466
+ loading: {
1467
+ type: Boolean,
1468
+ required: !0,
1469
+ default: () => !0
1470
+ }
1471
+ },
1472
+ emits: ["submit"],
1473
+ setup(i, {
1474
+ emit: n
1475
+ }) {
1476
+ const u = n, s = i;
1477
+ async function a(_, f) {
1478
+ const p = await Oe({
1479
+ password: _
1480
+ });
1481
+ p || f("密码验证请求出错!");
1482
+ const {
1483
+ isValidate: d,
1484
+ message: c
1485
+ } = p.data;
1486
+ d || f(c), f();
1487
+ }
1488
+ const o = h(), t = h({
1489
+ email: void 0,
1490
+ password: void 0
1491
+ });
1492
+ async function r() {
1493
+ o.value.validate().then((_) => {
1494
+ _ || u("submit", t.value);
1495
+ });
1496
+ }
1497
+ return (_, f) => (g(), P("div", At, [l(e(O), {
1498
+ ref_key: "formRef",
1499
+ ref: o,
1500
+ model: t.value,
1501
+ size: s.size,
1502
+ "auto-label-width": ""
1503
+ }, {
1504
+ default: m(() => [l(e(A), {
1505
+ field: "email",
1506
+ label: "邮箱",
1507
+ "hide-label": "",
1508
+ rules: [{
1509
+ required: !0,
1510
+ message: "请输入邮箱"
1462
1511
  }, {
1463
- default: m(() => f[3] || (f[3] = [z(" 提交 ")])),
1464
- _: 1,
1465
- __: [3]
1466
- }, 8, ["loading"])])]),
1512
+ type: "email",
1513
+ message: "请输入有效的邮箱"
1514
+ }]
1515
+ }, {
1516
+ default: m(() => [l(e(V), {
1517
+ modelValue: t.value.email,
1518
+ "onUpdate:modelValue": f[0] || (f[0] = (p) => t.value.email = p),
1519
+ placeholder: "请输入邮箱",
1520
+ autocomplete: "email username",
1521
+ type: "email"
1522
+ }, null, 8, ["modelValue"])]),
1523
+ _: 1
1524
+ }), l(e(A), {
1525
+ field: "password",
1526
+ label: "密码",
1527
+ "hide-label": "",
1528
+ rules: [{
1529
+ required: !0,
1530
+ message: "请输入密码"
1531
+ }, {
1532
+ validator: a
1533
+ }]
1534
+ }, {
1535
+ default: m(() => [l(e(V), {
1536
+ modelValue: t.value.password,
1537
+ "onUpdate:modelValue": f[1] || (f[1] = (p) => t.value.password = p),
1538
+ placeholder: "请输入密码",
1539
+ type: "password",
1540
+ autocomplete: "current-password"
1541
+ }, null, 8, ["modelValue"])]),
1467
1542
  _: 1
1468
- })]),
1543
+ }, 8, ["rules"]), b("div", It, [l(e(U), {
1544
+ type: "primary",
1545
+ loading: s.loading,
1546
+ long: "",
1547
+ size: s.size,
1548
+ onClick: r
1549
+ }, {
1550
+ default: m(() => f[2] || (f[2] = [z(" 登陆 ")])),
1551
+ _: 1,
1552
+ __: [2]
1553
+ }, 8, ["loading", "size"])])]),
1469
1554
  _: 1
1470
- }, 8, ["model", "size"]));
1555
+ }, 8, ["model", "size"])]));
1471
1556
  }
1472
- }), Lt = /* @__PURE__ */ I(Tt, [["__scopeId", "data-v-a9e25b03"]]), Bt = /* @__PURE__ */ S({
1473
- __name: "AuthkitSetPassword",
1557
+ }), Vt = /* @__PURE__ */ I(Pt, [["__scopeId", "data-v-76d6bc26"]]), Ut = {
1558
+ class: "SwitchSignUpOrResetPassword"
1559
+ }, $t = /* @__PURE__ */ S({
1560
+ __name: "AuthkitSwitchSignUpOrResetPassword",
1561
+ emits: ["switchSignUp", "switchResetPassword"],
1562
+ setup(i, {
1563
+ emit: n
1564
+ }) {
1565
+ const u = n;
1566
+ function s() {
1567
+ u("switchSignUp");
1568
+ }
1569
+ function a() {
1570
+ u("switchResetPassword");
1571
+ }
1572
+ return (o, t) => (g(), P("div", Ut, [b("span", null, [t[1] || (t[1] = b("span", null, " 还没有账户?", -1)), l(e(N), {
1573
+ style: {
1574
+ padding: "0px"
1575
+ },
1576
+ onClick: s
1577
+ }, {
1578
+ default: m(() => t[0] || (t[0] = [z("去注册?")])),
1579
+ _: 1,
1580
+ __: [0]
1581
+ })]), l(e(N), {
1582
+ style: {
1583
+ padding: "0px"
1584
+ },
1585
+ onClick: a
1586
+ }, {
1587
+ default: m(() => t[2] || (t[2] = [z(" 忘记密码?")])),
1588
+ _: 1,
1589
+ __: [2]
1590
+ })]));
1591
+ }
1592
+ }), Ct = /* @__PURE__ */ I($t, [["__scopeId", "data-v-14e3aab2"]]), xt = {
1593
+ class: "SignIn"
1594
+ }, qt = /* @__PURE__ */ S({
1595
+ __name: "AuthkitSignIn",
1474
1596
  props: {
1475
1597
  size: {
1476
1598
  type: String,
1477
1599
  required: !0
1600
+ },
1601
+ loading: {
1602
+ type: Boolean,
1603
+ required: !0,
1604
+ default: () => !0
1478
1605
  }
1479
1606
  },
1480
- setup(i) {
1481
- const {
1482
- userProfile: n,
1483
- loading: u,
1484
- fetchUserProfile: s,
1485
- isLoggedIn: a
1486
- } = Z(), o = h("hidden"), t = i;
1487
- function r(p) {
1488
- o.value = p;
1607
+ emits: ["submit", "switchSignUp", "switchResetPassword"],
1608
+ setup(i, {
1609
+ emit: n
1610
+ }) {
1611
+ const u = n, s = i, a = ve(), o = T(() => !!a.OAuth);
1612
+ function t() {
1613
+ u("switchSignUp");
1489
1614
  }
1490
- function _(p) {
1491
- N.success("密码修改成功"), o.value = "hidden", s();
1615
+ function r() {
1616
+ u("switchResetPassword");
1492
1617
  }
1493
- function f() {
1494
- o.value = "update";
1618
+ async function _(f) {
1619
+ u("submit", f);
1495
1620
  }
1496
- return G(() => {
1497
- a.value && !n.value && s();
1498
- }), (p, d) => {
1499
- var c, v, w, $;
1500
- return g(), P(W, null, [!((c = e(n)) != null && c.email) && !((v = e(n)) != null && v.phone) ? (g(), y(e(L), {
1501
- key: 0,
1502
- title: "去绑定邮箱"
1503
- }, {
1504
- action: m(() => [l(e(U), {
1505
- size: t.size,
1506
- type: "primary",
1507
- onClick: d[0] || (d[0] = (q) => r("update"))
1508
- }, {
1509
- default: m(() => d[2] || (d[2] = [z(" 去绑定邮箱 ")])),
1510
- _: 1,
1511
- __: [2]
1512
- }, 8, ["size"])]),
1513
- default: m(() => [d[3] || (d[3] = z(" 请先去绑定邮箱或者手机号码,才能设置密码 "))]),
1514
- _: 1,
1515
- __: [3]
1516
- })) : k("", !0), (w = e(n)) != null && w.email && o.value === "hidden" ? (g(), y(e(L), {
1517
- key: 1,
1518
- title: "更改密码"
1519
- }, {
1520
- action: m(() => [l(e(U), {
1521
- size: t.size,
1522
- type: "primary",
1523
- onClick: d[1] || (d[1] = (q) => r("verify"))
1524
- }, {
1525
- default: m(() => d[4] || (d[4] = [z("更改密码")])),
1526
- _: 1,
1527
- __: [4]
1528
- }, 8, ["size"])]),
1529
- default: m(() => [d[5] || (d[5] = z(" 为了账户安全修改密码前会先验证身份 "))]),
1530
- _: 1,
1531
- __: [5]
1532
- })) : k("", !0), o.value === "update" ? (g(), y(Lt, {
1533
- key: 2,
1534
- size: t.size,
1535
- loading: e(u),
1536
- onSubmit: _
1537
- }, null, 8, ["size", "loading"])) : k("", !0), o.value === "verify" ? (g(), y(Y, {
1538
- key: 3,
1539
- size: t.size,
1540
- email: ($ = e(n)) == null ? void 0 : $.email,
1541
- onNext: f
1542
- }, null, 8, ["size", "email"])) : k("", !0)], 64);
1543
- };
1621
+ return (f, p) => (g(), P("div", xt, [k("", !0), l(Vt, {
1622
+ loading: s.loading,
1623
+ size: s.size,
1624
+ onSubmit: _
1625
+ }, null, 8, ["loading", "size"]), o.value ? se(f.$slots, "OAuth", {
1626
+ key: 1
1627
+ }, void 0, !0) : k("", !0), l(Ct, {
1628
+ onSwitchSignUp: t,
1629
+ onSwitchResetPassword: r
1630
+ })]));
1544
1631
  }
1545
- }), Ot = /* @__PURE__ */ S({
1546
- __name: "AuthkitEmailBinding",
1632
+ }), Rt = /* @__PURE__ */ I(qt, [["__scopeId", "data-v-f52ce3b3"]]), Tt = {
1633
+ class: "SignUp"
1634
+ }, Lt = /* @__PURE__ */ S({
1635
+ __name: "AuthkitSignUp",
1547
1636
  props: {
1548
1637
  size: {
1549
1638
  type: String,
1550
1639
  required: !0
1640
+ },
1641
+ loading: {
1642
+ type: Boolean,
1643
+ required: !0,
1644
+ default: () => !0
1551
1645
  }
1552
1646
  },
1553
- setup(i) {
1554
- const {
1555
- userProfile: n,
1556
- loading: u,
1557
- fetchUserProfile: s
1558
- } = Z(), a = h("hidden"), o = i;
1559
- function t(f) {
1560
- a.value = f;
1647
+ emits: ["switchSignIn", "submit"],
1648
+ setup(i, {
1649
+ emit: n
1650
+ }) {
1651
+ const u = n, s = i;
1652
+ function a() {
1653
+ u("switchSignIn");
1561
1654
  }
1562
- function r(f) {
1563
- u.value = !0;
1564
- const p = {
1565
- email: f.email,
1566
- userToken: f.userToken,
1567
- emailVerifyId: f.emailVerifyId
1568
- };
1569
- be(p).then(() => {
1570
- u.value = !1, N.success("绑定成功"), a.value = "hidden", s();
1571
- }).catch(() => {
1572
- u.value = !1;
1573
- });
1655
+ async function o(t) {
1656
+ u("submit", t);
1574
1657
  }
1575
- function _() {
1576
- a.value = "update";
1658
+ return (t, r) => (g(), P("div", Tt, [l(oe, {
1659
+ size: s.size,
1660
+ loading: i.loading,
1661
+ onSubmit: o
1662
+ }, null, 8, ["size", "loading"]), l(ue, {
1663
+ onSwitchSignIn: a
1664
+ })]));
1665
+ }
1666
+ }), Bt = /* @__PURE__ */ I(Lt, [["__scopeId", "data-v-058bbbef"]]), Ot = ["src"], Et = /* @__PURE__ */ S({
1667
+ __name: "AuthkitAuthTitle",
1668
+ props: {
1669
+ size: {
1670
+ type: [String, Number],
1671
+ required: !1,
1672
+ default: 30
1673
+ },
1674
+ fontSize: {
1675
+ type: Number,
1676
+ required: !1,
1677
+ default: 18
1678
+ },
1679
+ lineHeight: {
1680
+ type: Number,
1681
+ required: !1,
1682
+ default: 60
1577
1683
  }
1578
- return G(() => {
1579
- n.value || s();
1580
- }), (f, p) => {
1581
- var d, c, v;
1582
- return g(), P(W, null, [!((d = e(n)) != null && d.email) && a.value === "hidden" ? (g(), y(e(L), {
1583
- key: 0,
1584
- title: "绑定邮箱"
1585
- }, {
1586
- action: m(() => [l(e(U), {
1587
- size: o.size,
1588
- type: "primary",
1589
- onClick: p[0] || (p[0] = (w) => t("update"))
1590
- }, {
1591
- default: m(() => p[2] || (p[2] = [z(" 绑定邮箱 ")])),
1592
- _: 1,
1593
- __: [2]
1594
- }, 8, ["size"])]),
1595
- default: m(() => [p[3] || (p[3] = z(" 您还未绑定邮箱,请点击绑定邮箱 "))]),
1596
- _: 1,
1597
- __: [3]
1598
- })) : k("", !0), (c = e(n)) != null && c.email && a.value === "hidden" ? (g(), y(e(L), {
1599
- key: 1,
1600
- title: "更改邮箱"
1601
- }, {
1602
- action: m(() => [l(e(U), {
1603
- size: o.size,
1604
- type: "primary",
1605
- onClick: p[1] || (p[1] = (w) => t("verify"))
1606
- }, {
1607
- default: m(() => p[4] || (p[4] = [z(" 更改邮箱 ")])),
1608
- _: 1,
1609
- __: [4]
1610
- }, 8, ["size"])]),
1611
- default: m(() => {
1612
- var w;
1613
- return [z(B(`您绑定的邮箱为${e(de)((w = e(n)) == null ? void 0 : w.email)}`) + " ", 1)];
1614
- }),
1615
- _: 1
1616
- })) : k("", !0), a.value === "update" ? (g(), y(re, {
1617
- key: 2,
1618
- loading: e(u),
1619
- size: o.size,
1620
- onSubmit: r
1621
- }, null, 8, ["loading", "size"])) : k("", !0), a.value === "verify" ? (g(), y(Y, {
1622
- key: 3,
1623
- size: o.size,
1624
- email: (v = e(n)) == null ? void 0 : v.email,
1625
- onNext: _
1626
- }, null, 8, ["size", "email"])) : k("", !0)], 64);
1627
- };
1684
+ },
1685
+ setup(i) {
1686
+ const n = i, u = `${n.size}px`, s = `${n.fontSize}px`, a = `${n.lineHeight}px`, {
1687
+ currentView: o
1688
+ } = Z(), {
1689
+ appsData: t
1690
+ } = J(), r = T(() => o.value === "signIn" ? `${t.value.name}登录` : o.value === "signUp" ? `${t.value.name}账号注册` : o.value === "resetPassword" ? `${t.value.name}密码重置` : "");
1691
+ return (_, f) => (g(), P("div", {
1692
+ class: "Title",
1693
+ style: j({
1694
+ fontSize: s,
1695
+ lineHeight: a
1696
+ })
1697
+ }, [e(t).applicationLogoUrl ? (g(), P("img", {
1698
+ key: 0,
1699
+ src: e(t).applicationLogoUrl,
1700
+ srcset: "",
1701
+ style: j({
1702
+ width: u
1703
+ })
1704
+ }, null, 12, Ot)) : k("", !0), b("span", null, B(r.value), 1), se(_.$slots, "default", {}, void 0, !0)], 4));
1628
1705
  }
1629
- }), Et = /* @__PURE__ */ I(Ot, [["__scopeId", "data-v-b2663ea1"]]), Nt = /* @__PURE__ */ S({
1630
- __name: "AuthkitGithubBinding",
1706
+ }), de = /* @__PURE__ */ I(Et, [["__scopeId", "data-v-8255764a"]]), Nt = {
1707
+ class: "Auth"
1708
+ }, Ft = {
1709
+ class: "body"
1710
+ }, Gt = /* @__PURE__ */ S({
1711
+ __name: "AuthkitAuth",
1631
1712
  props: {
1632
1713
  size: {
1633
1714
  type: String,
1634
1715
  required: !0
1716
+ },
1717
+ showTitle: {
1718
+ type: Boolean,
1719
+ default: () => !0
1635
1720
  }
1636
1721
  },
1637
- setup(i) {
1638
- const {
1639
- userProfile: n,
1640
- fetchUserProfile: u
1641
- } = Z(), s = h("hidden"), a = h(!1);
1642
- let o;
1643
- const t = i;
1644
- function r(c) {
1645
- s.value = c;
1646
- }
1647
- function _() {
1648
- ae().then(({
1649
- data: c
1650
- }) => {
1651
- const {
1652
- redirectUri: v
1653
- } = c;
1654
- a.value = !0, window.open(v, "_blank");
1655
- });
1656
- }
1657
- function f() {
1658
- we().then(() => {
1659
- N.success("解绑成功"), s.value = "hidden", u();
1660
- });
1661
- }
1662
- function p() {
1663
- s.value === "bind" && (s.value = "hidden", _()), s.value === "unbind" && f();
1664
- }
1665
- function d() {
1666
- a.value && u();
1667
- }
1668
- return G(() => {
1669
- n.value || u(), o = setInterval(d, 1e3);
1670
- }), te(() => {
1671
- o && clearInterval(o);
1672
- }), (c, v) => {
1673
- var w, $, q;
1674
- return g(), P(W, null, [!((w = e(n)) != null && w.github) && s.value === "hidden" ? (g(), y(e(L), {
1675
- key: 0,
1676
- title: "绑定GitHUb"
1677
- }, {
1678
- action: m(() => [l(e(U), {
1679
- size: t.size,
1680
- type: "primary",
1681
- onClick: v[0] || (v[0] = (R) => r("bind"))
1682
- }, {
1683
- default: m(() => v[2] || (v[2] = [z(" 绑定GitHUb ")])),
1684
- _: 1,
1685
- __: [2]
1686
- }, 8, ["size"])]),
1687
- default: m(() => [v[3] || (v[3] = z(" 请尚未绑定GitHub,请点击绑定GitHUb "))]),
1688
- _: 1,
1689
- __: [3]
1690
- })) : k("", !0), ($ = e(n)) != null && $.github && s.value === "hidden" ? (g(), y(e(L), {
1691
- key: 1,
1692
- title: "解绑GitHub"
1693
- }, {
1694
- action: m(() => [l(e(U), {
1695
- size: t.size,
1696
- type: "primary",
1697
- onClick: v[1] || (v[1] = (R) => r("unbind"))
1698
- }, {
1699
- default: m(() => v[4] || (v[4] = [z(" 解绑GitHUb ")])),
1700
- _: 1,
1701
- __: [4]
1702
- }, 8, ["size"])]),
1703
- default: m(() => {
1704
- var R, C, x;
1705
- return [b("span", null, B(`您绑定的账号为 ${(C = (R = e(n)) == null ? void 0 : R.github) == null ? void 0 : C.login}`), 1), l(e(le), {
1706
- "image-url": (x = e(n)) == null ? void 0 : x.avatar,
1707
- size: 42
1708
- }, null, 8, ["image-url"])];
1709
- }),
1710
- _: 1
1711
- })) : k("", !0), s.value === "bind" || s.value === "unbind" ? (g(), y(Y, {
1712
- key: 2,
1713
- size: t.size,
1714
- email: (q = e(n)) == null ? void 0 : q.email,
1715
- onNext: p
1716
- }, null, 8, ["size", "email"])) : k("", !0)], 64);
1717
- };
1718
- }
1719
- }), Ft = {
1720
- class: "content"
1721
- }, Gt = {
1722
- class: "left"
1723
- }, Ht = {
1724
- class: "right"
1725
- }, Mt = /* @__PURE__ */ S({
1726
- __name: "AuthkitAppSetting",
1727
- emits: ["confirm", "cancel"],
1722
+ emits: ["toPrivacyPolicy", "toUserServiceAgreement"],
1728
1723
  setup(i, {
1729
- expose: n,
1730
- emit: u
1724
+ emit: n
1731
1725
  }) {
1732
- const s = u;
1733
- function a() {
1734
- s("cancel");
1726
+ const u = i, s = n, {
1727
+ signInSubmit: a,
1728
+ signUpSubmit: o,
1729
+ resetPasswordSubmit: t,
1730
+ currentView: r,
1731
+ authSignInLoading: _,
1732
+ authSignUpLoading: f,
1733
+ resetPasswordLoading: p,
1734
+ switchSignUp: d,
1735
+ switchResetPassword: c,
1736
+ switchSignIn: v
1737
+ } = Z(), {
1738
+ appsAuthPageInfoApi: w
1739
+ } = J();
1740
+ function $() {
1741
+ s("toPrivacyPolicy");
1735
1742
  }
1736
- const o = h("large"), t = h(["PersonalInformation"]), r = h([{
1737
- name: "个人信息",
1738
- path: "PersonalInformation",
1739
- meta: {
1740
- icon: "mingcute:user-edit-fill"
1741
- },
1742
- children: []
1743
- }, {
1744
- name: "账户管理",
1745
- path: "AccountManage",
1746
- meta: {
1747
- icon: "mingcute:badge-fill"
1748
- },
1749
- children: [{
1750
- name: "邮箱",
1751
- path: "EmailBinding",
1752
- meta: {
1753
- icon: "ic:baseline-email"
1754
- }
1755
- }, {
1756
- name: "密码",
1757
- path: "SetPassword",
1758
- meta: {
1759
- icon: "mdi:password"
1760
- }
1761
- }]
1743
+ function q() {
1744
+ s("toUserServiceAgreement");
1745
+ }
1746
+ return w(), (R, C) => (g(), P("div", Nt, [i.showTitle ? (g(), y(de, {
1747
+ key: 0,
1748
+ size: 32,
1749
+ "font-size": 20
1750
+ })) : k("", !0), b("div", Ft, [e(r) === "signIn" ? (g(), y(Rt, {
1751
+ key: 0,
1752
+ size: u.size,
1753
+ loading: e(_),
1754
+ onSwitchSignUp: e(d),
1755
+ onSwitchResetPassword: e(c),
1756
+ onSubmit: C[0] || (C[0] = (x) => e(a)(x))
1762
1757
  }, {
1763
- name: "第三方账户",
1764
- icon: "Menus/Space/Message/Index",
1765
- path: "AccountBinding",
1766
- children: [
1767
- {
1768
- name: "GitHub",
1769
- path: "GithubBinding",
1770
- meta: {
1771
- icon: "bi:github"
1772
- }
1773
- }
1774
- // {
1775
- // name: '微信',
1776
- // icon: 'Menus/Space/Message/NoticeNotifications',
1777
- // path: 'NoticeNotifications',
1778
- // },
1779
- ]
1780
- }]);
1781
- function _(c, v) {
1782
- const w = c.path;
1783
- console.log(w, v, "lokokoko"), t.value = [w];
1758
+ OAuth: m(() => [l(mt, {
1759
+ size: u.size
1760
+ }, null, 8, ["size"])]),
1761
+ _: 1
1762
+ }, 8, ["size", "loading", "onSwitchSignUp", "onSwitchResetPassword"])) : e(r) === "signUp" ? (g(), y(Bt, {
1763
+ key: 1,
1764
+ size: u.size,
1765
+ loading: e(f),
1766
+ onSwitchSignIn: e(v),
1767
+ onSubmit: C[1] || (C[1] = (x) => e(o)(x))
1768
+ }, null, 8, ["size", "loading", "onSwitchSignIn"])) : e(r) === "resetPassword" ? (g(), y(wt, {
1769
+ key: 2,
1770
+ size: u.size,
1771
+ loading: e(p),
1772
+ onSwitchSignIn: e(v),
1773
+ onSubmit: C[2] || (C[2] = (x) => e(t)(x))
1774
+ }, null, 8, ["size", "loading", "onSwitchSignIn"])) : k("", !0), l(St, {
1775
+ onToPrivacyPolicy: $,
1776
+ onToUserServiceAgreement: q
1777
+ })])]));
1778
+ }
1779
+ }), Ht = /* @__PURE__ */ I(Gt, [["__scopeId", "data-v-67d0eb00"]]), Mt = /* @__PURE__ */ S({
1780
+ __name: "AuthkitAuthModal",
1781
+ props: {
1782
+ size: {
1783
+ type: String,
1784
+ required: !0
1785
+ },
1786
+ appId: {
1787
+ type: String,
1788
+ default: () => ""
1784
1789
  }
1790
+ },
1791
+ emits: ["confirm", "close", "toPrivacyPolicy", "toUserServiceAgreement"],
1792
+ setup(i, {
1793
+ emit: n
1794
+ }) {
1785
1795
  const {
1786
- changeType: f,
1787
- show: p
1788
- } = Ue(s);
1789
- function d(c, v) {
1790
- console.log(c), p.value = v, f.value = "编辑";
1796
+ addSignInCallback: u
1797
+ } = Z(), {
1798
+ show: s
1799
+ } = Ve(), a = i, o = n;
1800
+ function t(_) {
1801
+ _(!0);
1791
1802
  }
1792
- return n({
1793
- setData: d
1794
- }), (c, v) => (g(), y(e(ne), {
1795
- visible: e(p),
1796
- "onUpdate:visible": v[1] || (v[1] = (w) => se(p) ? p.value = w : null),
1797
- "unmount-on-close": "",
1798
- "body-class": "AppSettingbodyClass",
1799
- "mask-closable": !1,
1803
+ function r() {
1804
+ s.value = !1, o("close");
1805
+ }
1806
+ return u(() => {
1807
+ s.value = !1;
1808
+ }), (_, f) => (g(), y(e(le), {
1809
+ visible: e(s),
1810
+ "onUpdate:visible": f[0] || (f[0] = (p) => ie(s) ? s.value = p : null),
1800
1811
  footer: !1,
1801
- width: "700px",
1802
- onCancel: a
1812
+ "mask-closable": !1,
1813
+ "title-align": "center",
1814
+ "unmount-on-close": "",
1815
+ width: "auto",
1816
+ "modal-class": "SignInModalClass",
1817
+ onBeforeOk: t,
1818
+ onClose: r
1803
1819
  }, {
1804
- title: m(() => v[2] || (v[2] = [z(" 系统设置 ")])),
1805
- default: m(() => [b("div", Ft, [b("div", Gt, [l(Ve, {
1806
- "selected-keys": t.value,
1807
- "onUpdate:selectedKeys": v[0] || (v[0] = (w) => t.value = w),
1808
- menus: r.value,
1809
- onChange: _
1810
- }, null, 8, ["selected-keys", "menus"])]), b("div", Ht, [t.value[0] === "PersonalInformation" ? (g(), y($t, {
1811
- key: 0,
1812
- size: o.value
1813
- }, null, 8, ["size"])) : k("", !0), t.value[0] === "EmailBinding" ? (g(), y(Et, {
1814
- key: 1,
1815
- size: o.value
1816
- }, null, 8, ["size"])) : k("", !0), t.value[0] === "SetPassword" ? (g(), y(Bt, {
1817
- key: 2,
1818
- size: o.value
1819
- }, null, 8, ["size"])) : k("", !0), t.value[0] === "GithubBinding" ? (g(), y(Nt, {
1820
- key: 3,
1821
- size: o.value
1822
- }, null, 8, ["size"])) : k("", !0)])])]),
1820
+ title: m(() => [l(de)]),
1821
+ default: m(() => [l(Ht, {
1822
+ "show-title": !1,
1823
+ size: a.size
1824
+ }, null, 8, ["size"])]),
1823
1825
  _: 1
1824
1826
  }, 8, ["visible"]));
1825
1827
  }
1826
- }), mi = /* @__PURE__ */ I(Mt, [["__scopeId", "data-v-cd51dcec"]]);
1828
+ }), mi = /* @__PURE__ */ I(Mt, [["__scopeId", "data-v-a22ae615"]]);
1827
1829
  export {
1828
- zt as A,
1829
- re as E,
1830
- Be as O,
1831
- De as P,
1832
- Je as R,
1830
+ di as A,
1831
+ oe as E,
1832
+ mt as O,
1833
+ gt as P,
1834
+ wt as R,
1833
1835
  X as S,
1834
- M as _,
1835
- di as a,
1836
- mi as b,
1837
- ue as c,
1838
- ut as d,
1839
- gt as e,
1840
- st as f,
1841
- oe as g,
1842
- at as h,
1843
- Ye as i,
1844
- $t as j,
1836
+ D as _,
1837
+ Ht as a,
1838
+ de as b,
1839
+ mi as c,
1840
+ Rt as d,
1841
+ Bt as e,
1842
+ Vt as f,
1843
+ ue as g,
1844
+ Ct as h,
1845
+ St as i,
1846
+ Le as j,
1845
1847
  Y as k,
1846
- Nt as l,
1847
- Bt as m,
1848
- Et as n,
1849
- Lt as o
1848
+ Ye as l,
1849
+ je as m,
1850
+ Xe as n,
1851
+ De as o
1850
1852
  };