@huyooo/ui 0.10.4 → 0.11.0

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 (65) hide show
  1. package/dist/AuthkitSignInPhone-BWPCpUie.js +3034 -0
  2. package/dist/{Clipboard-CMm8I4Rb.js → Clipboard-CK_nROjb.js} +1 -1
  3. package/dist/CollapseItem-DUzZA6tx.js +124 -0
  4. package/dist/{Contact-Dgn8_it4.js → Contact-CpHU1bJ7.js} +2 -2
  5. package/dist/{CustomTable-CVZ4mFzi.js → CustomTable-1W5byjgJ.js} +3 -2
  6. package/dist/FeedbackModal-qAJLL3V3.js +1535 -0
  7. package/dist/{LandingPageSectionTabs-Dv_xOLqR.js → LandingPageSectionTabs-B6ZVxR47.js} +1 -1
  8. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-D109kT8_.js +1282 -0
  9. package/dist/{PaySubscriptions-W6GJ28uE.js → PaySubscriptions-C4Een__-.js} +17 -16
  10. package/dist/{ReferrerReferees-C5Sjn7aD.js → ReferrerReferees-DIassvGO.js} +8 -8
  11. package/dist/{Upload.vue_vue_type_script_setup_true_lang-C4-In_x4.js → Upload.vue_vue_type_script_setup_true_lang-DA8VZBrl.js} +1 -1
  12. package/dist/UserAccountMenu-BIRTtjLb.js +266 -0
  13. package/dist/UserSubscriptionBaseInformation-BUs3qiHd.js +60 -0
  14. package/dist/WidthContainer-TXsvW1ut.js +673 -0
  15. package/dist/{apiClients-DJchWBAG.js → apiClients-ANEApCyY.js} +84 -75
  16. package/dist/authkit.d.ts +5 -6
  17. package/dist/authkit.js +43 -43
  18. package/dist/common.js +3 -3
  19. package/dist/components/Authkit/Auth/AuthkitServiceAgreementAndPrivacyProtection.vue.d.ts +5 -5
  20. package/dist/components/Authkit/AuthkitAuthModal.vue.d.ts +13 -31
  21. package/dist/components/Feedback/FeedbackBubbleEnd.vue.d.ts +1 -1
  22. package/dist/components/Feedback/FeedbackBubbleStart.vue.d.ts +1 -1
  23. package/dist/components/User/UserButton.vue.d.ts +1 -36
  24. package/dist/components/User/UserPanel.vue.d.ts +26 -201
  25. package/dist/components/User/UserPanelItem.vue.d.ts +38 -0
  26. package/dist/composables/Authkit/useAuthkitAuth.d.ts +34 -10
  27. package/dist/composables/Authkit/useAuthkitAuthModal.d.ts +22 -3
  28. package/dist/composables/Authkit/useLegalLinks.d.ts +34 -0
  29. package/dist/composables/Authkit/useOauth.d.ts +0 -1
  30. package/dist/composables.d.ts +3 -2
  31. package/dist/composables.js +27 -25
  32. package/dist/{useUploadCos-BO3W_uqs.js → cos-js-sdk-v5-BJ5AlBRu.js} +2232 -2469
  33. package/dist/feedback.js +15 -16
  34. package/dist/landingPage.js +1 -1
  35. package/dist/main.js +177 -177
  36. package/dist/message.js +9 -10
  37. package/dist/pay.js +1 -1
  38. package/dist/privateCom.js +1 -1
  39. package/dist/referrer.js +1 -1
  40. package/dist/style.css +1 -1
  41. package/dist/upload.js +2 -2
  42. package/dist/{useAuthkitAppsAuthPageInfo-C3EHOtlk.js → useAuthkitAppsAuthPageInfo-Da2yJTT-.js} +1 -1
  43. package/dist/{useAuthkitCreateAndUpdate-CPkogY7K.js → useAuthkitCreateAndUpdate-BLs5vQOu.js} +1 -1
  44. package/dist/useAuthkitUsersProfile-Cx8NXjlt.js +186 -0
  45. package/dist/{useDownloads-COXmopbe.js → useDownloads-DT5W2af6.js} +1 -1
  46. package/dist/useLegalLinks-BIF45kUt.js +60 -0
  47. package/dist/{useMessageNotifications-SIM85vdb.js → useMessageNotifications-CavBmgO7.js} +1 -1
  48. package/dist/{useSEO-DeAU9YEc.js → useSEO-MPXQf0dn.js} +2 -2
  49. package/dist/{useTableHandle-CWu0LbeI.js → useTableHandle--NSbZ-57.js} +1 -1
  50. package/dist/useUploadCos-D6y0INvP.js +242 -0
  51. package/dist/user.d.ts +1 -0
  52. package/dist/user.js +9 -7
  53. package/dist/utils/legalLinks.d.ts +22 -0
  54. package/package.json +1 -1
  55. package/dist/AuthkitAuthModal-De0eEWOC.js +0 -2112
  56. package/dist/AuthkitSignInPhone-DEUVn3Rq.js +0 -920
  57. package/dist/CollapseItem-BAuejDBZ.js +0 -57
  58. package/dist/FeedbackItem-CRiLkWMh.js +0 -495
  59. package/dist/FeedbackModal-B8WLPCy_.js +0 -1053
  60. package/dist/MessageHandle-DpIUeQ7U.js +0 -1147
  61. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-BbtfWRUD.js +0 -142
  62. package/dist/UserAccountMenu-OdwonGFa.js +0 -633
  63. package/dist/WidthContainer-Cpdc67hQ.js +0 -652
  64. package/dist/index-CUfrjRxu.js +0 -73
  65. package/dist/useAuthkitUsersProfile-BqW74gfs.js +0 -172
@@ -1,920 +0,0 @@
1
- import { defineComponent as z, computed as N, openBlock as g, createElementBlock as w, normalizeStyle as O, createElementVNode as s, createCommentVNode as $, renderSlot as D, ref as m, toDisplayString as A, createVNode as o, unref as a, withCtx as r, createTextVNode as V, onMounted as K, createBlock as E, useSlots as G } from "vue";
2
- import { _ as C } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
- /* empty css */
4
- /* empty css */
5
- /* empty css */
6
- /* empty css */
7
- /* empty css */
8
- /* empty css */
9
- /* empty css */
10
- import { List as J, ListItem as T, ListItemMeta as L, Avatar as F, Button as P, Form as U, FormItem as b, Input as S, Link as M } from "@arco-design/web-vue";
11
- import { e as R } from "./apiClients-DJchWBAG.js";
12
- import { u as Q, a as W } from "./useAuthkitUsersProfile-BqW74gfs.js";
13
- import { S as B, n as X, o as Y } from "./AuthkitAuthModal-De0eEWOC.js";
14
- const Z = {
15
- class: "header"
16
- }, ee = ["href"], te = {
17
- class: "container"
18
- }, oe = /* @__PURE__ */ z({
19
- __name: "AuthkitAuthContainer",
20
- props: {
21
- applicationLogoUrl: {
22
- type: String,
23
- required: !0,
24
- default: () => ""
25
- },
26
- name: {
27
- type: String,
28
- required: !0,
29
- default: () => ""
30
- },
31
- description: {
32
- type: String,
33
- required: !0,
34
- default: () => ""
35
- },
36
- appHomePage: {
37
- type: String,
38
- required: !0,
39
- default: () => ""
40
- },
41
- backgroundImage: {
42
- type: String,
43
- required: !0,
44
- default: () => ""
45
- },
46
- backgroundColor: {
47
- type: String,
48
- required: !0,
49
- default: () => ""
50
- },
51
- linkColor: {
52
- type: String,
53
- default: "var(--huyooo-accent-primary)"
54
- },
55
- backgroundType: {
56
- type: String,
57
- default: "color"
58
- }
59
- },
60
- setup(y) {
61
- const f = y, n = N(() => f.backgroundType === "color" ? {
62
- backgroundColor: f.backgroundColor
63
- } : {
64
- backgroundImage: `url(${f.backgroundImage})`
65
- });
66
- return (l, p) => (g(), w("div", {
67
- class: "auth",
68
- style: O(n.value)
69
- }, [s("div", Z, [f.name ? (g(), w("a", {
70
- key: 0,
71
- href: f.appHomePage,
72
- target: "_self",
73
- class: "link",
74
- style: O({
75
- color: f.linkColor
76
- })
77
- }, " 返回主页 ", 12, ee)) : $("", !0)]), s("div", te, [D(l.$slots, "default", {}, void 0, !0)])], 4));
78
- }
79
- }), Qe = /* @__PURE__ */ C(oe, [["__scopeId", "data-v-0e13d3ff"]]), ae = {
80
- class: "box"
81
- }, le = {
82
- class: "title"
83
- }, se = {
84
- class: "content"
85
- }, ie = {
86
- class: "redirect"
87
- }, re = {
88
- style: {
89
- "font-weight": "bold",
90
- "font-size": "12px"
91
- }
92
- }, ne = /* @__PURE__ */ z({
93
- __name: "AuthkitAuthorize",
94
- props: {
95
- size: {
96
- type: String,
97
- required: !0
98
- },
99
- title: {
100
- type: String,
101
- required: !0,
102
- default: () => "授权登录"
103
- },
104
- logo: {
105
- type: String,
106
- required: !0,
107
- default: () => ""
108
- },
109
- clientId: {
110
- type: String,
111
- required: !0,
112
- default: () => ""
113
- },
114
- responseType: {
115
- type: String,
116
- required: !0,
117
- default: () => ""
118
- },
119
- scope: {
120
- type: String,
121
- required: !0,
122
- default: () => ""
123
- },
124
- state: {
125
- type: String,
126
- required: !0,
127
- default: () => ""
128
- },
129
- redirectUri: {
130
- type: String,
131
- required: !0,
132
- default: () => ""
133
- },
134
- userInfo: {
135
- type: Object,
136
- required: !0,
137
- default: () => ""
138
- }
139
- },
140
- setup(y) {
141
- const f = m(!1), n = y, l = m({
142
- appKey: "",
143
- name: "",
144
- homePageUrl: "",
145
- createAt: "",
146
- authorizationCallback: ""
147
- });
148
- async function p() {
149
- const {
150
- data: u
151
- } = await R.apps.findOne.post({
152
- id: n.clientId
153
- });
154
- u && (l.value = u);
155
- }
156
- p();
157
- async function d() {
158
- f.value = !0;
159
- const {
160
- data: u
161
- } = await R.oauth2.authorize.post({
162
- client_id: n.clientId,
163
- response_type: n.responseType,
164
- scope: n.scope,
165
- state: n.state,
166
- redirect_uri: n.redirectUri
167
- });
168
- f.value = !1, u && (window.location = u.authorizeUrl);
169
- }
170
- return (u, e) => (g(), w("div", ae, [s("div", le, A(`授权 ${l.value.name}`), 1), s("div", se, [o(a(J), null, {
171
- default: r(() => [o(a(T), null, {
172
- default: r(() => {
173
- var _;
174
- return [o(a(L), {
175
- title: l.value.name,
176
- description: `想要使用您的${(_ = n.userInfo) == null ? void 0 : _.nickname}账户`
177
- }, {
178
- avatar: r(() => {
179
- var v;
180
- return [o(a(F), {
181
- shape: "square",
182
- "image-url": (v = n.userInfo) == null ? void 0 : v.avatar
183
- }, null, 8, ["image-url"])];
184
- }),
185
- _: 1
186
- }, 8, ["title", "description"])];
187
- }),
188
- _: 1
189
- }), o(a(T), null, {
190
- default: r(() => [o(a(L), {
191
- title: "公开信息",
192
- description: "头像、昵称"
193
- }, {
194
- avatar: r(() => [o(a(F), {
195
- shape: "square"
196
- }, {
197
- default: r(() => [...e[0] || (e[0] = [s("img", {
198
- alt: "avatar",
199
- src: "https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp"
200
- }, null, -1)])]),
201
- _: 1
202
- })]),
203
- _: 1
204
- })]),
205
- _: 1
206
- }), o(a(T), null, {
207
- default: r(() => [o(a(L), {
208
- title: "个人用户数据",
209
- description: "电子邮件地址"
210
- }, {
211
- avatar: r(() => [o(a(F), {
212
- shape: "square"
213
- }, {
214
- default: r(() => [...e[1] || (e[1] = [s("img", {
215
- alt: "avatar",
216
- src: "https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp"
217
- }, null, -1)])]),
218
- _: 1
219
- })]),
220
- _: 1
221
- })]),
222
- _: 1
223
- })]),
224
- _: 1
225
- }), o(a(P), {
226
- type: "primary",
227
- size: n.size,
228
- loading: f.value,
229
- onClick: d
230
- }, {
231
- default: r(() => [...e[2] || (e[2] = [V(" 授权 ", -1)])]),
232
- _: 1
233
- }, 8, ["size", "loading"]), s("div", ie, [e[3] || (e[3] = s("div", {
234
- class: "redirect-hint"
235
- }, "授权后将跳转至", -1)), s("div", re, A(l.value.authorizationCallback), 1)])])]));
236
- }
237
- }), We = /* @__PURE__ */ C(ne, [["__scopeId", "data-v-5665e1c4"]]), de = {
238
- class: "oauth-callback"
239
- }, ue = {
240
- key: 0,
241
- class: "callback-loading"
242
- }, ce = {
243
- key: 1,
244
- class: "callback-error"
245
- }, pe = {
246
- key: 2,
247
- class: "callback-success"
248
- }, fe = /* @__PURE__ */ z({
249
- __name: "AuthkitOauthCallback",
250
- props: {
251
- defaultRedirect: {},
252
- loadingText: {},
253
- bindIdentityRedirect: {}
254
- },
255
- emits: ["success", "error", "needBindIdentity"],
256
- setup(y, {
257
- emit: f
258
- }) {
259
- const n = y, l = f, p = m(!0), d = m(""), {
260
- setToken: u,
261
- initializeAuth: e
262
- } = Q(), {
263
- fetchUserProfile: _
264
- } = W();
265
- async function v() {
266
- const c = new URLSearchParams(window.location.search), t = c.get("error");
267
- if (t) {
268
- d.value = decodeURIComponent(t), p.value = !1, l("error", d.value);
269
- return;
270
- }
271
- const i = c.get("token"), h = c.get("userId"), k = c.get("appId"), q = c.get("needBindIdentity") === "true";
272
- if (!i) {
273
- d.value = "登录失败:未收到认证令牌", p.value = !1, l("error", d.value);
274
- return;
275
- }
276
- try {
277
- u(i), await _();
278
- const x = window.location.pathname;
279
- if (window.history.replaceState({}, "", x), q && (l("needBindIdentity", {
280
- token: i,
281
- userId: h || "",
282
- appId: k || ""
283
- }), n.bindIdentityRedirect)) {
284
- p.value = !1, setTimeout(() => {
285
- window.location.href = n.bindIdentityRedirect;
286
- }, 300);
287
- return;
288
- }
289
- l("success", {
290
- token: i,
291
- userId: h || "",
292
- appId: k || "",
293
- needBindIdentity: q
294
- });
295
- const H = sessionStorage.getItem("auth_redirect");
296
- sessionStorage.removeItem("auth_redirect");
297
- const j = H || n.defaultRedirect || "/";
298
- p.value = !1, setTimeout(() => {
299
- window.location.href = j;
300
- }, 500);
301
- } catch (x) {
302
- console.error("OAuth 回调处理失败:", x), d.value = "登录处理失败,请重试", p.value = !1, l("error", d.value);
303
- }
304
- }
305
- function I() {
306
- const c = sessionStorage.getItem("auth_redirect");
307
- sessionStorage.removeItem("auth_redirect"), window.location.href = c || n.defaultRedirect || "/";
308
- }
309
- return K(() => {
310
- const c = new URLSearchParams(window.location.search);
311
- if (c.has("token") || c.has("error"))
312
- v();
313
- else if (e()) {
314
- const t = sessionStorage.getItem("auth_redirect");
315
- sessionStorage.removeItem("auth_redirect"), window.location.href = t || n.defaultRedirect || "/";
316
- } else
317
- d.value = "无效的访问", p.value = !1;
318
- }), (c, t) => (g(), w("div", de, [p.value ? (g(), w("div", ue, [t[0] || (t[0] = s("div", {
319
- class: "spinner"
320
- }, null, -1)), s("p", null, A(y.loadingText), 1)])) : d.value ? (g(), w("div", ce, [t[1] || (t[1] = s("div", {
321
- class: "error-icon"
322
- }, "✕", -1)), t[2] || (t[2] = s("h2", null, "登录失败", -1)), s("p", null, A(d.value), 1), s("button", {
323
- class: "retry-btn",
324
- onClick: I
325
- }, "返回重试")])) : (g(), w("div", pe, [...t[3] || (t[3] = [s("div", {
326
- class: "success-icon"
327
- }, "✓", -1), s("p", null, "登录成功,正在跳转...", -1)])]))]));
328
- }
329
- }), Xe = /* @__PURE__ */ C(fe, [["__scopeId", "data-v-4a4a2ced"]]), me = {
330
- class: "BindEmail"
331
- }, ve = {
332
- class: "content"
333
- }, he = {
334
- class: "sendVerifyCodeItem"
335
- }, ge = {
336
- class: "handle"
337
- }, ye = {
338
- key: 0,
339
- class: "skip"
340
- }, _e = /* @__PURE__ */ z({
341
- __name: "AuthkitBindEmail",
342
- props: {
343
- size: {
344
- type: String,
345
- required: !0
346
- },
347
- loading: {
348
- type: Boolean,
349
- required: !0,
350
- default: () => !1
351
- },
352
- /** 是否显示跳过按钮 */
353
- showSkip: {
354
- type: Boolean,
355
- default: !1
356
- }
357
- },
358
- emits: ["submit", "skip"],
359
- setup(y, {
360
- emit: f
361
- }) {
362
- const n = f, l = y, p = m(), d = m(!1), u = m(), e = m({
363
- email: void 0,
364
- userToken: void 0,
365
- emailVerifyId: void 0
366
- });
367
- async function _() {
368
- if (!await u.value.validateField(["email"])) {
369
- d.value = !0;
370
- const {
371
- data: t
372
- } = await R.verify.email.retry.post({
373
- email: e.value.email
374
- });
375
- d.value = !1, t && (e.value.emailVerifyId = t.emailVerifyId, p.value.startCountFn());
376
- }
377
- }
378
- async function v() {
379
- u.value.validate().then((c) => {
380
- c || n("submit", {
381
- email: e.value.email,
382
- userToken: e.value.userToken,
383
- emailVerifyId: e.value.emailVerifyId
384
- });
385
- });
386
- }
387
- function I() {
388
- n("skip");
389
- }
390
- return (c, t) => (g(), w("div", me, [t[4] || (t[4] = s("div", {
391
- class: "header"
392
- }, [s("h3", {
393
- class: "title"
394
- }, "绑定邮箱"), s("p", {
395
- class: "subtitle"
396
- }, "请绑定邮箱以完成账号设置,绑定后可使用邮箱登录")], -1)), s("div", ve, [o(a(U), {
397
- ref_key: "formRef",
398
- ref: u,
399
- model: e.value,
400
- size: l.size,
401
- "auto-label-width": ""
402
- }, {
403
- default: r(() => [o(a(b), {
404
- field: "email",
405
- label: "邮箱",
406
- "hide-label": "",
407
- rules: [{
408
- required: !0,
409
- message: "请输入邮箱"
410
- }, {
411
- type: "email",
412
- message: "请输入有效的邮箱"
413
- }]
414
- }, {
415
- default: r(() => [o(a(S), {
416
- modelValue: e.value.email,
417
- "onUpdate:modelValue": t[0] || (t[0] = (i) => e.value.email = i),
418
- placeholder: "请输入邮箱",
419
- autocomplete: "email",
420
- type: "email"
421
- }, null, 8, ["modelValue"])]),
422
- _: 1
423
- }), o(a(b), {
424
- field: "userToken",
425
- label: "验证码",
426
- "hide-label": "",
427
- rules: [{
428
- required: !0,
429
- message: "请输入验证码"
430
- }]
431
- }, {
432
- default: r(() => [s("div", he, [o(a(S), {
433
- modelValue: e.value.userToken,
434
- "onUpdate:modelValue": t[1] || (t[1] = (i) => e.value.userToken = i),
435
- placeholder: "请输入验证码",
436
- autocomplete: "one-time-code"
437
- }, null, 8, ["modelValue"]), o(B, {
438
- ref_key: "SendVerifyCodeRef",
439
- ref: p,
440
- size: l.size,
441
- loading: d.value,
442
- style: {
443
- "margin-left": "10px"
444
- },
445
- onSend: _
446
- }, null, 8, ["size", "loading"])])]),
447
- _: 1
448
- }), s("div", ge, [o(a(P), {
449
- type: "primary",
450
- loading: l.loading,
451
- long: "",
452
- size: l.size,
453
- onClick: v
454
- }, {
455
- default: r(() => [...t[2] || (t[2] = [V(" 绑定邮箱 ", -1)])]),
456
- _: 1
457
- }, 8, ["loading", "size"])])]),
458
- _: 1
459
- }, 8, ["model", "size"])]), l.showSkip ? (g(), w("div", ye, [o(a(M), {
460
- onClick: I
461
- }, {
462
- default: r(() => [...t[3] || (t[3] = [V("稍后绑定", -1)])]),
463
- _: 1
464
- })])) : $("", !0)]));
465
- }
466
- }), Ye = /* @__PURE__ */ C(_e, [["__scopeId", "data-v-aa10f560"]]), we = {
467
- class: "BindPhone"
468
- }, ke = {
469
- class: "content"
470
- }, be = {
471
- class: "sendVerifyCodeItem"
472
- }, Se = {
473
- class: "handle"
474
- }, Ie = {
475
- key: 0,
476
- class: "skip"
477
- }, Ve = /* @__PURE__ */ z({
478
- __name: "AuthkitBindPhone",
479
- props: {
480
- size: {
481
- type: String,
482
- required: !0
483
- },
484
- loading: {
485
- type: Boolean,
486
- required: !0,
487
- default: () => !1
488
- },
489
- showSkip: {
490
- type: Boolean,
491
- default: !1
492
- }
493
- },
494
- emits: ["submit", "skip"],
495
- setup(y, {
496
- emit: f
497
- }) {
498
- const n = f, l = y, p = m(), d = m(!1), u = m(), e = m({
499
- phone: void 0,
500
- code: void 0
501
- });
502
- async function _() {
503
- if (!await u.value.validateField(["phone"])) {
504
- d.value = !0;
505
- const {
506
- error: t
507
- } = await R.verify.sms.send.post({
508
- phone: e.value.phone
509
- });
510
- d.value = !1, t || p.value.startCountFn();
511
- }
512
- }
513
- async function v() {
514
- u.value.validate().then((c) => {
515
- c || n("submit", {
516
- phone: e.value.phone,
517
- code: e.value.code
518
- });
519
- });
520
- }
521
- function I() {
522
- n("skip");
523
- }
524
- return (c, t) => (g(), w("div", we, [t[4] || (t[4] = s("div", {
525
- class: "header"
526
- }, [s("h3", {
527
- class: "title"
528
- }, "绑定手机号"), s("p", {
529
- class: "subtitle"
530
- }, "请绑定手机号以完成账号设置")], -1)), s("div", ke, [o(a(U), {
531
- ref_key: "formRef",
532
- ref: u,
533
- model: e.value,
534
- size: l.size,
535
- "auto-label-width": ""
536
- }, {
537
- default: r(() => [o(a(b), {
538
- field: "phone",
539
- label: "手机号",
540
- "hide-label": "",
541
- rules: [{
542
- required: !0,
543
- message: "请输入手机号"
544
- }, {
545
- match: /^1[3-9]\d{9}$/,
546
- message: "请输入有效的手机号"
547
- }]
548
- }, {
549
- default: r(() => [o(a(S), {
550
- modelValue: e.value.phone,
551
- "onUpdate:modelValue": t[0] || (t[0] = (i) => e.value.phone = i),
552
- placeholder: "请输入手机号",
553
- autocomplete: "tel",
554
- type: "tel"
555
- }, null, 8, ["modelValue"])]),
556
- _: 1
557
- }), o(a(b), {
558
- field: "code",
559
- label: "验证码",
560
- "hide-label": "",
561
- rules: [{
562
- required: !0,
563
- message: "请输入验证码"
564
- }]
565
- }, {
566
- default: r(() => [s("div", be, [o(a(S), {
567
- modelValue: e.value.code,
568
- "onUpdate:modelValue": t[1] || (t[1] = (i) => e.value.code = i),
569
- placeholder: "请输入验证码",
570
- autocomplete: "one-time-code"
571
- }, null, 8, ["modelValue"]), o(B, {
572
- ref_key: "SendVerifyCodeRef",
573
- ref: p,
574
- size: l.size,
575
- loading: d.value,
576
- style: {
577
- "margin-left": "10px"
578
- },
579
- onSend: _
580
- }, null, 8, ["size", "loading"])])]),
581
- _: 1
582
- }), s("div", Se, [o(a(P), {
583
- type: "primary",
584
- loading: l.loading,
585
- long: "",
586
- size: l.size,
587
- onClick: v
588
- }, {
589
- default: r(() => [...t[2] || (t[2] = [V(" 绑定手机号 ", -1)])]),
590
- _: 1
591
- }, 8, ["loading", "size"])])]),
592
- _: 1
593
- }, 8, ["model", "size"])]), l.showSkip ? (g(), w("div", Ie, [o(a(M), {
594
- onClick: I
595
- }, {
596
- default: r(() => [...t[3] || (t[3] = [V("稍后绑定", -1)])]),
597
- _: 1
598
- })])) : $("", !0)]));
599
- }
600
- }), Ze = /* @__PURE__ */ C(Ve, [["__scopeId", "data-v-d6436fba"]]), ze = {
601
- class: "SignUpPhone"
602
- }, Ce = {
603
- class: "content"
604
- }, qe = {
605
- class: "sendVerifyCodeItem"
606
- }, $e = {
607
- class: "handle"
608
- }, Re = /* @__PURE__ */ z({
609
- __name: "AuthkitSignUpPhone",
610
- props: {
611
- size: {
612
- type: String,
613
- required: !0
614
- },
615
- loading: {
616
- type: Boolean,
617
- required: !0,
618
- default: () => !1
619
- },
620
- /** 是否要求设置密码 */
621
- requirePassword: {
622
- type: Boolean,
623
- default: !1
624
- }
625
- },
626
- emits: ["switchSignIn", "submit"],
627
- setup(y, {
628
- emit: f
629
- }) {
630
- const n = f, l = y, p = m(), d = m(!1), u = m(), e = m({
631
- phone: void 0,
632
- code: void 0,
633
- password: void 0,
634
- confirmPassword: void 0,
635
- referrerId: void 0
636
- }), _ = [{
637
- required: !0,
638
- message: "请输入确认密码"
639
- }, {
640
- validator: (t, i) => {
641
- e.value.password && t !== e.value.password ? i("两次密码输入不一致") : i();
642
- }
643
- }];
644
- function v() {
645
- n("switchSignIn");
646
- }
647
- async function I() {
648
- if (!await u.value.validateField(["phone"])) {
649
- d.value = !0;
650
- const {
651
- error: i
652
- } = await R.verify.sms.send.post({
653
- phone: e.value.phone
654
- });
655
- d.value = !1, i || p.value.startCountFn();
656
- }
657
- }
658
- async function c() {
659
- u.value.validate().then((t) => {
660
- t || n("submit", {
661
- phone: e.value.phone,
662
- code: e.value.code,
663
- password: e.value.password,
664
- referrerId: e.value.referrerId
665
- });
666
- });
667
- }
668
- return (t, i) => (g(), w("div", ze, [s("div", Ce, [o(a(U), {
669
- ref_key: "formRef",
670
- ref: u,
671
- model: e.value,
672
- size: l.size,
673
- "auto-label-width": ""
674
- }, {
675
- default: r(() => [o(a(b), {
676
- field: "phone",
677
- label: "手机号",
678
- "hide-label": "",
679
- rules: [{
680
- required: !0,
681
- message: "请输入手机号"
682
- }, {
683
- match: /^1[3-9]\d{9}$/,
684
- message: "请输入有效的手机号"
685
- }]
686
- }, {
687
- default: r(() => [o(a(S), {
688
- modelValue: e.value.phone,
689
- "onUpdate:modelValue": i[0] || (i[0] = (h) => e.value.phone = h),
690
- placeholder: "请输入手机号",
691
- autocomplete: "tel",
692
- type: "tel"
693
- }, null, 8, ["modelValue"])]),
694
- _: 1
695
- }), o(a(b), {
696
- field: "code",
697
- label: "验证码",
698
- "hide-label": "",
699
- rules: [{
700
- required: !0,
701
- message: "请输入验证码"
702
- }]
703
- }, {
704
- default: r(() => [s("div", qe, [o(a(S), {
705
- modelValue: e.value.code,
706
- "onUpdate:modelValue": i[1] || (i[1] = (h) => e.value.code = h),
707
- placeholder: "请输入验证码",
708
- autocomplete: "one-time-code"
709
- }, null, 8, ["modelValue"]), o(B, {
710
- ref_key: "SendVerifyCodeRef",
711
- ref: p,
712
- size: l.size,
713
- loading: d.value,
714
- style: {
715
- "margin-left": "10px"
716
- },
717
- onSend: I
718
- }, null, 8, ["size", "loading"])])]),
719
- _: 1
720
- }), l.requirePassword ? (g(), E(a(b), {
721
- key: 0,
722
- field: "password",
723
- label: "密码",
724
- "hide-label": "",
725
- rules: [{
726
- required: l.requirePassword,
727
- message: "密码请输入"
728
- }, {
729
- minLength: 10,
730
- message: "密码不能少于10字符"
731
- }]
732
- }, {
733
- default: r(() => [o(a(S), {
734
- modelValue: e.value.password,
735
- "onUpdate:modelValue": i[2] || (i[2] = (h) => e.value.password = h),
736
- placeholder: "请输入密码(可选)",
737
- type: "password",
738
- autocomplete: "new-password"
739
- }, null, 8, ["modelValue"])]),
740
- _: 1
741
- }, 8, ["rules"])) : $("", !0), l.requirePassword && e.value.password ? (g(), E(a(b), {
742
- key: 1,
743
- field: "confirmPassword",
744
- label: "确认密码",
745
- "hide-label": "",
746
- rules: _
747
- }, {
748
- default: r(() => [o(a(S), {
749
- modelValue: e.value.confirmPassword,
750
- "onUpdate:modelValue": i[3] || (i[3] = (h) => e.value.confirmPassword = h),
751
- placeholder: "请输入确认密码",
752
- type: "password",
753
- autocomplete: "new-password"
754
- }, null, 8, ["modelValue"])]),
755
- _: 1
756
- })) : $("", !0), o(a(b), {
757
- field: "referrerId",
758
- label: "邀请人",
759
- "hide-label": "",
760
- rules: [{
761
- required: !1
762
- }]
763
- }, {
764
- default: r(() => [o(a(S), {
765
- modelValue: e.value.referrerId,
766
- "onUpdate:modelValue": i[4] || (i[4] = (h) => e.value.referrerId = h),
767
- placeholder: "邀请人ID(可选)",
768
- autocomplete: "off"
769
- }, null, 8, ["modelValue"])]),
770
- _: 1
771
- }), s("div", $e, [o(a(P), {
772
- type: "primary",
773
- loading: l.loading,
774
- long: "",
775
- size: l.size,
776
- onClick: c
777
- }, {
778
- default: r(() => [...i[5] || (i[5] = [V(" 注册 ", -1)])]),
779
- _: 1
780
- }, 8, ["loading", "size"])])]),
781
- _: 1
782
- }, 8, ["model", "size"])]), o(X, {
783
- onSwitchSignIn: v
784
- })]));
785
- }
786
- }), et = /* @__PURE__ */ C(Re, [["__scopeId", "data-v-1f2f8707"]]), Pe = {
787
- class: "SignInPhone"
788
- }, Ae = {
789
- class: "content"
790
- }, Ue = {
791
- class: "sendVerifyCodeItem"
792
- }, Be = {
793
- class: "handle"
794
- }, xe = /* @__PURE__ */ z({
795
- __name: "AuthkitSignInPhone",
796
- props: {
797
- size: {
798
- type: String,
799
- required: !0
800
- },
801
- loading: {
802
- type: Boolean,
803
- required: !0,
804
- default: () => !1
805
- }
806
- },
807
- emits: ["submit", "switchSignUp", "switchResetPassword"],
808
- setup(y, {
809
- emit: f
810
- }) {
811
- const n = f, l = y, p = G(), d = N(() => !!p.OAuth), u = m(), e = m(!1), _ = m(), v = m({
812
- phone: void 0,
813
- code: void 0
814
- });
815
- function I() {
816
- n("switchSignUp");
817
- }
818
- function c() {
819
- n("switchResetPassword");
820
- }
821
- async function t() {
822
- if (!await _.value.validateField(["phone"])) {
823
- e.value = !0;
824
- const {
825
- error: k
826
- } = await R.verify.sms.send.post({
827
- phone: v.value.phone
828
- });
829
- e.value = !1, k || u.value.startCountFn();
830
- }
831
- }
832
- async function i() {
833
- _.value.validate().then((h) => {
834
- h || n("submit", {
835
- identifier: v.value.phone,
836
- code: v.value.code,
837
- method: "code"
838
- });
839
- });
840
- }
841
- return (h, k) => (g(), w("div", Pe, [s("div", Ae, [o(a(U), {
842
- ref_key: "formRef",
843
- ref: _,
844
- model: v.value,
845
- size: l.size,
846
- "auto-label-width": ""
847
- }, {
848
- default: r(() => [o(a(b), {
849
- field: "phone",
850
- label: "手机号",
851
- "hide-label": "",
852
- rules: [{
853
- required: !0,
854
- message: "请输入手机号"
855
- }, {
856
- match: /^1[3-9]\d{9}$/,
857
- message: "请输入有效的手机号"
858
- }]
859
- }, {
860
- default: r(() => [o(a(S), {
861
- modelValue: v.value.phone,
862
- "onUpdate:modelValue": k[0] || (k[0] = (q) => v.value.phone = q),
863
- placeholder: "请输入手机号",
864
- autocomplete: "tel",
865
- type: "tel"
866
- }, null, 8, ["modelValue"])]),
867
- _: 1
868
- }), o(a(b), {
869
- field: "code",
870
- label: "验证码",
871
- "hide-label": "",
872
- rules: [{
873
- required: !0,
874
- message: "请输入验证码"
875
- }]
876
- }, {
877
- default: r(() => [s("div", Ue, [o(a(S), {
878
- modelValue: v.value.code,
879
- "onUpdate:modelValue": k[1] || (k[1] = (q) => v.value.code = q),
880
- placeholder: "请输入验证码",
881
- autocomplete: "one-time-code"
882
- }, null, 8, ["modelValue"]), o(B, {
883
- ref_key: "SendVerifyCodeRef",
884
- ref: u,
885
- size: l.size,
886
- loading: e.value,
887
- style: {
888
- "margin-left": "10px"
889
- },
890
- onSend: t
891
- }, null, 8, ["size", "loading"])])]),
892
- _: 1
893
- }), s("div", Be, [o(a(P), {
894
- type: "primary",
895
- loading: l.loading,
896
- long: "",
897
- size: l.size,
898
- onClick: i
899
- }, {
900
- default: r(() => [...k[2] || (k[2] = [V(" 登录 ", -1)])]),
901
- _: 1
902
- }, 8, ["loading", "size"])])]),
903
- _: 1
904
- }, 8, ["model", "size"])]), d.value ? D(h.$slots, "OAuth", {
905
- key: 0
906
- }, void 0, !0) : $("", !0), o(Y, {
907
- onSwitchSignUp: I,
908
- onSwitchResetPassword: c
909
- })]));
910
- }
911
- }), tt = /* @__PURE__ */ C(xe, [["__scopeId", "data-v-6c74668e"]]);
912
- export {
913
- Qe as A,
914
- We as a,
915
- Ye as b,
916
- Ze as c,
917
- Xe as d,
918
- tt as e,
919
- et as f
920
- };