@huyooo/ui 2.0.12 → 2.1.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.
- package/dist/{AuthkitAppSetting-Dgxd5GMR.js → AuthkitAppSetting-1FsF45E3.js} +529 -536
- package/dist/{LegalDocViewer-BWTrNIUE.js → LegalDocViewer-DvsnAv6f.js} +738 -750
- package/dist/{UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-CwB8zI6u.js → UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-Di-VAlur.js} +1 -1
- package/dist/{WidthContainer-TAMNaEHp.js → WidthContainer-BzU8aEwN.js} +1 -1
- package/dist/authkit.js +2 -2
- package/dist/common.js +1 -1
- package/dist/components/Authkit/Auth/AuthkitOauthList.vue.d.ts +1 -1
- package/dist/components/Authkit/Auth/AuthkitSignIn.vue.d.ts +13 -6
- package/dist/composables/Authkit/useAuthkitPasskey.d.ts +1 -4
- package/dist/main.js +4 -4
- package/dist/style.css +1 -1
- package/dist/user.js +1 -1
- package/package.json +1 -1
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
|
-
import { U as
|
|
4
|
-
import { defineComponent as J, ref as A, computed as $, openBlock as
|
|
5
|
-
import { Avatar as Ee, Input as Q, Textarea as
|
|
3
|
+
import { U as Be } from "./userMenuModal-D-nDaYqM.js";
|
|
4
|
+
import { defineComponent as J, ref as A, computed as $, openBlock as h, createElementBlock as M, createElementVNode as z, createVNode as p, unref as n, withCtx as o, createTextVNode as k, createCommentVNode as E, toDisplayString as O, createBlock as I, onUnmounted as Ae, withDirectives as qe, vShow as Le, onMounted as de, Fragment as ie, createSlots as Me, normalizeClass as Pe, renderList as Ke, watch as Ie } from "vue";
|
|
5
|
+
import { Avatar as Ee, Input as Q, Textarea as Fe, Button as T, Message as G, Form as le, FormItem as L, Alert as Y, Space as me, Popconfirm as He, Link as Ce, InputPassword as We, Result as Ge, Modal as Ye } from "@arco-design/web-vue";
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { f as
|
|
8
|
-
import { C as
|
|
7
|
+
import { f as Je, g as U, b as je, h as Re } from "./apiClients-Ctcq8NZs.js";
|
|
8
|
+
import { C as Qe } from "./index-Cn6LcfZO.js";
|
|
9
9
|
/* empty css */
|
|
10
10
|
import { u as ne } from "./useAuthkitUsersProfile-8FzLTfUJ.js";
|
|
11
|
-
import { u as Se, g as
|
|
11
|
+
import { u as Se, g as Xe } from "./runtime-Dp7MgwhI.js";
|
|
12
12
|
import { _ as X } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
13
13
|
/* empty css */
|
|
14
14
|
/* empty css */
|
|
15
|
-
import { C as
|
|
15
|
+
import { C as Ze } from "./CustomTable-HDwqEcmB.js";
|
|
16
16
|
import { u as Ve } from "./useAuthkitAppsAuthPageInfo-DZ1p-P3Q.js";
|
|
17
|
-
import { Icon as
|
|
18
|
-
import { i as
|
|
19
|
-
import { u as
|
|
20
|
-
import { u as
|
|
21
|
-
const
|
|
17
|
+
import { Icon as et } from "@iconify/vue";
|
|
18
|
+
import { i as tt, M as it } from "./Menu-uCexrsKP.js";
|
|
19
|
+
import { u as nt } from "./useAuthkitAuth-cHrJMM8E.js";
|
|
20
|
+
import { u as at } from "./useAuthkitCreateAndUpdate-Bbv7vZZn.js";
|
|
21
|
+
const ot = {
|
|
22
22
|
class: "personal-information"
|
|
23
|
-
},
|
|
23
|
+
}, st = {
|
|
24
24
|
class: "profile-card"
|
|
25
|
-
},
|
|
25
|
+
}, lt = {
|
|
26
26
|
class: "profile-field profile-field--nickname"
|
|
27
|
-
},
|
|
27
|
+
}, rt = {
|
|
28
28
|
class: "nickname-field"
|
|
29
|
-
},
|
|
29
|
+
}, ut = ["disabled"], dt = {
|
|
30
30
|
class: "profile-field"
|
|
31
|
-
},
|
|
31
|
+
}, ct = {
|
|
32
32
|
key: 0,
|
|
33
33
|
class: "profile-actions"
|
|
34
|
-
},
|
|
34
|
+
}, ft = {
|
|
35
35
|
class: "profile-card profile-card--meta"
|
|
36
|
-
},
|
|
36
|
+
}, pt = {
|
|
37
37
|
class: "account-meta"
|
|
38
|
+
}, mt = {
|
|
39
|
+
class: "account-meta__row"
|
|
38
40
|
}, vt = {
|
|
39
41
|
class: "account-meta__row"
|
|
40
42
|
}, ht = {
|
|
41
43
|
class: "account-meta__row"
|
|
42
44
|
}, yt = {
|
|
43
45
|
class: "account-meta__row"
|
|
44
|
-
}, gt = {
|
|
45
|
-
class: "account-meta__row"
|
|
46
|
-
}, wt = 1e3, bt = /* @__PURE__ */ J({
|
|
46
|
+
}, gt = 1e3, wt = /* @__PURE__ */ J({
|
|
47
47
|
__name: "AuthkitPersonalInformation",
|
|
48
48
|
props: {
|
|
49
49
|
size: {
|
|
@@ -56,11 +56,11 @@ const st = {
|
|
|
56
56
|
emit: i
|
|
57
57
|
}) {
|
|
58
58
|
const a = i, {
|
|
59
|
-
fetchUserProfile:
|
|
59
|
+
fetchUserProfile: l
|
|
60
60
|
} = ne(), {
|
|
61
61
|
config: s,
|
|
62
62
|
upload: d
|
|
63
|
-
} = Se(),
|
|
63
|
+
} = Se(), u = e, t = A({
|
|
64
64
|
id: void 0,
|
|
65
65
|
nickname: "",
|
|
66
66
|
description: "",
|
|
@@ -68,7 +68,7 @@ const st = {
|
|
|
68
68
|
avatarUrl: "",
|
|
69
69
|
email: "",
|
|
70
70
|
phone: ""
|
|
71
|
-
}),
|
|
71
|
+
}), y = A({
|
|
72
72
|
nickname: "",
|
|
73
73
|
description: ""
|
|
74
74
|
}), g = A({
|
|
@@ -76,9 +76,9 @@ const st = {
|
|
|
76
76
|
createAt: "",
|
|
77
77
|
status: "",
|
|
78
78
|
loginIdentity: "-"
|
|
79
|
-
}), f = A(!1), v = A(!1), r = $(() => t.value.nickname !==
|
|
80
|
-
function
|
|
81
|
-
|
|
79
|
+
}), f = A(!1), v = A(!1), r = $(() => t.value.nickname !== y.value.nickname || t.value.description !== y.value.description);
|
|
80
|
+
function m() {
|
|
81
|
+
y.value = {
|
|
82
82
|
nickname: t.value.nickname,
|
|
83
83
|
description: t.value.description
|
|
84
84
|
};
|
|
@@ -88,21 +88,21 @@ const st = {
|
|
|
88
88
|
id: V.id,
|
|
89
89
|
createAt: V.createAt || "-",
|
|
90
90
|
status: V.status || "",
|
|
91
|
-
loginIdentity:
|
|
92
|
-
},
|
|
91
|
+
loginIdentity: je(V)
|
|
92
|
+
}, m();
|
|
93
93
|
}
|
|
94
94
|
async function R() {
|
|
95
95
|
v.value = !0;
|
|
96
96
|
const {
|
|
97
97
|
data: V,
|
|
98
98
|
error: w
|
|
99
|
-
} = await
|
|
99
|
+
} = await U().auth.users.profile.post({});
|
|
100
100
|
if (v.value = !1, w || !V)
|
|
101
101
|
return;
|
|
102
102
|
S(V);
|
|
103
103
|
}
|
|
104
104
|
function B() {
|
|
105
|
-
t.value.nickname =
|
|
105
|
+
t.value.nickname = y.value.nickname, t.value.description = y.value.description;
|
|
106
106
|
}
|
|
107
107
|
async function K() {
|
|
108
108
|
if (!t.value.id)
|
|
@@ -116,8 +116,8 @@ const st = {
|
|
|
116
116
|
}, {
|
|
117
117
|
data: w,
|
|
118
118
|
error: q
|
|
119
|
-
} = await
|
|
120
|
-
v.value = !1, !q && w && (G.success("更新成功"), t.value.avatarUrl = w.avatarUrl || t.value.avatarUrl,
|
|
119
|
+
} = await U().auth.users.update.baseInfo.post(V);
|
|
120
|
+
v.value = !1, !q && w && (G.success("更新成功"), t.value.avatarUrl = w.avatarUrl || t.value.avatarUrl, m(), await l(), a("submit"));
|
|
121
121
|
}
|
|
122
122
|
function j() {
|
|
123
123
|
const V = document.createElement("input");
|
|
@@ -140,71 +140,71 @@ const st = {
|
|
|
140
140
|
f.value = !1, G.error((N == null ? void 0 : N.message) || "头像上传失败"), V.remove();
|
|
141
141
|
return;
|
|
142
142
|
}
|
|
143
|
-
const F = await
|
|
143
|
+
const F = await U().auth.users.update.baseInfo.post({
|
|
144
144
|
id: t.value.id,
|
|
145
145
|
nickname: t.value.nickname,
|
|
146
146
|
description: t.value.description,
|
|
147
147
|
avatar: P.key
|
|
148
148
|
});
|
|
149
|
-
f.value = !1, F.error || (G.success("头像已更新"), await R(), await
|
|
149
|
+
f.value = !1, F.error || (G.success("头像已更新"), await R(), await l(), a("submit")), V.remove();
|
|
150
150
|
}), V.click();
|
|
151
151
|
}
|
|
152
|
-
return R(), (V, w) => (
|
|
152
|
+
return R(), (V, w) => (h(), M("div", ot, [z("section", st, [w[6] || (w[6] = z("h3", {
|
|
153
153
|
class: "profile-card__title"
|
|
154
|
-
}, "个人资料", -1)), z("div",
|
|
154
|
+
}, "个人资料", -1)), z("div", lt, [w[2] || (w[2] = z("label", {
|
|
155
155
|
class: "profile-field__label"
|
|
156
|
-
}, "昵称", -1)), z("div",
|
|
156
|
+
}, "昵称", -1)), z("div", rt, [z("button", {
|
|
157
157
|
type: "button",
|
|
158
158
|
class: "nickname-field__avatar",
|
|
159
159
|
disabled: f.value,
|
|
160
160
|
title: "更换头像",
|
|
161
161
|
onClick: j
|
|
162
|
-
}, [
|
|
162
|
+
}, [p(n(Ee), {
|
|
163
163
|
"image-url": t.value.avatarUrl,
|
|
164
164
|
size: 28,
|
|
165
165
|
"object-fit": "cover"
|
|
166
|
-
}, null, 8, ["image-url"])], 8,
|
|
166
|
+
}, null, 8, ["image-url"])], 8, ut), p(n(Q), {
|
|
167
167
|
modelValue: t.value.nickname,
|
|
168
168
|
"onUpdate:modelValue": w[0] || (w[0] = (q) => t.value.nickname = q),
|
|
169
169
|
class: "nickname-field__input",
|
|
170
|
-
size:
|
|
170
|
+
size: u.size,
|
|
171
171
|
placeholder: "例如:小明"
|
|
172
|
-
}, null, 8, ["modelValue", "size"])])]), z("div",
|
|
172
|
+
}, null, 8, ["modelValue", "size"])])]), z("div", dt, [w[3] || (w[3] = z("label", {
|
|
173
173
|
class: "profile-field__label"
|
|
174
|
-
}, "个人简介", -1)),
|
|
174
|
+
}, "个人简介", -1)), p(n(Fe), {
|
|
175
175
|
modelValue: t.value.description,
|
|
176
176
|
"onUpdate:modelValue": w[1] || (w[1] = (q) => t.value.description = q),
|
|
177
|
-
size:
|
|
177
|
+
size: u.size,
|
|
178
178
|
placeholder: "介绍一下你自己",
|
|
179
|
-
"max-length":
|
|
179
|
+
"max-length": gt,
|
|
180
180
|
"show-word-limit": "",
|
|
181
181
|
"auto-size": {
|
|
182
182
|
minRows: 4,
|
|
183
183
|
maxRows: 8
|
|
184
184
|
}
|
|
185
|
-
}, null, 8, ["modelValue", "size"])]), r.value ? (
|
|
186
|
-
size:
|
|
185
|
+
}, null, 8, ["modelValue", "size"])]), r.value ? (h(), M("div", ct, [p(n(T), {
|
|
186
|
+
size: u.size,
|
|
187
187
|
onClick: B
|
|
188
188
|
}, {
|
|
189
189
|
default: o(() => [...w[4] || (w[4] = [k("取消", -1)])]),
|
|
190
190
|
_: 1
|
|
191
|
-
}, 8, ["size"]),
|
|
191
|
+
}, 8, ["size"]), p(n(T), {
|
|
192
192
|
type: "primary",
|
|
193
|
-
size:
|
|
193
|
+
size: u.size,
|
|
194
194
|
loading: v.value,
|
|
195
195
|
onClick: K
|
|
196
196
|
}, {
|
|
197
197
|
default: o(() => [...w[5] || (w[5] = [k(" 保存修改 ", -1)])]),
|
|
198
198
|
_: 1
|
|
199
|
-
}, 8, ["size", "loading"])])) : E("", !0)]), z("section",
|
|
199
|
+
}, 8, ["size", "loading"])])) : E("", !0)]), z("section", ft, [w[11] || (w[11] = z("h3", {
|
|
200
200
|
class: "profile-card__title"
|
|
201
|
-
}, "账号信息", -1)), z("dl",
|
|
201
|
+
}, "账号信息", -1)), z("dl", pt, [z("div", mt, [w[7] || (w[7] = z("dt", null, "用户 ID", -1)), z("dd", null, [z("span", null, O(g.value.id || "-"), 1), g.value.id ? (h(), I(Qe, {
|
|
202
202
|
key: 0,
|
|
203
203
|
value: g.value.id,
|
|
204
204
|
message: "用户 ID 已复制"
|
|
205
|
-
}, null, 8, ["value"])) : E("", !0)])]), z("div",
|
|
205
|
+
}, null, 8, ["value"])) : E("", !0)])]), z("div", vt, [w[8] || (w[8] = z("dt", null, "注册时间", -1)), z("dd", null, O(g.value.createAt || "-"), 1)]), z("div", ht, [w[9] || (w[9] = z("dt", null, "账号状态", -1)), z("dd", null, O(n(Je)(g.value.status)), 1)]), z("div", yt, [w[10] || (w[10] = z("dt", null, "登录标识", -1)), z("dd", null, O(g.value.loginIdentity), 1)])])])]));
|
|
206
206
|
}
|
|
207
|
-
}),
|
|
207
|
+
}), bt = /* @__PURE__ */ X(wt, [["__scopeId", "data-v-e03e688b"]]), _t = /* @__PURE__ */ J({
|
|
208
208
|
__name: "AuthkitSendVerifyCode",
|
|
209
209
|
props: {
|
|
210
210
|
size: {
|
|
@@ -222,11 +222,11 @@ const st = {
|
|
|
222
222
|
expose: i,
|
|
223
223
|
emit: a
|
|
224
224
|
}) {
|
|
225
|
-
const
|
|
226
|
-
let
|
|
227
|
-
const t = A(0),
|
|
225
|
+
const l = a, s = e, d = A(!1);
|
|
226
|
+
let u;
|
|
227
|
+
const t = A(0), y = $(() => t.value.toString().padStart(2, "0")), g = $(() => t.value > 0);
|
|
228
228
|
function f() {
|
|
229
|
-
|
|
229
|
+
u && (clearInterval(u), u = void 0);
|
|
230
230
|
}
|
|
231
231
|
function v() {
|
|
232
232
|
if (d.value) {
|
|
@@ -238,16 +238,16 @@ const st = {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
function r() {
|
|
241
|
-
|
|
241
|
+
l("send");
|
|
242
242
|
}
|
|
243
|
-
function
|
|
244
|
-
!Number.isFinite(S) || S <= 0 || (t.value = Math.ceil(S), d.value = !0, f(),
|
|
243
|
+
function m(S) {
|
|
244
|
+
!Number.isFinite(S) || S <= 0 || (t.value = Math.ceil(S), d.value = !0, f(), u = setInterval(v, 1e3));
|
|
245
245
|
}
|
|
246
246
|
return i({
|
|
247
|
-
startCountFn:
|
|
247
|
+
startCountFn: m
|
|
248
248
|
}), Ae(() => {
|
|
249
249
|
f();
|
|
250
|
-
}), (S, R) => (
|
|
250
|
+
}), (S, R) => (h(), I(n(T), {
|
|
251
251
|
class: "OAuthItem",
|
|
252
252
|
type: "primary",
|
|
253
253
|
size: s.size,
|
|
@@ -255,14 +255,14 @@ const st = {
|
|
|
255
255
|
loading: s.loading,
|
|
256
256
|
onClick: r
|
|
257
257
|
}, {
|
|
258
|
-
default: o(() => [R[0] || (R[0] = z("span", null, " 发送验证码", -1)),
|
|
258
|
+
default: o(() => [R[0] || (R[0] = z("span", null, " 发送验证码", -1)), qe(z("span", {
|
|
259
259
|
class: "verify-code-timer"
|
|
260
|
-
},
|
|
260
|
+
}, O(`(${y.value})`), 513), [[Le, g.value]])]),
|
|
261
261
|
_: 1
|
|
262
262
|
}, 8, ["size", "disabled", "loading"]));
|
|
263
263
|
}
|
|
264
|
-
}), he = /* @__PURE__ */ X(
|
|
265
|
-
function
|
|
264
|
+
}), he = /* @__PURE__ */ X(_t, [["__scopeId", "data-v-63c6fb3a"]]);
|
|
265
|
+
function kt(e) {
|
|
266
266
|
if (!e)
|
|
267
267
|
return null;
|
|
268
268
|
const i = e.match(/请\s*(\d+)\s*秒后再试/);
|
|
@@ -272,19 +272,19 @@ function At(e) {
|
|
|
272
272
|
return Number.isFinite(a) && a > 0 ? a : null;
|
|
273
273
|
}
|
|
274
274
|
function ke(e) {
|
|
275
|
-
var a,
|
|
275
|
+
var a, l;
|
|
276
276
|
const i = (a = e.data) == null ? void 0 : a.cooldownSeconds;
|
|
277
|
-
return typeof i == "number" && i > 0 ? i :
|
|
277
|
+
return typeof i == "number" && i > 0 ? i : kt((l = e.error) == null ? void 0 : l.message);
|
|
278
278
|
}
|
|
279
279
|
function ye(e, i) {
|
|
280
280
|
const a = ke(i);
|
|
281
281
|
a && e && e.startCountFn(a);
|
|
282
282
|
}
|
|
283
|
-
const
|
|
283
|
+
const At = {
|
|
284
284
|
class: "sendVerifyCodeItem"
|
|
285
|
-
},
|
|
285
|
+
}, zt = {
|
|
286
286
|
class: "handle"
|
|
287
|
-
},
|
|
287
|
+
}, Pt = /* @__PURE__ */ J({
|
|
288
288
|
__name: "AuthkitEmailVerify",
|
|
289
289
|
props: {
|
|
290
290
|
email: {
|
|
@@ -301,40 +301,40 @@ const zt = {
|
|
|
301
301
|
setup(e, {
|
|
302
302
|
emit: i
|
|
303
303
|
}) {
|
|
304
|
-
const a = i,
|
|
304
|
+
const a = i, l = e, s = $(() => Re(l.email)), d = A(), u = A(!1), t = A(!1), y = A(), g = A({
|
|
305
305
|
userToken: void 0,
|
|
306
306
|
emailVerifyId: void 0
|
|
307
307
|
});
|
|
308
308
|
async function f() {
|
|
309
|
-
|
|
310
|
-
const r = await
|
|
311
|
-
email:
|
|
309
|
+
u.value = !0;
|
|
310
|
+
const r = await U().auth.verify.email.retry.post({
|
|
311
|
+
email: l.email,
|
|
312
312
|
purpose: "bindEmail"
|
|
313
313
|
});
|
|
314
|
-
|
|
314
|
+
u.value = !1, r.data && (g.value.emailVerifyId = r.data.emailVerifyId), ye(d.value, r);
|
|
315
315
|
}
|
|
316
316
|
async function v() {
|
|
317
|
-
if (!await
|
|
317
|
+
if (!await y.value.validate(["userToken"])) {
|
|
318
318
|
t.value = !0;
|
|
319
319
|
const {
|
|
320
|
-
error:
|
|
321
|
-
} = await
|
|
322
|
-
email:
|
|
320
|
+
error: m
|
|
321
|
+
} = await U().auth.verify.email.post({
|
|
322
|
+
email: l.email,
|
|
323
323
|
userToken: g.value.userToken,
|
|
324
324
|
emailVerifyId: g.value.emailVerifyId,
|
|
325
325
|
purpose: "bindEmail"
|
|
326
326
|
});
|
|
327
|
-
t.value = !1,
|
|
327
|
+
t.value = !1, m || a("next");
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
|
-
return (r,
|
|
330
|
+
return (r, m) => (h(), I(n(le), {
|
|
331
331
|
ref_key: "formRef",
|
|
332
|
-
ref:
|
|
332
|
+
ref: y,
|
|
333
333
|
model: g.value,
|
|
334
334
|
"auto-label-width": "",
|
|
335
|
-
size:
|
|
335
|
+
size: l.size
|
|
336
336
|
}, {
|
|
337
|
-
default: o(() => [
|
|
337
|
+
default: o(() => [p(n(L), {
|
|
338
338
|
field: "email",
|
|
339
339
|
label: "邮箱",
|
|
340
340
|
rules: [{
|
|
@@ -345,9 +345,9 @@ const zt = {
|
|
|
345
345
|
message: "请输入有效的邮箱"
|
|
346
346
|
}]
|
|
347
347
|
}, {
|
|
348
|
-
default: o(() => [k(
|
|
348
|
+
default: o(() => [k(O(s.value), 1)]),
|
|
349
349
|
_: 1
|
|
350
|
-
}),
|
|
350
|
+
}), p(n(L), {
|
|
351
351
|
field: "userToken",
|
|
352
352
|
label: "验证码",
|
|
353
353
|
"hide-label": "",
|
|
@@ -356,32 +356,32 @@ const zt = {
|
|
|
356
356
|
message: "请输入验证码"
|
|
357
357
|
}]
|
|
358
358
|
}, {
|
|
359
|
-
default: o(() => [z("div",
|
|
359
|
+
default: o(() => [z("div", At, [p(n(Q), {
|
|
360
360
|
modelValue: g.value.userToken,
|
|
361
|
-
"onUpdate:modelValue":
|
|
361
|
+
"onUpdate:modelValue": m[0] || (m[0] = (S) => g.value.userToken = S),
|
|
362
362
|
placeholder: "请输入验证码"
|
|
363
|
-
}, null, 8, ["modelValue"]),
|
|
363
|
+
}, null, 8, ["modelValue"]), p(he, {
|
|
364
364
|
ref_key: "SendVerifyCodeRef",
|
|
365
365
|
ref: d,
|
|
366
|
-
size:
|
|
367
|
-
loading:
|
|
366
|
+
size: l.size,
|
|
367
|
+
loading: u.value,
|
|
368
368
|
style: {
|
|
369
369
|
"margin-left": "10px"
|
|
370
370
|
},
|
|
371
371
|
onSend: f
|
|
372
372
|
}, null, 8, ["size", "loading"])])]),
|
|
373
373
|
_: 1
|
|
374
|
-
}),
|
|
374
|
+
}), p(n(L), {
|
|
375
375
|
field: "",
|
|
376
376
|
label: "",
|
|
377
377
|
rules: []
|
|
378
378
|
}, {
|
|
379
|
-
default: o(() => [z("div",
|
|
379
|
+
default: o(() => [z("div", zt, [p(n(T), {
|
|
380
380
|
loading: t.value,
|
|
381
381
|
type: "primary",
|
|
382
382
|
onClick: v
|
|
383
383
|
}, {
|
|
384
|
-
default: o(() => [...
|
|
384
|
+
default: o(() => [...m[1] || (m[1] = [k(" 提交 ", -1)])]),
|
|
385
385
|
_: 1
|
|
386
386
|
}, 8, ["loading"])])]),
|
|
387
387
|
_: 1
|
|
@@ -389,11 +389,11 @@ const zt = {
|
|
|
389
389
|
_: 1
|
|
390
390
|
}, 8, ["model", "size"]));
|
|
391
391
|
}
|
|
392
|
-
}), ge = /* @__PURE__ */ X(
|
|
392
|
+
}), ge = /* @__PURE__ */ X(Pt, [["__scopeId", "data-v-0939d925"]]), It = {
|
|
393
393
|
class: "sendVerifyCodeItem"
|
|
394
|
-
},
|
|
394
|
+
}, Et = {
|
|
395
395
|
class: "handle"
|
|
396
|
-
},
|
|
396
|
+
}, Ct = /* @__PURE__ */ J({
|
|
397
397
|
__name: "AuthkitPhoneVerify",
|
|
398
398
|
props: {
|
|
399
399
|
phone: {
|
|
@@ -413,47 +413,47 @@ const zt = {
|
|
|
413
413
|
setup(e, {
|
|
414
414
|
emit: i
|
|
415
415
|
}) {
|
|
416
|
-
const a = i,
|
|
416
|
+
const a = i, l = e, s = A(), d = A(!1), u = A(!1), t = A(), y = A({
|
|
417
417
|
code: void 0
|
|
418
418
|
}), g = $(() => {
|
|
419
|
-
const r =
|
|
419
|
+
const r = l.phone.trim();
|
|
420
420
|
return r.length < 7 ? r : `${r.slice(0, 3)}****${r.slice(-4)}`;
|
|
421
421
|
});
|
|
422
422
|
async function f() {
|
|
423
423
|
d.value = !0;
|
|
424
|
-
const r = await
|
|
425
|
-
phone:
|
|
426
|
-
purpose:
|
|
424
|
+
const r = await U().auth.verify.sms.send.post({
|
|
425
|
+
phone: l.phone,
|
|
426
|
+
purpose: l.purpose
|
|
427
427
|
});
|
|
428
428
|
d.value = !1, ye(s.value, r);
|
|
429
429
|
}
|
|
430
430
|
async function v() {
|
|
431
431
|
if (!await t.value.validate(["code"])) {
|
|
432
|
-
|
|
432
|
+
u.value = !0;
|
|
433
433
|
const {
|
|
434
|
-
error:
|
|
435
|
-
} = await
|
|
436
|
-
phone:
|
|
437
|
-
code:
|
|
438
|
-
purpose:
|
|
434
|
+
error: m
|
|
435
|
+
} = await U().auth.verify.sms.verify.post({
|
|
436
|
+
phone: l.phone,
|
|
437
|
+
code: y.value.code,
|
|
438
|
+
purpose: l.purpose
|
|
439
439
|
});
|
|
440
|
-
|
|
440
|
+
u.value = !1, m || a("next");
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
|
-
return (r,
|
|
443
|
+
return (r, m) => (h(), I(n(le), {
|
|
444
444
|
ref_key: "formRef",
|
|
445
445
|
ref: t,
|
|
446
|
-
model:
|
|
446
|
+
model: y.value,
|
|
447
447
|
"auto-label-width": "",
|
|
448
|
-
size:
|
|
448
|
+
size: l.size
|
|
449
449
|
}, {
|
|
450
|
-
default: o(() => [
|
|
450
|
+
default: o(() => [p(n(L), {
|
|
451
451
|
field: "phone",
|
|
452
452
|
label: "手机号"
|
|
453
453
|
}, {
|
|
454
|
-
default: o(() => [k(
|
|
454
|
+
default: o(() => [k(O(g.value), 1)]),
|
|
455
455
|
_: 1
|
|
456
|
-
}),
|
|
456
|
+
}), p(n(L), {
|
|
457
457
|
field: "code",
|
|
458
458
|
label: "验证码",
|
|
459
459
|
"hide-label": "",
|
|
@@ -462,14 +462,14 @@ const zt = {
|
|
|
462
462
|
message: "请输入验证码"
|
|
463
463
|
}]
|
|
464
464
|
}, {
|
|
465
|
-
default: o(() => [z("div",
|
|
466
|
-
modelValue:
|
|
467
|
-
"onUpdate:modelValue":
|
|
465
|
+
default: o(() => [z("div", It, [p(n(Q), {
|
|
466
|
+
modelValue: y.value.code,
|
|
467
|
+
"onUpdate:modelValue": m[0] || (m[0] = (S) => y.value.code = S),
|
|
468
468
|
placeholder: "请输入验证码"
|
|
469
|
-
}, null, 8, ["modelValue"]),
|
|
469
|
+
}, null, 8, ["modelValue"]), p(he, {
|
|
470
470
|
ref_key: "sendVerifyCodeRef",
|
|
471
471
|
ref: s,
|
|
472
|
-
size:
|
|
472
|
+
size: l.size,
|
|
473
473
|
loading: d.value,
|
|
474
474
|
style: {
|
|
475
475
|
"margin-left": "10px"
|
|
@@ -477,17 +477,17 @@ const zt = {
|
|
|
477
477
|
onSend: f
|
|
478
478
|
}, null, 8, ["size", "loading"])])]),
|
|
479
479
|
_: 1
|
|
480
|
-
}),
|
|
480
|
+
}), p(n(L), {
|
|
481
481
|
field: "",
|
|
482
482
|
label: "",
|
|
483
483
|
rules: []
|
|
484
484
|
}, {
|
|
485
|
-
default: o(() => [z("div",
|
|
486
|
-
loading:
|
|
485
|
+
default: o(() => [z("div", Et, [p(n(T), {
|
|
486
|
+
loading: u.value,
|
|
487
487
|
type: "primary",
|
|
488
488
|
onClick: v
|
|
489
489
|
}, {
|
|
490
|
-
default: o(() => [...
|
|
490
|
+
default: o(() => [...m[1] || (m[1] = [k("提交", -1)])]),
|
|
491
491
|
_: 1
|
|
492
492
|
}, 8, ["loading"])])]),
|
|
493
493
|
_: 1
|
|
@@ -495,9 +495,9 @@ const zt = {
|
|
|
495
495
|
_: 1
|
|
496
496
|
}, 8, ["model", "size"]));
|
|
497
497
|
}
|
|
498
|
-
}), we = /* @__PURE__ */ X(
|
|
498
|
+
}), we = /* @__PURE__ */ X(Ct, [["__scopeId", "data-v-d26a59d3"]]), Rt = {
|
|
499
499
|
class: "handle"
|
|
500
|
-
},
|
|
500
|
+
}, St = /* @__PURE__ */ J({
|
|
501
501
|
__name: "AuthkitPasswordUpdate",
|
|
502
502
|
props: {
|
|
503
503
|
size: {
|
|
@@ -513,7 +513,7 @@ const zt = {
|
|
|
513
513
|
setup(e, {
|
|
514
514
|
emit: i
|
|
515
515
|
}) {
|
|
516
|
-
const a = i,
|
|
516
|
+
const a = i, l = A(!1), s = A(), d = e, u = A({
|
|
517
517
|
oldPassword: "",
|
|
518
518
|
password: "",
|
|
519
519
|
confirmPassword: ""
|
|
@@ -525,31 +525,31 @@ const zt = {
|
|
|
525
525
|
message: "确认密码不能少于10字符"
|
|
526
526
|
}, {
|
|
527
527
|
validator: (g, f) => {
|
|
528
|
-
g !==
|
|
528
|
+
g !== u.value.password ? f("两次密码输入不一致,请重新输入") : f();
|
|
529
529
|
}
|
|
530
530
|
}];
|
|
531
|
-
async function
|
|
531
|
+
async function y() {
|
|
532
532
|
if (!await s.value.validate()) {
|
|
533
|
-
|
|
533
|
+
l.value = !0;
|
|
534
534
|
const f = d.requireOldPassword ? {
|
|
535
|
-
password:
|
|
536
|
-
oldPassword:
|
|
535
|
+
password: u.value.password,
|
|
536
|
+
oldPassword: u.value.oldPassword
|
|
537
537
|
} : {
|
|
538
|
-
password:
|
|
538
|
+
password: u.value.password
|
|
539
539
|
}, {
|
|
540
540
|
error: v
|
|
541
|
-
} = await
|
|
542
|
-
|
|
541
|
+
} = await U().auth.users.update.password.post(f);
|
|
542
|
+
l.value = !1, v || a("submit", f);
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
|
-
return (g, f) => (
|
|
545
|
+
return (g, f) => (h(), I(n(le), {
|
|
546
546
|
ref_key: "formRef",
|
|
547
547
|
ref: s,
|
|
548
|
-
model:
|
|
548
|
+
model: u.value,
|
|
549
549
|
"auto-label-width": "",
|
|
550
550
|
size: d.size
|
|
551
551
|
}, {
|
|
552
|
-
default: o(() => [d.requireOldPassword ? (
|
|
552
|
+
default: o(() => [d.requireOldPassword ? (h(), I(n(L), {
|
|
553
553
|
key: 0,
|
|
554
554
|
field: "oldPassword",
|
|
555
555
|
label: "当前密码",
|
|
@@ -559,14 +559,14 @@ const zt = {
|
|
|
559
559
|
message: "请输入当前密码"
|
|
560
560
|
}]
|
|
561
561
|
}, {
|
|
562
|
-
default: o(() => [
|
|
563
|
-
modelValue:
|
|
564
|
-
"onUpdate:modelValue": f[0] || (f[0] = (v) =>
|
|
562
|
+
default: o(() => [p(n(Q), {
|
|
563
|
+
modelValue: u.value.oldPassword,
|
|
564
|
+
"onUpdate:modelValue": f[0] || (f[0] = (v) => u.value.oldPassword = v),
|
|
565
565
|
placeholder: "请输入当前密码",
|
|
566
566
|
type: "password"
|
|
567
567
|
}, null, 8, ["modelValue"])]),
|
|
568
568
|
_: 1
|
|
569
|
-
})) : E("", !0),
|
|
569
|
+
})) : E("", !0), p(n(L), {
|
|
570
570
|
field: "password",
|
|
571
571
|
label: d.requireOldPassword ? "新密码" : "登录密码",
|
|
572
572
|
"hide-label": "",
|
|
@@ -578,35 +578,35 @@ const zt = {
|
|
|
578
578
|
message: "密码不能少于10字符"
|
|
579
579
|
}]
|
|
580
580
|
}, {
|
|
581
|
-
default: o(() => [
|
|
582
|
-
modelValue:
|
|
583
|
-
"onUpdate:modelValue": f[1] || (f[1] = (v) =>
|
|
581
|
+
default: o(() => [p(n(Q), {
|
|
582
|
+
modelValue: u.value.password,
|
|
583
|
+
"onUpdate:modelValue": f[1] || (f[1] = (v) => u.value.password = v),
|
|
584
584
|
placeholder: d.requireOldPassword ? "请输入新密码" : "请输入登录密码",
|
|
585
585
|
type: "password"
|
|
586
586
|
}, null, 8, ["modelValue", "placeholder"])]),
|
|
587
587
|
_: 1
|
|
588
|
-
}, 8, ["label", "rules"]),
|
|
588
|
+
}, 8, ["label", "rules"]), p(n(L), {
|
|
589
589
|
field: "confirmPassword",
|
|
590
590
|
label: "确认密码",
|
|
591
591
|
"hide-label": "",
|
|
592
592
|
rules: t
|
|
593
593
|
}, {
|
|
594
|
-
default: o(() => [
|
|
595
|
-
modelValue:
|
|
596
|
-
"onUpdate:modelValue": f[2] || (f[2] = (v) =>
|
|
594
|
+
default: o(() => [p(n(Q), {
|
|
595
|
+
modelValue: u.value.confirmPassword,
|
|
596
|
+
"onUpdate:modelValue": f[2] || (f[2] = (v) => u.value.confirmPassword = v),
|
|
597
597
|
placeholder: "请输入确认密码",
|
|
598
598
|
type: "password"
|
|
599
599
|
}, null, 8, ["modelValue"])]),
|
|
600
600
|
_: 1
|
|
601
|
-
}),
|
|
601
|
+
}), p(n(L), {
|
|
602
602
|
field: "",
|
|
603
603
|
label: "",
|
|
604
604
|
rules: []
|
|
605
605
|
}, {
|
|
606
|
-
default: o(() => [z("div",
|
|
606
|
+
default: o(() => [z("div", Rt, [p(n(T), {
|
|
607
607
|
type: "primary",
|
|
608
|
-
loading:
|
|
609
|
-
onClick:
|
|
608
|
+
loading: l.value,
|
|
609
|
+
onClick: y
|
|
610
610
|
}, {
|
|
611
611
|
default: o(() => [...f[3] || (f[3] = [k("提交", -1)])]),
|
|
612
612
|
_: 1
|
|
@@ -616,7 +616,7 @@ const zt = {
|
|
|
616
616
|
_: 1
|
|
617
617
|
}, 8, ["model", "size"]));
|
|
618
618
|
}
|
|
619
|
-
}),
|
|
619
|
+
}), Vt = /* @__PURE__ */ X(St, [["__scopeId", "data-v-627d759a"]]), $t = /* @__PURE__ */ J({
|
|
620
620
|
__name: "AuthkitSetPassword",
|
|
621
621
|
props: {
|
|
622
622
|
size: {
|
|
@@ -628,64 +628,64 @@ const zt = {
|
|
|
628
628
|
const {
|
|
629
629
|
userProfile: i,
|
|
630
630
|
fetchUserProfile: a,
|
|
631
|
-
isLoggedIn:
|
|
631
|
+
isLoggedIn: l
|
|
632
632
|
} = ne(), s = A("hidden"), d = e;
|
|
633
|
-
function
|
|
633
|
+
function u(g) {
|
|
634
634
|
s.value = g;
|
|
635
635
|
}
|
|
636
636
|
function t(g) {
|
|
637
637
|
var f;
|
|
638
638
|
G.success((f = i.value) != null && f.hasPassword ? "密码修改成功" : "密码设置成功"), s.value = "hidden", a();
|
|
639
639
|
}
|
|
640
|
-
function
|
|
640
|
+
function y() {
|
|
641
641
|
s.value = "update";
|
|
642
642
|
}
|
|
643
643
|
return de(() => {
|
|
644
|
-
|
|
644
|
+
l.value && !i.value && a();
|
|
645
645
|
}), (g, f) => {
|
|
646
|
-
var v, r,
|
|
647
|
-
return
|
|
646
|
+
var v, r, m, S, R, B, K, j, V;
|
|
647
|
+
return h(), M(ie, null, [!((v = n(i)) != null && v.email) && !((r = n(i)) != null && r.phone) ? (h(), I(n(Y), {
|
|
648
648
|
key: 0,
|
|
649
649
|
type: "info",
|
|
650
650
|
title: "先绑定账号"
|
|
651
651
|
}, {
|
|
652
652
|
default: o(() => [...f[1] || (f[1] = [k(" 请先绑定邮箱或手机号,再设置登录密码。 ", -1)])]),
|
|
653
653
|
_: 1
|
|
654
|
-
})) : E("", !0), ((
|
|
654
|
+
})) : E("", !0), ((m = n(i)) != null && m.email || (S = n(i)) != null && S.phone) && s.value === "hidden" ? (h(), I(n(Y), {
|
|
655
655
|
key: 1,
|
|
656
656
|
title: (R = n(i)) != null && R.hasPassword ? "更改密码" : "设置登录密码"
|
|
657
657
|
}, {
|
|
658
|
-
action: o(() => [
|
|
658
|
+
action: o(() => [p(n(T), {
|
|
659
659
|
size: d.size,
|
|
660
660
|
type: "primary",
|
|
661
|
-
onClick: f[0] || (f[0] = (w) =>
|
|
661
|
+
onClick: f[0] || (f[0] = (w) => u("verify"))
|
|
662
662
|
}, {
|
|
663
663
|
default: o(() => {
|
|
664
664
|
var w;
|
|
665
|
-
return [k(
|
|
665
|
+
return [k(O((w = n(i)) != null && w.hasPassword ? "更改密码" : "设置密码"), 1)];
|
|
666
666
|
}),
|
|
667
667
|
_: 1
|
|
668
668
|
}, 8, ["size"])]),
|
|
669
669
|
default: o(() => {
|
|
670
670
|
var w;
|
|
671
|
-
return [k(
|
|
671
|
+
return [k(O((w = n(i)) != null && w.hasPassword ? "为了账户安全,修改密码前会先验证身份。" : "设置登录密码前会先验证身份。") + " ", 1)];
|
|
672
672
|
}),
|
|
673
673
|
_: 1
|
|
674
|
-
}, 8, ["title"])) : E("", !0), s.value === "update" ? (
|
|
674
|
+
}, 8, ["title"])) : E("", !0), s.value === "update" ? (h(), I(Vt, {
|
|
675
675
|
key: 2,
|
|
676
676
|
size: d.size,
|
|
677
677
|
"require-old-password": !!((B = n(i)) != null && B.hasPassword),
|
|
678
678
|
onSubmit: t
|
|
679
|
-
}, null, 8, ["size", "require-old-password"])) : E("", !0), s.value === "verify" && ((K = n(i)) != null && K.email) ? (
|
|
679
|
+
}, null, 8, ["size", "require-old-password"])) : E("", !0), s.value === "verify" && ((K = n(i)) != null && K.email) ? (h(), I(ge, {
|
|
680
680
|
key: 3,
|
|
681
681
|
size: d.size,
|
|
682
682
|
email: n(i).email,
|
|
683
|
-
onNext:
|
|
684
|
-
}, null, 8, ["size", "email"])) : E("", !0), s.value === "verify" && !((j = n(i)) != null && j.email) && ((V = n(i)) != null && V.phone) ? (
|
|
683
|
+
onNext: y
|
|
684
|
+
}, null, 8, ["size", "email"])) : E("", !0), s.value === "verify" && !((j = n(i)) != null && j.email) && ((V = n(i)) != null && V.phone) ? (h(), I(we, {
|
|
685
685
|
key: 4,
|
|
686
686
|
size: d.size,
|
|
687
687
|
phone: n(i).phone,
|
|
688
|
-
onNext:
|
|
688
|
+
onNext: y
|
|
689
689
|
}, null, 8, ["size", "phone"])) : E("", !0)], 64);
|
|
690
690
|
};
|
|
691
691
|
}
|
|
@@ -703,9 +703,9 @@ function ee(e) {
|
|
|
703
703
|
return btoa(a).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
704
704
|
}
|
|
705
705
|
function ve(e) {
|
|
706
|
-
const i = e.replace(/-/g, "+").replace(/_/g, "/"), a = (4 - i.length % 4) % 4,
|
|
706
|
+
const i = e.replace(/-/g, "+").replace(/_/g, "/"), a = (4 - i.length % 4) % 4, l = i.padEnd(i.length + a, "="), s = atob(l), d = new ArrayBuffer(s.length), u = new Uint8Array(d);
|
|
707
707
|
for (let t = 0; t < s.length; t++)
|
|
708
|
-
|
|
708
|
+
u[t] = s.charCodeAt(t);
|
|
709
709
|
return d;
|
|
710
710
|
}
|
|
711
711
|
function be() {
|
|
@@ -728,19 +728,19 @@ class W extends Error {
|
|
|
728
728
|
constructor({
|
|
729
729
|
message: i,
|
|
730
730
|
code: a,
|
|
731
|
-
cause:
|
|
731
|
+
cause: l,
|
|
732
732
|
name: s
|
|
733
733
|
}) {
|
|
734
734
|
super(i, {
|
|
735
|
-
cause:
|
|
736
|
-
}), this.name = s ??
|
|
735
|
+
cause: l
|
|
736
|
+
}), this.name = s ?? l.name, this.code = a;
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
|
-
function
|
|
739
|
+
function Tt({
|
|
740
740
|
error: e,
|
|
741
741
|
options: i
|
|
742
742
|
}) {
|
|
743
|
-
var
|
|
743
|
+
var l, s, d;
|
|
744
744
|
const {
|
|
745
745
|
publicKey: a
|
|
746
746
|
} = i;
|
|
@@ -754,7 +754,7 @@ function Ut({
|
|
|
754
754
|
cause: e
|
|
755
755
|
});
|
|
756
756
|
} else if (e.name === "ConstraintError") {
|
|
757
|
-
if (((
|
|
757
|
+
if (((l = a.authenticatorSelection) == null ? void 0 : l.requireResidentKey) === !0)
|
|
758
758
|
return new W({
|
|
759
759
|
message: "Discoverable credentials were required but no available authenticator supported it",
|
|
760
760
|
code: "ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",
|
|
@@ -796,9 +796,9 @@ function Ut({
|
|
|
796
796
|
cause: e
|
|
797
797
|
});
|
|
798
798
|
if (e.name === "SecurityError") {
|
|
799
|
-
const
|
|
800
|
-
if (Te(
|
|
801
|
-
if (a.rp.id !==
|
|
799
|
+
const u = window.location.hostname;
|
|
800
|
+
if (Te(u)) {
|
|
801
|
+
if (a.rp.id !== u)
|
|
802
802
|
return new W({
|
|
803
803
|
message: `The RP ID "${a.rp.id}" is invalid for this domain`,
|
|
804
804
|
code: "ERROR_INVALID_RP_ID",
|
|
@@ -825,7 +825,7 @@ function Ut({
|
|
|
825
825
|
}
|
|
826
826
|
return e;
|
|
827
827
|
}
|
|
828
|
-
class
|
|
828
|
+
class Ot {
|
|
829
829
|
createNewAbortSignal() {
|
|
830
830
|
if (this.controller) {
|
|
831
831
|
const a = new Error("Cancelling existing WebAuthn API call for new one");
|
|
@@ -841,12 +841,12 @@ class xt {
|
|
|
841
841
|
}
|
|
842
842
|
}
|
|
843
843
|
}
|
|
844
|
-
const
|
|
845
|
-
function
|
|
846
|
-
if (e && !(
|
|
844
|
+
const Oe = new Ot(), Ut = ["cross-platform", "platform"];
|
|
845
|
+
function Ue(e) {
|
|
846
|
+
if (e && !(Ut.indexOf(e) < 0))
|
|
847
847
|
return e;
|
|
848
848
|
}
|
|
849
|
-
async function
|
|
849
|
+
async function xt(e) {
|
|
850
850
|
var S;
|
|
851
851
|
const {
|
|
852
852
|
optionsJSON: i,
|
|
@@ -854,7 +854,7 @@ async function Nt(e) {
|
|
|
854
854
|
} = e;
|
|
855
855
|
if (!be())
|
|
856
856
|
throw new Error("WebAuthn is not supported in this browser");
|
|
857
|
-
const
|
|
857
|
+
const l = {
|
|
858
858
|
...i,
|
|
859
859
|
challenge: ve(i.challenge),
|
|
860
860
|
user: {
|
|
@@ -863,12 +863,12 @@ async function Nt(e) {
|
|
|
863
863
|
},
|
|
864
864
|
excludeCredentials: (S = i.excludeCredentials) == null ? void 0 : S.map($e)
|
|
865
865
|
}, s = {};
|
|
866
|
-
a && (s.mediation = "conditional"), s.publicKey =
|
|
866
|
+
a && (s.mediation = "conditional"), s.publicKey = l, s.signal = Oe.createNewAbortSignal();
|
|
867
867
|
let d;
|
|
868
868
|
try {
|
|
869
869
|
d = await navigator.credentials.create(s);
|
|
870
870
|
} catch (R) {
|
|
871
|
-
throw
|
|
871
|
+
throw Tt({
|
|
872
872
|
error: R,
|
|
873
873
|
options: s
|
|
874
874
|
});
|
|
@@ -876,56 +876,56 @@ async function Nt(e) {
|
|
|
876
876
|
if (!d)
|
|
877
877
|
throw new Error("Registration was not completed");
|
|
878
878
|
const {
|
|
879
|
-
id:
|
|
879
|
+
id: u,
|
|
880
880
|
rawId: t,
|
|
881
|
-
response:
|
|
881
|
+
response: y,
|
|
882
882
|
type: g
|
|
883
883
|
} = d;
|
|
884
884
|
let f;
|
|
885
|
-
typeof
|
|
885
|
+
typeof y.getTransports == "function" && (f = y.getTransports());
|
|
886
886
|
let v;
|
|
887
|
-
if (typeof
|
|
887
|
+
if (typeof y.getPublicKeyAlgorithm == "function")
|
|
888
888
|
try {
|
|
889
|
-
v =
|
|
889
|
+
v = y.getPublicKeyAlgorithm();
|
|
890
890
|
} catch (R) {
|
|
891
891
|
_e("getPublicKeyAlgorithm()", R);
|
|
892
892
|
}
|
|
893
893
|
let r;
|
|
894
|
-
if (typeof
|
|
894
|
+
if (typeof y.getPublicKey == "function")
|
|
895
895
|
try {
|
|
896
|
-
const R =
|
|
896
|
+
const R = y.getPublicKey();
|
|
897
897
|
R !== null && (r = ee(R));
|
|
898
898
|
} catch (R) {
|
|
899
899
|
_e("getPublicKey()", R);
|
|
900
900
|
}
|
|
901
|
-
let
|
|
902
|
-
if (typeof
|
|
901
|
+
let m;
|
|
902
|
+
if (typeof y.getAuthenticatorData == "function")
|
|
903
903
|
try {
|
|
904
|
-
|
|
904
|
+
m = ee(y.getAuthenticatorData());
|
|
905
905
|
} catch (R) {
|
|
906
906
|
_e("getAuthenticatorData()", R);
|
|
907
907
|
}
|
|
908
908
|
return {
|
|
909
|
-
id:
|
|
909
|
+
id: u,
|
|
910
910
|
rawId: ee(t),
|
|
911
911
|
response: {
|
|
912
|
-
attestationObject: ee(
|
|
913
|
-
clientDataJSON: ee(
|
|
912
|
+
attestationObject: ee(y.attestationObject),
|
|
913
|
+
clientDataJSON: ee(y.clientDataJSON),
|
|
914
914
|
transports: f,
|
|
915
915
|
publicKeyAlgorithm: v,
|
|
916
916
|
publicKey: r,
|
|
917
|
-
authenticatorData:
|
|
917
|
+
authenticatorData: m
|
|
918
918
|
},
|
|
919
919
|
type: g,
|
|
920
920
|
clientExtensionResults: d.getClientExtensionResults(),
|
|
921
|
-
authenticatorAttachment:
|
|
921
|
+
authenticatorAttachment: Ue(d.authenticatorAttachment)
|
|
922
922
|
};
|
|
923
923
|
}
|
|
924
924
|
function _e(e, i) {
|
|
925
925
|
console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.
|
|
926
926
|
`, i);
|
|
927
927
|
}
|
|
928
|
-
function
|
|
928
|
+
function Nt() {
|
|
929
929
|
if (!be())
|
|
930
930
|
return new Promise((i) => i(!1));
|
|
931
931
|
const e = window.PublicKeyCredential;
|
|
@@ -955,9 +955,9 @@ function Dt({
|
|
|
955
955
|
cause: e
|
|
956
956
|
});
|
|
957
957
|
if (e.name === "SecurityError") {
|
|
958
|
-
const
|
|
959
|
-
if (Te(
|
|
960
|
-
if (a.rpId !==
|
|
958
|
+
const l = window.location.hostname;
|
|
959
|
+
if (Te(l)) {
|
|
960
|
+
if (a.rpId !== l)
|
|
961
961
|
return new W({
|
|
962
962
|
message: `The RP ID "${a.rpId}" is invalid for this domain`,
|
|
963
963
|
code: "ERROR_INVALID_RP_ID",
|
|
@@ -978,49 +978,49 @@ function Dt({
|
|
|
978
978
|
return e;
|
|
979
979
|
}
|
|
980
980
|
async function Bt(e) {
|
|
981
|
-
var
|
|
981
|
+
var m, S;
|
|
982
982
|
const {
|
|
983
983
|
optionsJSON: i,
|
|
984
984
|
useBrowserAutofill: a = !1,
|
|
985
|
-
verifyBrowserAutofillInput:
|
|
985
|
+
verifyBrowserAutofillInput: l = !0
|
|
986
986
|
} = e;
|
|
987
987
|
if (!be())
|
|
988
988
|
throw new Error("WebAuthn is not supported in this browser");
|
|
989
989
|
let s;
|
|
990
|
-
((
|
|
990
|
+
((m = i.allowCredentials) == null ? void 0 : m.length) !== 0 && (s = (S = i.allowCredentials) == null ? void 0 : S.map($e));
|
|
991
991
|
const d = {
|
|
992
992
|
...i,
|
|
993
993
|
challenge: ve(i.challenge),
|
|
994
994
|
allowCredentials: s
|
|
995
|
-
},
|
|
995
|
+
}, u = {};
|
|
996
996
|
if (a) {
|
|
997
|
-
if (!await
|
|
997
|
+
if (!await Nt())
|
|
998
998
|
throw Error("Browser does not support WebAuthn autofill");
|
|
999
|
-
if (document.querySelectorAll("input[autocomplete$='webauthn']").length < 1 &&
|
|
999
|
+
if (document.querySelectorAll("input[autocomplete$='webauthn']").length < 1 && l)
|
|
1000
1000
|
throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
|
|
1001
|
-
|
|
1001
|
+
u.mediation = "conditional", d.allowCredentials = [];
|
|
1002
1002
|
}
|
|
1003
|
-
|
|
1003
|
+
u.publicKey = d, u.signal = Oe.createNewAbortSignal();
|
|
1004
1004
|
let t;
|
|
1005
1005
|
try {
|
|
1006
|
-
t = await navigator.credentials.get(
|
|
1006
|
+
t = await navigator.credentials.get(u);
|
|
1007
1007
|
} catch (R) {
|
|
1008
1008
|
throw Dt({
|
|
1009
1009
|
error: R,
|
|
1010
|
-
options:
|
|
1010
|
+
options: u
|
|
1011
1011
|
});
|
|
1012
1012
|
}
|
|
1013
1013
|
if (!t)
|
|
1014
1014
|
throw new Error("Authentication was not completed");
|
|
1015
1015
|
const {
|
|
1016
|
-
id:
|
|
1016
|
+
id: y,
|
|
1017
1017
|
rawId: g,
|
|
1018
1018
|
response: f,
|
|
1019
1019
|
type: v
|
|
1020
1020
|
} = t;
|
|
1021
1021
|
let r;
|
|
1022
1022
|
return f.userHandle && (r = ee(f.userHandle)), {
|
|
1023
|
-
id:
|
|
1023
|
+
id: y,
|
|
1024
1024
|
rawId: ee(g),
|
|
1025
1025
|
response: {
|
|
1026
1026
|
authenticatorData: ee(f.authenticatorData),
|
|
@@ -1030,7 +1030,7 @@ async function Bt(e) {
|
|
|
1030
1030
|
},
|
|
1031
1031
|
type: v,
|
|
1032
1032
|
clientExtensionResults: t.getClientExtensionResults(),
|
|
1033
|
-
authenticatorAttachment:
|
|
1033
|
+
authenticatorAttachment: Ue(t.authenticatorAttachment)
|
|
1034
1034
|
};
|
|
1035
1035
|
}
|
|
1036
1036
|
function qt() {
|
|
@@ -1051,57 +1051,50 @@ function Kt() {
|
|
|
1051
1051
|
}
|
|
1052
1052
|
function Ft() {
|
|
1053
1053
|
const e = A(!1), i = qt();
|
|
1054
|
-
async function a(d
|
|
1055
|
-
const
|
|
1056
|
-
if (
|
|
1057
|
-
throw new Error(
|
|
1058
|
-
|
|
1059
|
-
if (h && !await Oe())
|
|
1060
|
-
return null;
|
|
1061
|
-
h || (e.value = !0);
|
|
1054
|
+
async function a(d) {
|
|
1055
|
+
const u = se();
|
|
1056
|
+
if (u)
|
|
1057
|
+
throw new Error(u);
|
|
1058
|
+
e.value = !0;
|
|
1062
1059
|
try {
|
|
1063
1060
|
const {
|
|
1064
|
-
data:
|
|
1065
|
-
error:
|
|
1066
|
-
} = await
|
|
1061
|
+
data: t,
|
|
1062
|
+
error: y
|
|
1063
|
+
} = await U().auth.passkey.auth.options.post({
|
|
1067
1064
|
email: (d == null ? void 0 : d.trim()) || void 0
|
|
1068
1065
|
});
|
|
1069
|
-
if (
|
|
1070
|
-
return null;
|
|
1071
|
-
const v = await Bt({
|
|
1072
|
-
optionsJSON: g,
|
|
1073
|
-
useBrowserAutofill: h
|
|
1074
|
-
});
|
|
1075
|
-
if (l != null && l.beforeVerify && !l.beforeVerify())
|
|
1066
|
+
if (y || !t)
|
|
1076
1067
|
return null;
|
|
1077
|
-
const {
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1068
|
+
const g = await Bt({
|
|
1069
|
+
optionsJSON: t
|
|
1070
|
+
}), {
|
|
1071
|
+
data: f,
|
|
1072
|
+
error: v
|
|
1073
|
+
} = await U().auth.passkey.auth.verify.post({
|
|
1074
|
+
response: g
|
|
1082
1075
|
});
|
|
1083
|
-
return
|
|
1076
|
+
return v || !f ? null : f;
|
|
1084
1077
|
} finally {
|
|
1085
|
-
|
|
1078
|
+
e.value = !1;
|
|
1086
1079
|
}
|
|
1087
1080
|
}
|
|
1088
|
-
async function
|
|
1089
|
-
const
|
|
1090
|
-
if (
|
|
1091
|
-
throw new Error(
|
|
1081
|
+
async function l(d) {
|
|
1082
|
+
const u = se();
|
|
1083
|
+
if (u)
|
|
1084
|
+
throw new Error(u);
|
|
1092
1085
|
e.value = !0;
|
|
1093
1086
|
try {
|
|
1094
1087
|
const {
|
|
1095
1088
|
data: t,
|
|
1096
|
-
error:
|
|
1097
|
-
} = await
|
|
1098
|
-
if (
|
|
1089
|
+
error: y
|
|
1090
|
+
} = await U().auth.passkey.register.options.post();
|
|
1091
|
+
if (y || !t)
|
|
1099
1092
|
return !1;
|
|
1100
|
-
const g = await
|
|
1093
|
+
const g = await xt({
|
|
1101
1094
|
optionsJSON: t
|
|
1102
1095
|
}), {
|
|
1103
1096
|
error: f
|
|
1104
|
-
} = await
|
|
1097
|
+
} = await U().auth.passkey.register.verify.post({
|
|
1105
1098
|
response: g,
|
|
1106
1099
|
name: (d == null ? void 0 : d.trim()) || Kt()
|
|
1107
1100
|
});
|
|
@@ -1117,7 +1110,7 @@ function Ft() {
|
|
|
1117
1110
|
loading: e,
|
|
1118
1111
|
supported: i,
|
|
1119
1112
|
loginWithPasskey: a,
|
|
1120
|
-
registerPasskey:
|
|
1113
|
+
registerPasskey: l,
|
|
1121
1114
|
formatError: s,
|
|
1122
1115
|
getPasskeyEnvironmentIssue: se
|
|
1123
1116
|
};
|
|
@@ -1141,13 +1134,13 @@ const Ht = {
|
|
|
1141
1134
|
setup(e) {
|
|
1142
1135
|
const i = e, {
|
|
1143
1136
|
userProfile: a
|
|
1144
|
-
} = ne(),
|
|
1137
|
+
} = ne(), l = A(!1), s = A(!1), d = A([]), u = se(), {
|
|
1145
1138
|
registerPasskey: t,
|
|
1146
|
-
formatError:
|
|
1139
|
+
formatError: y
|
|
1147
1140
|
} = Ft(), g = A(""), f = A(!1), v = A(), r = $(() => {
|
|
1148
1141
|
var _, P;
|
|
1149
1142
|
return !!((_ = a.value) != null && _.email || (P = a.value) != null && P.phone);
|
|
1150
|
-
}),
|
|
1143
|
+
}), m = $(() => r.value && !v.value), S = [{
|
|
1151
1144
|
title: "通行密钥",
|
|
1152
1145
|
dataIndex: "name",
|
|
1153
1146
|
minWidth: fe.name,
|
|
@@ -1175,12 +1168,12 @@ const Ht = {
|
|
|
1175
1168
|
cellClassName: "passkey-actions-cell"
|
|
1176
1169
|
}];
|
|
1177
1170
|
async function R() {
|
|
1178
|
-
|
|
1171
|
+
l.value = !0;
|
|
1179
1172
|
const {
|
|
1180
1173
|
data: _,
|
|
1181
1174
|
error: P
|
|
1182
|
-
} = await
|
|
1183
|
-
if (
|
|
1175
|
+
} = await U().auth.passkey.list.post();
|
|
1176
|
+
if (l.value = !1, P || !_) {
|
|
1184
1177
|
d.value = [];
|
|
1185
1178
|
return;
|
|
1186
1179
|
}
|
|
@@ -1193,7 +1186,7 @@ const Ht = {
|
|
|
1193
1186
|
return;
|
|
1194
1187
|
G.success("Passkey 添加成功"), await R();
|
|
1195
1188
|
} catch (_) {
|
|
1196
|
-
G.error(
|
|
1189
|
+
G.error(y(_));
|
|
1197
1190
|
} finally {
|
|
1198
1191
|
s.value = !1;
|
|
1199
1192
|
}
|
|
@@ -1224,7 +1217,7 @@ const Ht = {
|
|
|
1224
1217
|
return;
|
|
1225
1218
|
const {
|
|
1226
1219
|
error: _
|
|
1227
|
-
} = await
|
|
1220
|
+
} = await U().auth.passkey.delete.post({
|
|
1228
1221
|
credentialId: g.value
|
|
1229
1222
|
});
|
|
1230
1223
|
_ || (G.success("已移除"), await R()), w();
|
|
@@ -1233,7 +1226,7 @@ const Ht = {
|
|
|
1233
1226
|
R();
|
|
1234
1227
|
}), (_, P) => {
|
|
1235
1228
|
var N, F;
|
|
1236
|
-
return
|
|
1229
|
+
return h(), M("div", Ht, [p(n(Y), {
|
|
1237
1230
|
type: "info",
|
|
1238
1231
|
style: {
|
|
1239
1232
|
"margin-bottom": "16px"
|
|
@@ -1241,19 +1234,19 @@ const Ht = {
|
|
|
1241
1234
|
}, {
|
|
1242
1235
|
default: o(() => [...P[2] || (P[2] = [k(" Passkey 使用设备生物识别(指纹 / 面容)登录,绑定后可在登录页一键验证身份。 ", -1)])]),
|
|
1243
1236
|
_: 1
|
|
1244
|
-
}), n(
|
|
1237
|
+
}), n(u) ? (h(), M("div", Wt, O(n(u)), 1)) : E("", !0), g.value && !f.value ? (h(), I(n(Y), {
|
|
1245
1238
|
key: 1,
|
|
1246
1239
|
type: "warning",
|
|
1247
1240
|
title: "移除前验证身份"
|
|
1248
|
-
},
|
|
1241
|
+
}, Me({
|
|
1249
1242
|
default: o(() => [P[6] || (P[6] = k(" 移除 Passkey 前请先完成身份验证。 ", -1))]),
|
|
1250
1243
|
_: 2
|
|
1251
|
-
}, [
|
|
1244
|
+
}, [m.value ? {
|
|
1252
1245
|
name: "action",
|
|
1253
|
-
fn: o(() => [
|
|
1246
|
+
fn: o(() => [p(n(me), null, {
|
|
1254
1247
|
default: o(() => {
|
|
1255
1248
|
var D, Z;
|
|
1256
|
-
return [(D = n(a)) != null && D.email ? (
|
|
1249
|
+
return [(D = n(a)) != null && D.email ? (h(), I(n(T), {
|
|
1257
1250
|
key: 0,
|
|
1258
1251
|
size: i.size,
|
|
1259
1252
|
type: "primary",
|
|
@@ -1261,7 +1254,7 @@ const Ht = {
|
|
|
1261
1254
|
}, {
|
|
1262
1255
|
default: o(() => [...P[3] || (P[3] = [k(" 邮箱验证 ", -1)])]),
|
|
1263
1256
|
_: 1
|
|
1264
|
-
}, 8, ["size"])) : E("", !0), (Z = n(a)) != null && Z.phone ? (
|
|
1257
|
+
}, 8, ["size"])) : E("", !0), (Z = n(a)) != null && Z.phone ? (h(), I(n(T), {
|
|
1265
1258
|
key: 1,
|
|
1266
1259
|
size: i.size,
|
|
1267
1260
|
type: "primary",
|
|
@@ -1269,7 +1262,7 @@ const Ht = {
|
|
|
1269
1262
|
}, {
|
|
1270
1263
|
default: o(() => [...P[4] || (P[4] = [k(" 手机验证 ", -1)])]),
|
|
1271
1264
|
_: 1
|
|
1272
|
-
}, 8, ["size"])) : E("", !0),
|
|
1265
|
+
}, 8, ["size"])) : E("", !0), p(n(T), {
|
|
1273
1266
|
size: i.size,
|
|
1274
1267
|
onClick: w
|
|
1275
1268
|
}, {
|
|
@@ -1280,47 +1273,47 @@ const Ht = {
|
|
|
1280
1273
|
_: 1
|
|
1281
1274
|
})]),
|
|
1282
1275
|
key: "0"
|
|
1283
|
-
} : void 0]), 1024)) : E("", !0), g.value && v.value === "email" && ((N = n(a)) != null && N.email) ? (
|
|
1276
|
+
} : void 0]), 1024)) : E("", !0), g.value && v.value === "email" && ((N = n(a)) != null && N.email) ? (h(), I(ge, {
|
|
1284
1277
|
key: 2,
|
|
1285
1278
|
size: i.size,
|
|
1286
1279
|
email: n(a).email,
|
|
1287
1280
|
onNext: V
|
|
1288
|
-
}, null, 8, ["size", "email"])) : E("", !0), g.value && v.value === "phone" && ((F = n(a)) != null && F.phone) ? (
|
|
1281
|
+
}, null, 8, ["size", "email"])) : E("", !0), g.value && v.value === "phone" && ((F = n(a)) != null && F.phone) ? (h(), I(we, {
|
|
1289
1282
|
key: 3,
|
|
1290
1283
|
size: i.size,
|
|
1291
1284
|
phone: n(a).phone,
|
|
1292
1285
|
onNext: V
|
|
1293
|
-
}, null, 8, ["size", "phone"])) : E("", !0), g.value ? E("", !0) : (
|
|
1286
|
+
}, null, 8, ["size", "phone"])) : E("", !0), g.value ? E("", !0) : (h(), M("div", Gt, [p(n(T), {
|
|
1294
1287
|
type: "primary",
|
|
1295
1288
|
size: i.size,
|
|
1296
1289
|
loading: s.value,
|
|
1297
|
-
disabled: !!n(
|
|
1290
|
+
disabled: !!n(u),
|
|
1298
1291
|
onClick: B
|
|
1299
1292
|
}, {
|
|
1300
1293
|
default: o(() => [...P[7] || (P[7] = [k(" 添加 Passkey ", -1)])]),
|
|
1301
1294
|
_: 1
|
|
1302
|
-
}, 8, ["size", "loading", "disabled"])])), g.value ? E("", !0) : (
|
|
1295
|
+
}, 8, ["size", "loading", "disabled"])])), g.value ? E("", !0) : (h(), I(Ze, {
|
|
1303
1296
|
key: 5,
|
|
1304
1297
|
columns: S,
|
|
1305
1298
|
data: d.value,
|
|
1306
|
-
loading:
|
|
1299
|
+
loading: l.value,
|
|
1307
1300
|
pagination: !1,
|
|
1308
1301
|
bordered: !1,
|
|
1309
1302
|
"row-key": "credentialId"
|
|
1310
1303
|
}, {
|
|
1311
1304
|
lastUsedAt: o(({
|
|
1312
1305
|
record: D
|
|
1313
|
-
}) => [k(
|
|
1306
|
+
}) => [k(O(D.lastUsedAt || "尚未使用"), 1)]),
|
|
1314
1307
|
createdAt: o(({
|
|
1315
1308
|
record: D
|
|
1316
|
-
}) => [k(
|
|
1309
|
+
}) => [k(O(D.createdAt || "-"), 1)]),
|
|
1317
1310
|
actions: o(({
|
|
1318
1311
|
record: D
|
|
1319
|
-
}) => [
|
|
1312
|
+
}) => [p(n(He), {
|
|
1320
1313
|
content: "确定移除此 Passkey?移除后将无法使用该设备登录",
|
|
1321
1314
|
onOk: (Z) => K(D.credentialId)
|
|
1322
1315
|
}, {
|
|
1323
|
-
default: o(() => [
|
|
1316
|
+
default: o(() => [p(n(T), {
|
|
1324
1317
|
type: "text",
|
|
1325
1318
|
status: "danger",
|
|
1326
1319
|
size: i.size
|
|
@@ -1379,15 +1372,15 @@ const Ht = {
|
|
|
1379
1372
|
setup(e, {
|
|
1380
1373
|
emit: i
|
|
1381
1374
|
}) {
|
|
1382
|
-
const a = i,
|
|
1375
|
+
const a = i, l = e, s = A(), d = A(!1), u = A(), t = A({
|
|
1383
1376
|
email: void 0,
|
|
1384
1377
|
userToken: void 0,
|
|
1385
1378
|
emailVerifyId: void 0
|
|
1386
1379
|
});
|
|
1387
|
-
async function
|
|
1388
|
-
if (!await
|
|
1380
|
+
async function y() {
|
|
1381
|
+
if (!await u.value.validateField(["email"])) {
|
|
1389
1382
|
d.value = !0;
|
|
1390
|
-
const r = await
|
|
1383
|
+
const r = await U().auth.verify.email.retry.post({
|
|
1391
1384
|
email: t.value.email,
|
|
1392
1385
|
purpose: "bindEmail"
|
|
1393
1386
|
});
|
|
@@ -1395,7 +1388,7 @@ const Ht = {
|
|
|
1395
1388
|
}
|
|
1396
1389
|
}
|
|
1397
1390
|
async function g() {
|
|
1398
|
-
|
|
1391
|
+
u.value.validate().then((v) => {
|
|
1399
1392
|
v || a("submit", {
|
|
1400
1393
|
email: t.value.email,
|
|
1401
1394
|
userToken: t.value.userToken,
|
|
@@ -1406,20 +1399,20 @@ const Ht = {
|
|
|
1406
1399
|
function f() {
|
|
1407
1400
|
a("skip");
|
|
1408
1401
|
}
|
|
1409
|
-
return (v, r) => (
|
|
1402
|
+
return (v, r) => (h(), M("div", jt, [p(n(Y), {
|
|
1410
1403
|
type: "info",
|
|
1411
|
-
title:
|
|
1404
|
+
title: l.title
|
|
1412
1405
|
}, {
|
|
1413
|
-
default: o(() => [k(
|
|
1406
|
+
default: o(() => [k(O(l.subtitle), 1)]),
|
|
1414
1407
|
_: 1
|
|
1415
|
-
}, 8, ["title"]), z("div", Qt, [
|
|
1408
|
+
}, 8, ["title"]), z("div", Qt, [p(n(le), {
|
|
1416
1409
|
ref_key: "formRef",
|
|
1417
|
-
ref:
|
|
1410
|
+
ref: u,
|
|
1418
1411
|
model: t.value,
|
|
1419
|
-
size:
|
|
1412
|
+
size: l.size,
|
|
1420
1413
|
"auto-label-width": ""
|
|
1421
1414
|
}, {
|
|
1422
|
-
default: o(() => [
|
|
1415
|
+
default: o(() => [p(n(L), {
|
|
1423
1416
|
field: "email",
|
|
1424
1417
|
label: "邮箱",
|
|
1425
1418
|
"hide-label": "",
|
|
@@ -1431,15 +1424,15 @@ const Ht = {
|
|
|
1431
1424
|
message: "请输入有效的邮箱"
|
|
1432
1425
|
}]
|
|
1433
1426
|
}, {
|
|
1434
|
-
default: o(() => [
|
|
1427
|
+
default: o(() => [p(n(Q), {
|
|
1435
1428
|
modelValue: t.value.email,
|
|
1436
|
-
"onUpdate:modelValue": r[0] || (r[0] = (
|
|
1429
|
+
"onUpdate:modelValue": r[0] || (r[0] = (m) => t.value.email = m),
|
|
1437
1430
|
placeholder: "请输入邮箱",
|
|
1438
1431
|
autocomplete: "email",
|
|
1439
1432
|
type: "email"
|
|
1440
1433
|
}, null, 8, ["modelValue"])]),
|
|
1441
1434
|
_: 1
|
|
1442
|
-
}),
|
|
1435
|
+
}), p(n(L), {
|
|
1443
1436
|
field: "userToken",
|
|
1444
1437
|
label: "验证码",
|
|
1445
1438
|
"hide-label": "",
|
|
@@ -1448,34 +1441,34 @@ const Ht = {
|
|
|
1448
1441
|
message: "请输入验证码"
|
|
1449
1442
|
}]
|
|
1450
1443
|
}, {
|
|
1451
|
-
default: o(() => [z("div", Xt, [
|
|
1444
|
+
default: o(() => [z("div", Xt, [p(n(Q), {
|
|
1452
1445
|
modelValue: t.value.userToken,
|
|
1453
|
-
"onUpdate:modelValue": r[1] || (r[1] = (
|
|
1446
|
+
"onUpdate:modelValue": r[1] || (r[1] = (m) => t.value.userToken = m),
|
|
1454
1447
|
placeholder: "请输入验证码",
|
|
1455
1448
|
autocomplete: "one-time-code"
|
|
1456
|
-
}, null, 8, ["modelValue"]),
|
|
1449
|
+
}, null, 8, ["modelValue"]), p(he, {
|
|
1457
1450
|
ref_key: "SendVerifyCodeRef",
|
|
1458
1451
|
ref: s,
|
|
1459
|
-
size:
|
|
1452
|
+
size: l.size,
|
|
1460
1453
|
loading: d.value,
|
|
1461
1454
|
style: {
|
|
1462
1455
|
"margin-left": "10px"
|
|
1463
1456
|
},
|
|
1464
|
-
onSend:
|
|
1457
|
+
onSend: y
|
|
1465
1458
|
}, null, 8, ["size", "loading"])])]),
|
|
1466
1459
|
_: 1
|
|
1467
|
-
}), z("div", Zt, [
|
|
1460
|
+
}), z("div", Zt, [p(n(T), {
|
|
1468
1461
|
type: "primary",
|
|
1469
|
-
loading:
|
|
1462
|
+
loading: l.loading,
|
|
1470
1463
|
long: "",
|
|
1471
|
-
size:
|
|
1464
|
+
size: l.size,
|
|
1472
1465
|
onClick: g
|
|
1473
1466
|
}, {
|
|
1474
|
-
default: o(() => [k(
|
|
1467
|
+
default: o(() => [k(O(l.submitText), 1)]),
|
|
1475
1468
|
_: 1
|
|
1476
1469
|
}, 8, ["loading", "size"])])]),
|
|
1477
1470
|
_: 1
|
|
1478
|
-
}, 8, ["model", "size"])]),
|
|
1471
|
+
}, 8, ["model", "size"])]), l.showSkip ? (h(), M("div", ei, [p(n(Ce), {
|
|
1479
1472
|
onClick: f
|
|
1480
1473
|
}, {
|
|
1481
1474
|
default: o(() => [...r[2] || (r[2] = [k("稍后绑定", -1)])]),
|
|
@@ -1494,61 +1487,61 @@ const Ht = {
|
|
|
1494
1487
|
const {
|
|
1495
1488
|
userProfile: i,
|
|
1496
1489
|
loading: a,
|
|
1497
|
-
fetchUserProfile:
|
|
1498
|
-
} = ne(), s = A("hidden"), d = A(!1),
|
|
1490
|
+
fetchUserProfile: l
|
|
1491
|
+
} = ne(), s = A("hidden"), d = A(!1), u = e, t = $(() => {
|
|
1499
1492
|
var v;
|
|
1500
1493
|
return !!((v = i.value) != null && v.email) && d.value;
|
|
1501
1494
|
});
|
|
1502
|
-
function
|
|
1495
|
+
function y(v) {
|
|
1503
1496
|
s.value = v;
|
|
1504
1497
|
}
|
|
1505
1498
|
async function g(v) {
|
|
1506
1499
|
a.value = !0;
|
|
1507
|
-
const r = t.value ?
|
|
1500
|
+
const r = t.value ? U().auth.users.update.myEmail.post({
|
|
1508
1501
|
email: v.email,
|
|
1509
1502
|
userToken: v.userToken,
|
|
1510
1503
|
emailVerifyId: v.emailVerifyId
|
|
1511
|
-
}) :
|
|
1504
|
+
}) : U().auth.auth.bind.email.post({
|
|
1512
1505
|
email: v.email,
|
|
1513
1506
|
userToken: v.userToken,
|
|
1514
1507
|
emailVerifyId: v.emailVerifyId
|
|
1515
1508
|
}), {
|
|
1516
|
-
error:
|
|
1509
|
+
error: m
|
|
1517
1510
|
} = await r;
|
|
1518
|
-
a.value = !1,
|
|
1511
|
+
a.value = !1, m || (G.success(t.value ? "更改成功" : "绑定成功"), s.value = "hidden", d.value = !1, l());
|
|
1519
1512
|
}
|
|
1520
1513
|
function f() {
|
|
1521
1514
|
d.value = !0, s.value = "update";
|
|
1522
1515
|
}
|
|
1523
1516
|
return de(() => {
|
|
1524
|
-
i.value ||
|
|
1517
|
+
i.value || l();
|
|
1525
1518
|
}), (v, r) => {
|
|
1526
|
-
var
|
|
1527
|
-
return
|
|
1519
|
+
var m, S, R;
|
|
1520
|
+
return h(), M(ie, null, [(m = n(i)) != null && m.email && s.value === "hidden" ? (h(), I(n(Y), {
|
|
1528
1521
|
key: 0,
|
|
1529
1522
|
title: "更改邮箱"
|
|
1530
1523
|
}, {
|
|
1531
|
-
action: o(() => [
|
|
1532
|
-
size:
|
|
1524
|
+
action: o(() => [p(n(T), {
|
|
1525
|
+
size: u.size,
|
|
1533
1526
|
type: "primary",
|
|
1534
|
-
onClick: r[0] || (r[0] = (B) =>
|
|
1527
|
+
onClick: r[0] || (r[0] = (B) => y("verify"))
|
|
1535
1528
|
}, {
|
|
1536
1529
|
default: o(() => [...r[1] || (r[1] = [k("更改邮箱", -1)])]),
|
|
1537
1530
|
_: 1
|
|
1538
1531
|
}, 8, ["size"])]),
|
|
1539
|
-
default: o(() => [k(
|
|
1532
|
+
default: o(() => [k(O(`您绑定的邮箱为 ${n(Re)(n(i).email)}`) + " ", 1)]),
|
|
1540
1533
|
_: 1
|
|
1541
|
-
})) : E("", !0), !((S = n(i)) != null && S.email) || s.value === "update" ? (
|
|
1534
|
+
})) : E("", !0), !((S = n(i)) != null && S.email) || s.value === "update" ? (h(), I(ii, {
|
|
1542
1535
|
key: 1,
|
|
1543
1536
|
loading: n(a),
|
|
1544
|
-
size:
|
|
1537
|
+
size: u.size,
|
|
1545
1538
|
title: t.value ? "更改邮箱" : "绑定邮箱",
|
|
1546
1539
|
subtitle: t.value ? "请输入新的邮箱并完成验证" : "请绑定邮箱以完成账号设置,绑定后可使用邮箱登录",
|
|
1547
1540
|
"submit-text": t.value ? "更改邮箱" : "绑定邮箱",
|
|
1548
1541
|
onSubmit: g
|
|
1549
|
-
}, null, 8, ["loading", "size", "title", "subtitle", "submit-text"])) : E("", !0), s.value === "verify" ? (
|
|
1542
|
+
}, null, 8, ["loading", "size", "title", "subtitle", "submit-text"])) : E("", !0), s.value === "verify" ? (h(), I(ge, {
|
|
1550
1543
|
key: 2,
|
|
1551
|
-
size:
|
|
1544
|
+
size: u.size,
|
|
1552
1545
|
email: (R = n(i)) == null ? void 0 : R.email,
|
|
1553
1546
|
onNext: f
|
|
1554
1547
|
}, null, 8, ["size", "email"])) : E("", !0)], 64);
|
|
@@ -1604,14 +1597,14 @@ const Ht = {
|
|
|
1604
1597
|
setup(e, {
|
|
1605
1598
|
emit: i
|
|
1606
1599
|
}) {
|
|
1607
|
-
const a = i,
|
|
1600
|
+
const a = i, l = e, s = A(), d = A(!1), u = A(), t = A({
|
|
1608
1601
|
phone: void 0,
|
|
1609
1602
|
code: void 0
|
|
1610
1603
|
});
|
|
1611
|
-
async function
|
|
1612
|
-
if (!await
|
|
1604
|
+
async function y() {
|
|
1605
|
+
if (!await u.value.validateField(["phone"])) {
|
|
1613
1606
|
d.value = !0;
|
|
1614
|
-
const r = await
|
|
1607
|
+
const r = await U().auth.verify.sms.send.post({
|
|
1615
1608
|
phone: t.value.phone,
|
|
1616
1609
|
purpose: "bindPhone"
|
|
1617
1610
|
});
|
|
@@ -1619,7 +1612,7 @@ const Ht = {
|
|
|
1619
1612
|
}
|
|
1620
1613
|
}
|
|
1621
1614
|
async function g() {
|
|
1622
|
-
|
|
1615
|
+
u.value.validate().then((v) => {
|
|
1623
1616
|
v || a("submit", {
|
|
1624
1617
|
phone: t.value.phone,
|
|
1625
1618
|
code: t.value.code
|
|
@@ -1629,14 +1622,14 @@ const Ht = {
|
|
|
1629
1622
|
function f() {
|
|
1630
1623
|
a("skip");
|
|
1631
1624
|
}
|
|
1632
|
-
return (v, r) => (
|
|
1625
|
+
return (v, r) => (h(), M("div", ai, [z("div", oi, [z("h3", si, O(l.title), 1), z("p", li, O(l.subtitle), 1)]), z("div", ri, [p(n(le), {
|
|
1633
1626
|
ref_key: "formRef",
|
|
1634
|
-
ref:
|
|
1627
|
+
ref: u,
|
|
1635
1628
|
model: t.value,
|
|
1636
|
-
size:
|
|
1629
|
+
size: l.size,
|
|
1637
1630
|
"auto-label-width": ""
|
|
1638
1631
|
}, {
|
|
1639
|
-
default: o(() => [
|
|
1632
|
+
default: o(() => [p(n(L), {
|
|
1640
1633
|
field: "phone",
|
|
1641
1634
|
label: "手机号",
|
|
1642
1635
|
"hide-label": "",
|
|
@@ -1648,15 +1641,15 @@ const Ht = {
|
|
|
1648
1641
|
message: "请输入有效的手机号"
|
|
1649
1642
|
}]
|
|
1650
1643
|
}, {
|
|
1651
|
-
default: o(() => [
|
|
1644
|
+
default: o(() => [p(n(Q), {
|
|
1652
1645
|
modelValue: t.value.phone,
|
|
1653
|
-
"onUpdate:modelValue": r[0] || (r[0] = (
|
|
1646
|
+
"onUpdate:modelValue": r[0] || (r[0] = (m) => t.value.phone = m),
|
|
1654
1647
|
placeholder: "请输入手机号",
|
|
1655
1648
|
autocomplete: "tel",
|
|
1656
1649
|
type: "tel"
|
|
1657
1650
|
}, null, 8, ["modelValue"])]),
|
|
1658
1651
|
_: 1
|
|
1659
|
-
}),
|
|
1652
|
+
}), p(n(L), {
|
|
1660
1653
|
field: "code",
|
|
1661
1654
|
label: "验证码",
|
|
1662
1655
|
"hide-label": "",
|
|
@@ -1665,34 +1658,34 @@ const Ht = {
|
|
|
1665
1658
|
message: "请输入验证码"
|
|
1666
1659
|
}]
|
|
1667
1660
|
}, {
|
|
1668
|
-
default: o(() => [z("div", ui, [
|
|
1661
|
+
default: o(() => [z("div", ui, [p(n(Q), {
|
|
1669
1662
|
modelValue: t.value.code,
|
|
1670
|
-
"onUpdate:modelValue": r[1] || (r[1] = (
|
|
1663
|
+
"onUpdate:modelValue": r[1] || (r[1] = (m) => t.value.code = m),
|
|
1671
1664
|
placeholder: "请输入验证码",
|
|
1672
1665
|
autocomplete: "one-time-code"
|
|
1673
|
-
}, null, 8, ["modelValue"]),
|
|
1666
|
+
}, null, 8, ["modelValue"]), p(he, {
|
|
1674
1667
|
ref_key: "SendVerifyCodeRef",
|
|
1675
1668
|
ref: s,
|
|
1676
|
-
size:
|
|
1669
|
+
size: l.size,
|
|
1677
1670
|
loading: d.value,
|
|
1678
1671
|
style: {
|
|
1679
1672
|
"margin-left": "10px"
|
|
1680
1673
|
},
|
|
1681
|
-
onSend:
|
|
1674
|
+
onSend: y
|
|
1682
1675
|
}, null, 8, ["size", "loading"])])]),
|
|
1683
1676
|
_: 1
|
|
1684
|
-
}), z("div", di, [
|
|
1677
|
+
}), z("div", di, [p(n(T), {
|
|
1685
1678
|
type: "primary",
|
|
1686
|
-
loading:
|
|
1679
|
+
loading: l.loading,
|
|
1687
1680
|
long: "",
|
|
1688
|
-
size:
|
|
1681
|
+
size: l.size,
|
|
1689
1682
|
onClick: g
|
|
1690
1683
|
}, {
|
|
1691
|
-
default: o(() => [k(
|
|
1684
|
+
default: o(() => [k(O(l.submitText), 1)]),
|
|
1692
1685
|
_: 1
|
|
1693
1686
|
}, 8, ["loading", "size"])])]),
|
|
1694
1687
|
_: 1
|
|
1695
|
-
}, 8, ["model", "size"])]),
|
|
1688
|
+
}, 8, ["model", "size"])]), l.showSkip ? (h(), M("div", ci, [p(n(Ce), {
|
|
1696
1689
|
onClick: f
|
|
1697
1690
|
}, {
|
|
1698
1691
|
default: o(() => [...r[2] || (r[2] = [k("稍后绑定", -1)])]),
|
|
@@ -1711,78 +1704,78 @@ const Ht = {
|
|
|
1711
1704
|
const {
|
|
1712
1705
|
userProfile: i,
|
|
1713
1706
|
loading: a,
|
|
1714
|
-
fetchUserProfile:
|
|
1715
|
-
} = ne(), s = A("hidden"), d = A(!1),
|
|
1716
|
-
var
|
|
1717
|
-
const r = ((
|
|
1707
|
+
fetchUserProfile: l
|
|
1708
|
+
} = ne(), s = A("hidden"), d = A(!1), u = e, t = $(() => {
|
|
1709
|
+
var m;
|
|
1710
|
+
const r = ((m = i.value) == null ? void 0 : m.phone) || "";
|
|
1718
1711
|
return r.length < 7 ? r : `${r.slice(0, 3)}****${r.slice(-4)}`;
|
|
1719
|
-
}),
|
|
1712
|
+
}), y = $(() => {
|
|
1720
1713
|
var r;
|
|
1721
1714
|
return !!((r = i.value) != null && r.phone) && d.value;
|
|
1722
1715
|
});
|
|
1723
1716
|
function g(r) {
|
|
1724
|
-
var
|
|
1725
|
-
s.value = r, r === "update" && !((
|
|
1717
|
+
var m;
|
|
1718
|
+
s.value = r, r === "update" && !((m = i.value) != null && m.phone) && (d.value = !1);
|
|
1726
1719
|
}
|
|
1727
1720
|
async function f(r) {
|
|
1728
1721
|
a.value = !0;
|
|
1729
|
-
const
|
|
1722
|
+
const m = y.value ? U().auth.users.update.myPhone.post({
|
|
1730
1723
|
phone: r.phone,
|
|
1731
1724
|
code: r.code
|
|
1732
|
-
}) :
|
|
1725
|
+
}) : U().auth.auth.bind.phone.post({
|
|
1733
1726
|
phone: r.phone,
|
|
1734
1727
|
code: r.code
|
|
1735
1728
|
}), {
|
|
1736
1729
|
error: S
|
|
1737
|
-
} = await
|
|
1738
|
-
a.value = !1, S || (G.success(
|
|
1730
|
+
} = await m;
|
|
1731
|
+
a.value = !1, S || (G.success(y.value ? "更改成功" : "绑定成功"), s.value = "hidden", d.value = !1, l());
|
|
1739
1732
|
}
|
|
1740
1733
|
function v() {
|
|
1741
1734
|
d.value = !0, s.value = "update";
|
|
1742
1735
|
}
|
|
1743
1736
|
return de(() => {
|
|
1744
|
-
i.value ||
|
|
1745
|
-
}), (r,
|
|
1737
|
+
i.value || l();
|
|
1738
|
+
}), (r, m) => {
|
|
1746
1739
|
var S, R, B;
|
|
1747
|
-
return
|
|
1740
|
+
return h(), M(ie, null, [!((S = n(i)) != null && S.phone) && s.value === "hidden" ? (h(), I(n(Y), {
|
|
1748
1741
|
key: 0,
|
|
1749
1742
|
title: "绑定手机号"
|
|
1750
1743
|
}, {
|
|
1751
|
-
action: o(() => [
|
|
1752
|
-
size:
|
|
1744
|
+
action: o(() => [p(n(T), {
|
|
1745
|
+
size: u.size,
|
|
1753
1746
|
type: "primary",
|
|
1754
|
-
onClick:
|
|
1747
|
+
onClick: m[0] || (m[0] = (K) => g("update"))
|
|
1755
1748
|
}, {
|
|
1756
|
-
default: o(() => [...
|
|
1749
|
+
default: o(() => [...m[2] || (m[2] = [k("绑定手机号", -1)])]),
|
|
1757
1750
|
_: 1
|
|
1758
1751
|
}, 8, ["size"])]),
|
|
1759
|
-
default: o(() => [
|
|
1752
|
+
default: o(() => [m[3] || (m[3] = k(" 您还未绑定手机号,请点击绑定手机号。 ", -1))]),
|
|
1760
1753
|
_: 1
|
|
1761
|
-
})) : E("", !0), (R = n(i)) != null && R.phone && s.value === "hidden" ? (
|
|
1754
|
+
})) : E("", !0), (R = n(i)) != null && R.phone && s.value === "hidden" ? (h(), I(n(Y), {
|
|
1762
1755
|
key: 1,
|
|
1763
1756
|
title: "已绑定手机号"
|
|
1764
1757
|
}, {
|
|
1765
|
-
action: o(() => [
|
|
1766
|
-
size:
|
|
1758
|
+
action: o(() => [p(n(T), {
|
|
1759
|
+
size: u.size,
|
|
1767
1760
|
type: "primary",
|
|
1768
|
-
onClick:
|
|
1761
|
+
onClick: m[1] || (m[1] = (K) => g("verify"))
|
|
1769
1762
|
}, {
|
|
1770
|
-
default: o(() => [...
|
|
1763
|
+
default: o(() => [...m[4] || (m[4] = [k("更改手机号", -1)])]),
|
|
1771
1764
|
_: 1
|
|
1772
1765
|
}, 8, ["size"])]),
|
|
1773
|
-
default: o(() => [k(
|
|
1766
|
+
default: o(() => [k(O(`您绑定的手机号为 ${t.value}`) + " ", 1)]),
|
|
1774
1767
|
_: 1
|
|
1775
|
-
})) : E("", !0), s.value === "update" ? (
|
|
1768
|
+
})) : E("", !0), s.value === "update" ? (h(), I(pi, {
|
|
1776
1769
|
key: 2,
|
|
1777
1770
|
loading: n(a),
|
|
1778
|
-
size:
|
|
1779
|
-
title:
|
|
1780
|
-
subtitle:
|
|
1781
|
-
"submit-text":
|
|
1771
|
+
size: u.size,
|
|
1772
|
+
title: y.value ? "更改手机号" : "绑定手机号",
|
|
1773
|
+
subtitle: y.value ? "请输入新的手机号并完成短信验证" : "请绑定手机号以完成账号设置",
|
|
1774
|
+
"submit-text": y.value ? "更改手机号" : "绑定手机号",
|
|
1782
1775
|
onSubmit: f
|
|
1783
|
-
}, null, 8, ["loading", "size", "title", "subtitle", "submit-text"])) : E("", !0), s.value === "verify" ? (
|
|
1776
|
+
}, null, 8, ["loading", "size", "title", "subtitle", "submit-text"])) : E("", !0), s.value === "verify" ? (h(), I(we, {
|
|
1784
1777
|
key: 3,
|
|
1785
|
-
size:
|
|
1778
|
+
size: u.size,
|
|
1786
1779
|
phone: ((B = n(i)) == null ? void 0 : B.phone) || "",
|
|
1787
1780
|
onNext: v
|
|
1788
1781
|
}, null, 8, ["size", "phone"])) : E("", !0)], 64);
|
|
@@ -1800,11 +1793,11 @@ function hi(e) {
|
|
|
1800
1793
|
function gn(e) {
|
|
1801
1794
|
return ze.forEach((i) => e.searchParams.delete(i)), `${e.pathname}${e.search}${e.hash}`;
|
|
1802
1795
|
}
|
|
1803
|
-
function
|
|
1796
|
+
function xe() {
|
|
1804
1797
|
return new URL(window.location.href);
|
|
1805
1798
|
}
|
|
1806
|
-
function
|
|
1807
|
-
const e =
|
|
1799
|
+
function Ne() {
|
|
1800
|
+
const e = xe();
|
|
1808
1801
|
return ze.forEach((i) => e.searchParams.delete(i)), `${e.origin}${e.pathname}${e.search}${e.hash}`;
|
|
1809
1802
|
}
|
|
1810
1803
|
function yi() {
|
|
@@ -1813,7 +1806,7 @@ function yi() {
|
|
|
1813
1806
|
function gi() {
|
|
1814
1807
|
if (typeof window > "u")
|
|
1815
1808
|
return;
|
|
1816
|
-
const e =
|
|
1809
|
+
const e = xe();
|
|
1817
1810
|
if (hi(e))
|
|
1818
1811
|
return;
|
|
1819
1812
|
const i = `${e.pathname}${e.search}${e.hash}`;
|
|
@@ -1835,27 +1828,27 @@ function bn(e = "/") {
|
|
|
1835
1828
|
return sessionStorage.removeItem(ue), i || e;
|
|
1836
1829
|
}
|
|
1837
1830
|
async function ce(e, i) {
|
|
1838
|
-
const a =
|
|
1831
|
+
const a = Xe().config.appId;
|
|
1839
1832
|
if (!a) {
|
|
1840
1833
|
console.error(`${e} OAuth 失败: appId 未配置`);
|
|
1841
1834
|
return;
|
|
1842
1835
|
}
|
|
1843
1836
|
gi();
|
|
1844
|
-
const
|
|
1837
|
+
const l = Ne(), s = (i == null ? void 0 : i.inviteCode) || vi() || void 0, d = {
|
|
1845
1838
|
appId: a,
|
|
1846
1839
|
inviteCode: s,
|
|
1847
|
-
redirectUri:
|
|
1840
|
+
redirectUri: l,
|
|
1848
1841
|
acceptedTerms: (i == null ? void 0 : i.acceptedTerms) === !0 ? !0 : void 0
|
|
1849
|
-
},
|
|
1850
|
-
github: () =>
|
|
1851
|
-
google: () =>
|
|
1852
|
-
microsoft: () =>
|
|
1853
|
-
wechat: () =>
|
|
1842
|
+
}, u = {
|
|
1843
|
+
github: () => U().auth.oauth.github.login.get(d),
|
|
1844
|
+
google: () => U().auth.oauth.google.login.get(d),
|
|
1845
|
+
microsoft: () => U().auth.oauth.microsoft.login.get(d),
|
|
1846
|
+
wechat: () => U().auth.oauth.wechat.login.get(d)
|
|
1854
1847
|
}, {
|
|
1855
1848
|
data: t,
|
|
1856
|
-
error:
|
|
1857
|
-
} = await
|
|
1858
|
-
if (!
|
|
1849
|
+
error: y
|
|
1850
|
+
} = await u[e]();
|
|
1851
|
+
if (!y) {
|
|
1859
1852
|
if (t != null && t.redirectUri) {
|
|
1860
1853
|
window.location.href = t.redirectUri;
|
|
1861
1854
|
return;
|
|
@@ -1882,7 +1875,7 @@ function Ai() {
|
|
|
1882
1875
|
microsoftAuth: _i,
|
|
1883
1876
|
wechatAuth: ki,
|
|
1884
1877
|
startOauth: ce,
|
|
1885
|
-
buildLoginOauthRedirectUri:
|
|
1878
|
+
buildLoginOauthRedirectUri: Ne,
|
|
1886
1879
|
buildBindOauthRedirectUri: yi
|
|
1887
1880
|
};
|
|
1888
1881
|
}
|
|
@@ -1902,13 +1895,13 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
1902
1895
|
},
|
|
1903
1896
|
setup(e) {
|
|
1904
1897
|
const i = e;
|
|
1905
|
-
return (a,
|
|
1898
|
+
return (a, l) => n(tt)(i.icon) ? (h(), I(n(et), {
|
|
1906
1899
|
key: 0,
|
|
1907
1900
|
icon: i.icon,
|
|
1908
1901
|
width: i.size,
|
|
1909
1902
|
height: i.size,
|
|
1910
1903
|
class: Pe(i.class)
|
|
1911
|
-
}, null, 8, ["icon", "width", "height", "class"])) : i.icon ? (
|
|
1904
|
+
}, null, 8, ["icon", "width", "height", "class"])) : i.icon ? (h(), M("img", {
|
|
1912
1905
|
key: 1,
|
|
1913
1906
|
src: i.icon,
|
|
1914
1907
|
alt: i.alt,
|
|
@@ -1934,11 +1927,11 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
1934
1927
|
class: "oauth-binding-account__icon"
|
|
1935
1928
|
}, Ti = {
|
|
1936
1929
|
class: "oauth-binding-account__info"
|
|
1937
|
-
},
|
|
1930
|
+
}, Oi = {
|
|
1938
1931
|
class: "oauth-binding-account__provider"
|
|
1939
|
-
},
|
|
1932
|
+
}, Ui = {
|
|
1940
1933
|
class: "oauth-binding-account__name"
|
|
1941
|
-
},
|
|
1934
|
+
}, xi = {
|
|
1942
1935
|
class: "oauth-binding-verify-actions"
|
|
1943
1936
|
}, Ni = /* @__PURE__ */ J({
|
|
1944
1937
|
__name: "AuthkitOAuthBinding",
|
|
@@ -1960,21 +1953,21 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
1960
1953
|
const {
|
|
1961
1954
|
config: i
|
|
1962
1955
|
} = Se(), a = e, {
|
|
1963
|
-
userProfile:
|
|
1956
|
+
userProfile: l,
|
|
1964
1957
|
fetchUserProfile: s
|
|
1965
1958
|
} = ne(), {
|
|
1966
1959
|
appsData: d
|
|
1967
1960
|
} = Ve(), {
|
|
1968
|
-
buildBindOauthRedirectUri:
|
|
1969
|
-
} = Ai(), t = A("hidden"),
|
|
1961
|
+
buildBindOauthRedirectUri: u
|
|
1962
|
+
} = Ai(), t = A("hidden"), y = A(), g = A(!1);
|
|
1970
1963
|
let f;
|
|
1971
1964
|
const v = $(() => {
|
|
1972
1965
|
var c;
|
|
1973
|
-
return ((c =
|
|
1966
|
+
return ((c = l.value) == null ? void 0 : c[a.provider]) || null;
|
|
1974
1967
|
}), r = $(() => {
|
|
1975
1968
|
const c = v.value;
|
|
1976
1969
|
return c ? c.login || c.name || c.nickname || c.displayName || c.userPrincipalName || c.email || c.mail || c.openid || a.label : "";
|
|
1977
|
-
}),
|
|
1970
|
+
}), m = $(() => {
|
|
1978
1971
|
const c = v.value;
|
|
1979
1972
|
return (c == null ? void 0 : c.avatar_url) || (c == null ? void 0 : c.picture) || (c == null ? void 0 : c.headimgurl) || "";
|
|
1980
1973
|
}), S = $(() => re[a.provider]), R = $(() => {
|
|
@@ -1985,23 +1978,23 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
1985
1978
|
return c.signUp.phone || c.login.phonePassword || c.login.phoneCode;
|
|
1986
1979
|
}), K = $(() => {
|
|
1987
1980
|
var c;
|
|
1988
|
-
return R.value && !!((c =
|
|
1981
|
+
return R.value && !!((c = l.value) != null && c.email);
|
|
1989
1982
|
}), j = $(() => {
|
|
1990
1983
|
var c;
|
|
1991
|
-
return B.value && !!((c =
|
|
1984
|
+
return B.value && !!((c = l.value) != null && c.phone);
|
|
1992
1985
|
}), V = $(() => {
|
|
1993
1986
|
const c = [];
|
|
1994
1987
|
return K.value && c.push("email"), j.value && c.push("phone"), c;
|
|
1995
|
-
}), w = $(() => R.value || B.value), q = $(() => t.value !== "hidden" && V.value.length > 1 && !
|
|
1988
|
+
}), w = $(() => R.value || B.value), q = $(() => t.value !== "hidden" && V.value.length > 1 && !y.value), _ = $(() => {
|
|
1996
1989
|
var c;
|
|
1997
|
-
return t.value !== "hidden" &&
|
|
1990
|
+
return t.value !== "hidden" && y.value === "email" && !!((c = l.value) != null && c.email);
|
|
1998
1991
|
}), P = $(() => {
|
|
1999
1992
|
var c;
|
|
2000
|
-
return t.value !== "hidden" &&
|
|
1993
|
+
return t.value !== "hidden" && y.value === "phone" && !!((c = l.value) != null && c.phone);
|
|
2001
1994
|
}), N = $(() => t.value === "unbind" ? "解绑" : "绑定");
|
|
2002
1995
|
function F(c) {
|
|
2003
1996
|
if (c === "hidden") {
|
|
2004
|
-
t.value = c,
|
|
1997
|
+
t.value = c, y.value = void 0;
|
|
2005
1998
|
return;
|
|
2006
1999
|
}
|
|
2007
2000
|
if (!w.value) {
|
|
@@ -2013,10 +2006,10 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2013
2006
|
G.error("请先绑定应用已开启的邮箱或手机号后再操作第三方账号");
|
|
2014
2007
|
return;
|
|
2015
2008
|
}
|
|
2016
|
-
t.value = c,
|
|
2009
|
+
t.value = c, y.value = C.length === 1 ? C[0] : void 0;
|
|
2017
2010
|
}
|
|
2018
2011
|
function D(c) {
|
|
2019
|
-
|
|
2012
|
+
y.value = c;
|
|
2020
2013
|
}
|
|
2021
2014
|
async function Z() {
|
|
2022
2015
|
const c = i.appId;
|
|
@@ -2024,7 +2017,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2024
2017
|
console.error(`${a.label} OAuth 失败: appId 未配置`);
|
|
2025
2018
|
return;
|
|
2026
2019
|
}
|
|
2027
|
-
const C =
|
|
2020
|
+
const C = u(), H = U().auth, oe = {
|
|
2028
2021
|
github: () => H.oauth.github.login.get({
|
|
2029
2022
|
appId: c,
|
|
2030
2023
|
mode: "bind",
|
|
@@ -2047,72 +2040,72 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2047
2040
|
})
|
|
2048
2041
|
}, {
|
|
2049
2042
|
data: te,
|
|
2050
|
-
error:
|
|
2043
|
+
error: De
|
|
2051
2044
|
} = await oe[a.provider]();
|
|
2052
|
-
|
|
2045
|
+
De || !(te != null && te.redirectUri) || (g.value = !0, window.open(te.redirectUri, "_blank"));
|
|
2053
2046
|
}
|
|
2054
2047
|
async function ae() {
|
|
2055
2048
|
const {
|
|
2056
2049
|
error: c
|
|
2057
|
-
} = await
|
|
2050
|
+
} = await U().auth.users.unbind.oauth.post({
|
|
2058
2051
|
provider: a.provider
|
|
2059
2052
|
});
|
|
2060
2053
|
c || (G.success("解绑成功"), t.value = "hidden", s());
|
|
2061
2054
|
}
|
|
2062
|
-
function
|
|
2055
|
+
function x() {
|
|
2063
2056
|
t.value === "bind" && (t.value = "hidden", Z()), t.value === "unbind" && ae();
|
|
2064
2057
|
}
|
|
2065
2058
|
function b() {
|
|
2066
2059
|
g.value && s();
|
|
2067
2060
|
}
|
|
2068
2061
|
return de(() => {
|
|
2069
|
-
|
|
2062
|
+
l.value || s(), f = setInterval(b, 1e3);
|
|
2070
2063
|
}), Ae(() => {
|
|
2071
2064
|
f && clearInterval(f);
|
|
2072
2065
|
}), (c, C) => {
|
|
2073
2066
|
var H, oe;
|
|
2074
|
-
return
|
|
2067
|
+
return h(), M(ie, null, [!v.value && t.value === "hidden" ? (h(), I(n(Y), {
|
|
2075
2068
|
key: 0,
|
|
2076
2069
|
title: `绑定${a.label}`
|
|
2077
2070
|
}, {
|
|
2078
|
-
action: o(() => [
|
|
2071
|
+
action: o(() => [p(n(T), {
|
|
2079
2072
|
size: a.size,
|
|
2080
2073
|
type: "primary",
|
|
2081
2074
|
onClick: C[0] || (C[0] = (te) => F("bind"))
|
|
2082
2075
|
}, {
|
|
2083
|
-
default: o(() => [k(" 绑定" +
|
|
2076
|
+
default: o(() => [k(" 绑定" + O(a.label), 1)]),
|
|
2084
2077
|
_: 1
|
|
2085
2078
|
}, 8, ["size"])]),
|
|
2086
|
-
default: o(() => [k(" 您还未绑定" +
|
|
2079
|
+
default: o(() => [k(" 您还未绑定" + O(a.label) + "账号,请点击绑定。 ", 1)]),
|
|
2087
2080
|
_: 1
|
|
2088
|
-
}, 8, ["title"])) : E("", !0), v.value && t.value === "hidden" ? (
|
|
2081
|
+
}, 8, ["title"])) : E("", !0), v.value && t.value === "hidden" ? (h(), I(n(Y), {
|
|
2089
2082
|
key: 1,
|
|
2090
2083
|
title: `解绑${a.label}`
|
|
2091
2084
|
}, {
|
|
2092
|
-
action: o(() => [
|
|
2085
|
+
action: o(() => [p(n(T), {
|
|
2093
2086
|
size: a.size,
|
|
2094
2087
|
type: "primary",
|
|
2095
2088
|
onClick: C[1] || (C[1] = (te) => F("unbind"))
|
|
2096
2089
|
}, {
|
|
2097
|
-
default: o(() => [k(" 解绑" +
|
|
2090
|
+
default: o(() => [k(" 解绑" + O(a.label), 1)]),
|
|
2098
2091
|
_: 1
|
|
2099
2092
|
}, 8, ["size"])]),
|
|
2100
|
-
default: o(() => [z("div", Vi, [
|
|
2093
|
+
default: o(() => [z("div", Vi, [m.value ? (h(), I(n(Ee), {
|
|
2101
2094
|
key: 0,
|
|
2102
2095
|
class: "oauth-binding-account__avatar",
|
|
2103
|
-
"image-url":
|
|
2096
|
+
"image-url": m.value,
|
|
2104
2097
|
size: 42
|
|
2105
|
-
}, null, 8, ["image-url"])) : (
|
|
2098
|
+
}, null, 8, ["image-url"])) : (h(), M("div", $i, [p(Ii, {
|
|
2106
2099
|
icon: S.value,
|
|
2107
2100
|
size: n(Si),
|
|
2108
2101
|
alt: a.label
|
|
2109
|
-
}, null, 8, ["icon", "size", "alt"])])), z("div", Ti, [z("div",
|
|
2102
|
+
}, null, 8, ["icon", "size", "alt"])])), z("div", Ti, [z("div", Oi, O(a.label), 1), z("div", Ui, O(r.value), 1)])])]),
|
|
2110
2103
|
_: 1
|
|
2111
|
-
}, 8, ["title"])) : E("", !0), q.value ? (
|
|
2104
|
+
}, 8, ["title"])) : E("", !0), q.value ? (h(), I(n(Y), {
|
|
2112
2105
|
key: 2,
|
|
2113
2106
|
title: `${N.value}前验证身份`
|
|
2114
2107
|
}, {
|
|
2115
|
-
action: o(() => [z("div",
|
|
2108
|
+
action: o(() => [z("div", xi, [K.value ? (h(), I(n(T), {
|
|
2116
2109
|
key: 0,
|
|
2117
2110
|
size: a.size,
|
|
2118
2111
|
type: "primary",
|
|
@@ -2120,7 +2113,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2120
2113
|
}, {
|
|
2121
2114
|
default: o(() => [...C[4] || (C[4] = [k(" 邮箱验证 ", -1)])]),
|
|
2122
2115
|
_: 1
|
|
2123
|
-
}, 8, ["size"])) : E("", !0), j.value ? (
|
|
2116
|
+
}, 8, ["size"])) : E("", !0), j.value ? (h(), I(n(T), {
|
|
2124
2117
|
key: 1,
|
|
2125
2118
|
size: a.size,
|
|
2126
2119
|
type: "primary",
|
|
@@ -2131,16 +2124,16 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2131
2124
|
}, 8, ["size"])) : E("", !0)])]),
|
|
2132
2125
|
default: o(() => [C[6] || (C[6] = k(" 请选择一种已绑定的验证方式。 ", -1))]),
|
|
2133
2126
|
_: 1
|
|
2134
|
-
}, 8, ["title"])) : E("", !0), _.value ? (
|
|
2127
|
+
}, 8, ["title"])) : E("", !0), _.value ? (h(), I(ge, {
|
|
2135
2128
|
key: 3,
|
|
2136
2129
|
size: a.size,
|
|
2137
|
-
email: (H = n(
|
|
2138
|
-
onNext:
|
|
2139
|
-
}, null, 8, ["size", "email"])) : E("", !0), P.value ? (
|
|
2130
|
+
email: (H = n(l)) == null ? void 0 : H.email,
|
|
2131
|
+
onNext: x
|
|
2132
|
+
}, null, 8, ["size", "email"])) : E("", !0), P.value ? (h(), I(we, {
|
|
2140
2133
|
key: 4,
|
|
2141
2134
|
size: a.size,
|
|
2142
|
-
phone: ((oe = n(
|
|
2143
|
-
onNext:
|
|
2135
|
+
phone: ((oe = n(l)) == null ? void 0 : oe.phone) || "",
|
|
2136
|
+
onNext: x
|
|
2144
2137
|
}, null, 8, ["size", "phone"])) : E("", !0)], 64);
|
|
2145
2138
|
};
|
|
2146
2139
|
}
|
|
@@ -2168,35 +2161,35 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2168
2161
|
setup(e, {
|
|
2169
2162
|
emit: i
|
|
2170
2163
|
}) {
|
|
2171
|
-
const a = e,
|
|
2164
|
+
const a = e, l = i, {
|
|
2172
2165
|
userProfile: s,
|
|
2173
2166
|
clearUserProfile: d
|
|
2174
2167
|
} = ne(), {
|
|
2175
|
-
clearAuth:
|
|
2176
|
-
} =
|
|
2177
|
-
let
|
|
2168
|
+
clearAuth: u
|
|
2169
|
+
} = nt(), t = A("check"), y = A(!1), g = A([]), f = A(!1), v = A(""), r = A(0);
|
|
2170
|
+
let m = null;
|
|
2178
2171
|
const S = A("email"), R = $(() => {
|
|
2179
2172
|
var C;
|
|
2180
|
-
const
|
|
2181
|
-
if (!
|
|
2182
|
-
const [b, c] =
|
|
2183
|
-
return b.length <= 2 ?
|
|
2173
|
+
const x = ((C = s.value) == null ? void 0 : C.email) || "";
|
|
2174
|
+
if (!x) return "";
|
|
2175
|
+
const [b, c] = x.split("@");
|
|
2176
|
+
return b.length <= 2 ? x : `${b.slice(0, 2)}***@${c}`;
|
|
2184
2177
|
}), B = $(() => {
|
|
2185
2178
|
var b;
|
|
2186
|
-
const
|
|
2187
|
-
return
|
|
2179
|
+
const x = ((b = s.value) == null ? void 0 : b.phone) || "";
|
|
2180
|
+
return x.length < 7 ? x : `${x.slice(0, 3)}****${x.slice(-4)}`;
|
|
2188
2181
|
}), K = $(() => S.value === "email" ? `为确保账号安全,我们将向您的邮箱 ${R.value} 发送验证码` : `为确保账号安全,我们将向您的手机号 ${B.value} 发送验证码`), j = $(() => S.value === "email" ? `验证码已发送至 ${R.value},注销后该账号将无法继续登录,请谨慎操作` : `验证码已发送至 ${B.value},注销后该账号将无法继续登录,请谨慎操作`), V = A(), w = A({
|
|
2189
2182
|
userToken: "",
|
|
2190
2183
|
code: "",
|
|
2191
2184
|
password: "",
|
|
2192
2185
|
confirmText: ""
|
|
2193
2186
|
}), q = A(!1);
|
|
2194
|
-
function _(
|
|
2195
|
-
|
|
2187
|
+
function _(x, b) {
|
|
2188
|
+
x !== "注销" ? b('请输入"注销"以确认操作') : b();
|
|
2196
2189
|
}
|
|
2197
2190
|
async function P() {
|
|
2198
|
-
var
|
|
2199
|
-
if (
|
|
2191
|
+
var x, b;
|
|
2192
|
+
if (y.value = !0, y.value = !1, !((x = s.value) != null && x.email) && !((b = s.value) != null && b.phone)) {
|
|
2200
2193
|
G.error("请先绑定邮箱或手机号后再注销账号");
|
|
2201
2194
|
return;
|
|
2202
2195
|
}
|
|
@@ -2206,8 +2199,8 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2206
2199
|
}
|
|
2207
2200
|
S.value = s.value.email ? "email" : "phone", t.value = "sendCode";
|
|
2208
2201
|
}
|
|
2209
|
-
function N(
|
|
2210
|
-
S.value =
|
|
2202
|
+
function N(x) {
|
|
2203
|
+
S.value = x, t.value = "sendCode";
|
|
2211
2204
|
}
|
|
2212
2205
|
async function F() {
|
|
2213
2206
|
var c, C;
|
|
@@ -2217,7 +2210,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2217
2210
|
return;
|
|
2218
2211
|
}
|
|
2219
2212
|
f.value = !0;
|
|
2220
|
-
const H = await
|
|
2213
|
+
const H = await U().auth.verify.email.retry.post({
|
|
2221
2214
|
email: s.value.email,
|
|
2222
2215
|
purpose: "deleteAccount"
|
|
2223
2216
|
});
|
|
@@ -2231,21 +2224,21 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2231
2224
|
return;
|
|
2232
2225
|
}
|
|
2233
2226
|
f.value = !0;
|
|
2234
|
-
const
|
|
2227
|
+
const x = await U().auth.verify.sms.send.post({
|
|
2235
2228
|
phone: s.value.phone,
|
|
2236
2229
|
purpose: "deleteAccount"
|
|
2237
2230
|
});
|
|
2238
2231
|
f.value = !1;
|
|
2239
|
-
const b = ke(
|
|
2240
|
-
|
|
2232
|
+
const b = ke(x);
|
|
2233
|
+
x.error || (G.success("验证码已发送"), t.value = "confirm"), D(b);
|
|
2241
2234
|
}
|
|
2242
|
-
function D(
|
|
2243
|
-
!
|
|
2244
|
-
r.value--, r.value <= 0 &&
|
|
2235
|
+
function D(x) {
|
|
2236
|
+
!x || x <= 0 || (r.value = Math.ceil(x), m && clearInterval(m), m = setInterval(() => {
|
|
2237
|
+
r.value--, r.value <= 0 && m && (clearInterval(m), m = null);
|
|
2245
2238
|
}, 1e3));
|
|
2246
2239
|
}
|
|
2247
2240
|
Ae(() => {
|
|
2248
|
-
|
|
2241
|
+
m && (clearInterval(m), m = null);
|
|
2249
2242
|
});
|
|
2250
2243
|
async function Z() {
|
|
2251
2244
|
var C, H;
|
|
@@ -2265,61 +2258,61 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2265
2258
|
confirmText: w.value.confirmText
|
|
2266
2259
|
}, {
|
|
2267
2260
|
error: c
|
|
2268
|
-
} = await
|
|
2269
|
-
q.value = !1, c || (t.value = "success", d(),
|
|
2261
|
+
} = await U().auth.users.deleteAccount.post(b);
|
|
2262
|
+
q.value = !1, c || (t.value = "success", d(), u(), l("deleted"));
|
|
2270
2263
|
}
|
|
2271
2264
|
function ae() {
|
|
2272
2265
|
window.location.href = "/";
|
|
2273
2266
|
}
|
|
2274
|
-
return (
|
|
2267
|
+
return (x, b) => t.value === "check" ? (h(), I(n(Y), {
|
|
2275
2268
|
key: 0,
|
|
2276
2269
|
type: "warning",
|
|
2277
2270
|
title: "注销账号"
|
|
2278
2271
|
}, {
|
|
2279
|
-
action: o(() => [
|
|
2272
|
+
action: o(() => [p(n(T), {
|
|
2280
2273
|
size: a.size,
|
|
2281
2274
|
type: "primary",
|
|
2282
2275
|
status: "danger",
|
|
2283
|
-
loading:
|
|
2276
|
+
loading: y.value,
|
|
2284
2277
|
onClick: P
|
|
2285
2278
|
}, {
|
|
2286
|
-
default: o(() => [k(
|
|
2279
|
+
default: o(() => [k(O(y.value ? "检查中..." : "开始注销"), 1)]),
|
|
2287
2280
|
_: 1
|
|
2288
2281
|
}, 8, ["size", "loading"])]),
|
|
2289
2282
|
default: o(() => [b[10] || (b[10] = k(" 注销账号后,登录凭据、第三方绑定和当前登录态会被清除;历史订单、用量、审计等业务记录会保留用于对账和安全追溯。 ", -1))]),
|
|
2290
2283
|
_: 1
|
|
2291
|
-
})) : t.value === "dependencies" ? (
|
|
2284
|
+
})) : t.value === "dependencies" ? (h(), M(ie, {
|
|
2292
2285
|
key: 1
|
|
2293
|
-
}, [
|
|
2286
|
+
}, [p(n(Y), {
|
|
2294
2287
|
type: "error",
|
|
2295
2288
|
title: "无法注销账号"
|
|
2296
2289
|
}, {
|
|
2297
2290
|
default: o(() => [...b[11] || (b[11] = [k(" 您的账号下还有以下资源,请先处理后再注销: ", -1)])]),
|
|
2298
2291
|
_: 1
|
|
2299
|
-
}), z("div", Bi, [(
|
|
2292
|
+
}), z("div", Bi, [(h(!0), M(ie, null, Ke(g.value, (c) => (h(), M("div", {
|
|
2300
2293
|
key: c.type,
|
|
2301
2294
|
class: "dependency-item"
|
|
2302
|
-
}, [z("span", qi,
|
|
2295
|
+
}, [z("span", qi, O(c.label), 1), z("span", Li, O(c.count) + " 个", 1)]))), 128))]), z("div", Mi, [p(n(T), {
|
|
2303
2296
|
size: a.size,
|
|
2304
2297
|
onClick: b[0] || (b[0] = (c) => t.value = "check")
|
|
2305
2298
|
}, {
|
|
2306
2299
|
default: o(() => [...b[12] || (b[12] = [k("返回", -1)])]),
|
|
2307
2300
|
_: 1
|
|
2308
|
-
}, 8, ["size"])])], 64)) : t.value === "chooseMethod" ? (
|
|
2301
|
+
}, 8, ["size"])])], 64)) : t.value === "chooseMethod" ? (h(), I(n(Y), {
|
|
2309
2302
|
key: 2,
|
|
2310
2303
|
type: "normal",
|
|
2311
2304
|
title: "选择验证方式"
|
|
2312
2305
|
}, {
|
|
2313
|
-
action: o(() => [
|
|
2306
|
+
action: o(() => [p(n(me), null, {
|
|
2314
2307
|
default: o(() => {
|
|
2315
2308
|
var c, C;
|
|
2316
|
-
return [
|
|
2309
|
+
return [p(n(T), {
|
|
2317
2310
|
size: a.size,
|
|
2318
2311
|
onClick: b[1] || (b[1] = (H) => t.value = "check")
|
|
2319
2312
|
}, {
|
|
2320
2313
|
default: o(() => [...b[13] || (b[13] = [k("取消", -1)])]),
|
|
2321
2314
|
_: 1
|
|
2322
|
-
}, 8, ["size"]), (c = n(s)) != null && c.email ? (
|
|
2315
|
+
}, 8, ["size"]), (c = n(s)) != null && c.email ? (h(), I(n(T), {
|
|
2323
2316
|
key: 0,
|
|
2324
2317
|
size: a.size,
|
|
2325
2318
|
type: "primary",
|
|
@@ -2327,7 +2320,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2327
2320
|
}, {
|
|
2328
2321
|
default: o(() => [...b[14] || (b[14] = [k(" 邮箱验证 ", -1)])]),
|
|
2329
2322
|
_: 1
|
|
2330
|
-
}, 8, ["size"])) : E("", !0), (C = n(s)) != null && C.phone ? (
|
|
2323
|
+
}, 8, ["size"])) : E("", !0), (C = n(s)) != null && C.phone ? (h(), I(n(T), {
|
|
2331
2324
|
key: 1,
|
|
2332
2325
|
size: a.size,
|
|
2333
2326
|
type: "primary",
|
|
@@ -2341,40 +2334,40 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2341
2334
|
})]),
|
|
2342
2335
|
default: o(() => [b[16] || (b[16] = k(" 请选择一种已绑定的身份验证方式。 ", -1))]),
|
|
2343
2336
|
_: 1
|
|
2344
|
-
})) : t.value === "sendCode" ? (
|
|
2337
|
+
})) : t.value === "sendCode" ? (h(), I(n(Y), {
|
|
2345
2338
|
key: 3,
|
|
2346
2339
|
type: "normal",
|
|
2347
2340
|
title: "身份验证"
|
|
2348
2341
|
}, {
|
|
2349
|
-
action: o(() => [
|
|
2350
|
-
default: o(() => [
|
|
2342
|
+
action: o(() => [p(n(me), null, {
|
|
2343
|
+
default: o(() => [p(n(T), {
|
|
2351
2344
|
size: a.size,
|
|
2352
2345
|
onClick: b[4] || (b[4] = (c) => t.value = "check")
|
|
2353
2346
|
}, {
|
|
2354
2347
|
default: o(() => [...b[17] || (b[17] = [k("取消", -1)])]),
|
|
2355
2348
|
_: 1
|
|
2356
|
-
}, 8, ["size"]),
|
|
2349
|
+
}, 8, ["size"]), p(n(T), {
|
|
2357
2350
|
size: a.size,
|
|
2358
2351
|
type: "primary",
|
|
2359
2352
|
loading: f.value,
|
|
2360
2353
|
onClick: F
|
|
2361
2354
|
}, {
|
|
2362
|
-
default: o(() => [k(
|
|
2355
|
+
default: o(() => [k(O(f.value ? "发送中..." : "发送验证码"), 1)]),
|
|
2363
2356
|
_: 1
|
|
2364
2357
|
}, 8, ["size", "loading"])]),
|
|
2365
2358
|
_: 1
|
|
2366
2359
|
})]),
|
|
2367
|
-
default: o(() => [k(
|
|
2360
|
+
default: o(() => [k(O(K.value) + " ", 1)]),
|
|
2368
2361
|
_: 1
|
|
2369
|
-
})) : t.value === "confirm" ? (
|
|
2362
|
+
})) : t.value === "confirm" ? (h(), M(ie, {
|
|
2370
2363
|
key: 4
|
|
2371
|
-
}, [
|
|
2364
|
+
}, [p(n(Y), {
|
|
2372
2365
|
type: "warning",
|
|
2373
2366
|
title: "确认注销"
|
|
2374
2367
|
}, {
|
|
2375
|
-
default: o(() => [k(
|
|
2368
|
+
default: o(() => [k(O(j.value), 1)]),
|
|
2376
2369
|
_: 1
|
|
2377
|
-
}),
|
|
2370
|
+
}), p(n(le), {
|
|
2378
2371
|
ref_key: "formRef",
|
|
2379
2372
|
ref: V,
|
|
2380
2373
|
model: w.value,
|
|
@@ -2384,7 +2377,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2384
2377
|
}, {
|
|
2385
2378
|
default: o(() => {
|
|
2386
2379
|
var c;
|
|
2387
|
-
return [S.value === "email" ? (
|
|
2380
|
+
return [S.value === "email" ? (h(), I(n(L), {
|
|
2388
2381
|
key: 0,
|
|
2389
2382
|
field: "userToken",
|
|
2390
2383
|
label: "邮箱验证码",
|
|
@@ -2393,22 +2386,22 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2393
2386
|
message: "请输入验证码"
|
|
2394
2387
|
}]
|
|
2395
2388
|
}, {
|
|
2396
|
-
default: o(() => [z("div", Ki, [
|
|
2389
|
+
default: o(() => [z("div", Ki, [p(n(Q), {
|
|
2397
2390
|
modelValue: w.value.userToken,
|
|
2398
2391
|
"onUpdate:modelValue": b[5] || (b[5] = (C) => w.value.userToken = C),
|
|
2399
2392
|
placeholder: "请输入6位验证码",
|
|
2400
2393
|
"max-length": 6,
|
|
2401
2394
|
"allow-clear": ""
|
|
2402
|
-
}, null, 8, ["modelValue"]),
|
|
2395
|
+
}, null, 8, ["modelValue"]), p(n(T), {
|
|
2403
2396
|
disabled: r.value > 0,
|
|
2404
2397
|
loading: f.value,
|
|
2405
2398
|
onClick: F
|
|
2406
2399
|
}, {
|
|
2407
|
-
default: o(() => [k(
|
|
2400
|
+
default: o(() => [k(O(r.value > 0 ? `${r.value}s 后重发` : "重新发送"), 1)]),
|
|
2408
2401
|
_: 1
|
|
2409
2402
|
}, 8, ["disabled", "loading"])])]),
|
|
2410
2403
|
_: 1
|
|
2411
|
-
})) : (
|
|
2404
|
+
})) : (h(), I(n(L), {
|
|
2412
2405
|
key: 1,
|
|
2413
2406
|
field: "code",
|
|
2414
2407
|
label: "短信验证码",
|
|
@@ -2417,21 +2410,21 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2417
2410
|
message: "请输入验证码"
|
|
2418
2411
|
}]
|
|
2419
2412
|
}, {
|
|
2420
|
-
default: o(() => [z("div", Fi, [
|
|
2413
|
+
default: o(() => [z("div", Fi, [p(n(Q), {
|
|
2421
2414
|
modelValue: w.value.code,
|
|
2422
2415
|
"onUpdate:modelValue": b[6] || (b[6] = (C) => w.value.code = C),
|
|
2423
2416
|
placeholder: "请输入验证码",
|
|
2424
2417
|
"allow-clear": ""
|
|
2425
|
-
}, null, 8, ["modelValue"]),
|
|
2418
|
+
}, null, 8, ["modelValue"]), p(n(T), {
|
|
2426
2419
|
disabled: r.value > 0,
|
|
2427
2420
|
loading: f.value,
|
|
2428
2421
|
onClick: F
|
|
2429
2422
|
}, {
|
|
2430
|
-
default: o(() => [k(
|
|
2423
|
+
default: o(() => [k(O(r.value > 0 ? `${r.value}s 后重发` : "重新发送"), 1)]),
|
|
2431
2424
|
_: 1
|
|
2432
2425
|
}, 8, ["disabled", "loading"])])]),
|
|
2433
2426
|
_: 1
|
|
2434
|
-
})), (c = n(s)) != null && c.hasPassword ? (
|
|
2427
|
+
})), (c = n(s)) != null && c.hasPassword ? (h(), I(n(L), {
|
|
2435
2428
|
key: 2,
|
|
2436
2429
|
field: "password",
|
|
2437
2430
|
label: "登录密码",
|
|
@@ -2440,14 +2433,14 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2440
2433
|
message: "请输入密码"
|
|
2441
2434
|
}]
|
|
2442
2435
|
}, {
|
|
2443
|
-
default: o(() => [
|
|
2436
|
+
default: o(() => [p(n(We), {
|
|
2444
2437
|
modelValue: w.value.password,
|
|
2445
2438
|
"onUpdate:modelValue": b[7] || (b[7] = (C) => w.value.password = C),
|
|
2446
2439
|
placeholder: "请输入您的登录密码",
|
|
2447
2440
|
"allow-clear": ""
|
|
2448
2441
|
}, null, 8, ["modelValue"])]),
|
|
2449
2442
|
_: 1
|
|
2450
|
-
})) : E("", !0),
|
|
2443
|
+
})) : E("", !0), p(n(L), {
|
|
2451
2444
|
field: "confirmText",
|
|
2452
2445
|
label: "请输入「注销」以确认",
|
|
2453
2446
|
rules: [{
|
|
@@ -2457,27 +2450,27 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2457
2450
|
validator: _
|
|
2458
2451
|
}]
|
|
2459
2452
|
}, {
|
|
2460
|
-
default: o(() => [
|
|
2453
|
+
default: o(() => [p(n(Q), {
|
|
2461
2454
|
modelValue: w.value.confirmText,
|
|
2462
2455
|
"onUpdate:modelValue": b[8] || (b[8] = (C) => w.value.confirmText = C),
|
|
2463
2456
|
placeholder: "注销",
|
|
2464
2457
|
"allow-clear": ""
|
|
2465
2458
|
}, null, 8, ["modelValue"])]),
|
|
2466
2459
|
_: 1
|
|
2467
|
-
}, 8, ["rules"]),
|
|
2468
|
-
default: o(() => [
|
|
2469
|
-
default: o(() => [
|
|
2460
|
+
}, 8, ["rules"]), p(n(L), null, {
|
|
2461
|
+
default: o(() => [p(n(me), null, {
|
|
2462
|
+
default: o(() => [p(n(T), {
|
|
2470
2463
|
onClick: b[9] || (b[9] = (C) => t.value = "check")
|
|
2471
2464
|
}, {
|
|
2472
2465
|
default: o(() => [...b[18] || (b[18] = [k("取消", -1)])]),
|
|
2473
2466
|
_: 1
|
|
2474
|
-
}),
|
|
2467
|
+
}), p(n(T), {
|
|
2475
2468
|
type: "primary",
|
|
2476
2469
|
status: "danger",
|
|
2477
2470
|
loading: q.value,
|
|
2478
2471
|
onClick: Z
|
|
2479
2472
|
}, {
|
|
2480
|
-
default: o(() => [k(
|
|
2473
|
+
default: o(() => [k(O(q.value ? "注销中..." : "确认注销"), 1)]),
|
|
2481
2474
|
_: 1
|
|
2482
2475
|
}, 8, ["loading"])]),
|
|
2483
2476
|
_: 1
|
|
@@ -2486,13 +2479,13 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2486
2479
|
})];
|
|
2487
2480
|
}),
|
|
2488
2481
|
_: 1
|
|
2489
|
-
}, 8, ["model", "size"])], 64)) : t.value === "success" ? (
|
|
2482
|
+
}, 8, ["model", "size"])], 64)) : t.value === "success" ? (h(), I(n(Ge), {
|
|
2490
2483
|
key: 5,
|
|
2491
2484
|
status: "success",
|
|
2492
2485
|
title: "账号已注销"
|
|
2493
2486
|
}, {
|
|
2494
2487
|
subtitle: o(() => [...b[19] || (b[19] = [k(" 您的账号已成功注销,登录凭据和绑定身份已清除 ", -1)])]),
|
|
2495
|
-
extra: o(() => [
|
|
2488
|
+
extra: o(() => [p(n(T), {
|
|
2496
2489
|
type: "primary",
|
|
2497
2490
|
onClick: ae
|
|
2498
2491
|
}, {
|
|
@@ -2515,14 +2508,14 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2515
2508
|
expose: i,
|
|
2516
2509
|
emit: a
|
|
2517
2510
|
}) {
|
|
2518
|
-
const
|
|
2511
|
+
const l = a;
|
|
2519
2512
|
function s() {
|
|
2520
|
-
w.value = !1, t.value = ["PersonalInformation"],
|
|
2513
|
+
w.value = !1, t.value = ["PersonalInformation"], l("cancel");
|
|
2521
2514
|
}
|
|
2522
2515
|
function d() {
|
|
2523
2516
|
s();
|
|
2524
2517
|
}
|
|
2525
|
-
const
|
|
2518
|
+
const u = A("large"), t = A(["PersonalInformation"]), y = [{
|
|
2526
2519
|
provider: "github",
|
|
2527
2520
|
name: pe.github,
|
|
2528
2521
|
meta: {
|
|
@@ -2557,7 +2550,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2557
2550
|
}), r = $(() => {
|
|
2558
2551
|
const _ = g.value.authMethods;
|
|
2559
2552
|
return _.login.emailPassword || _.login.phonePassword;
|
|
2560
|
-
}),
|
|
2553
|
+
}), m = $(() => r.value || f.value || v.value), S = $(() => g.value.authMethods.login.passkey), R = $(() => y.filter((_) => {
|
|
2561
2554
|
var P, N;
|
|
2562
2555
|
return (N = (P = g.value.oauth) == null ? void 0 : P[_.provider]) == null ? void 0 : N.enabled;
|
|
2563
2556
|
}).map((_) => ({
|
|
@@ -2577,7 +2570,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2577
2570
|
meta: {
|
|
2578
2571
|
icon: "mingcute:phone-fill"
|
|
2579
2572
|
}
|
|
2580
|
-
}),
|
|
2573
|
+
}), m.value && _.push({
|
|
2581
2574
|
name: "登录密码",
|
|
2582
2575
|
path: "SetPassword",
|
|
2583
2576
|
meta: {
|
|
@@ -2627,7 +2620,7 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2627
2620
|
const {
|
|
2628
2621
|
changeType: V,
|
|
2629
2622
|
show: w
|
|
2630
|
-
} =
|
|
2623
|
+
} = at(l);
|
|
2631
2624
|
Ie(R, (_) => {
|
|
2632
2625
|
t.value[0].startsWith("OAuthBinding:") && !_.some((P) => P.path === t.value[0]) && (t.value = ["PersonalInformation"]);
|
|
2633
2626
|
}), Ie(B, (_) => {
|
|
@@ -2642,44 +2635,44 @@ const zi = ["src", "alt", "width", "height"], Pi = /* @__PURE__ */ J({
|
|
|
2642
2635
|
}
|
|
2643
2636
|
return i({
|
|
2644
2637
|
setData: q
|
|
2645
|
-
}), (_, P) => n(w) ? (
|
|
2638
|
+
}), (_, P) => n(w) ? (h(), I(n(Ye), {
|
|
2646
2639
|
key: 0,
|
|
2647
2640
|
visible: !0,
|
|
2648
2641
|
"body-class": "AppSettingbodyClass",
|
|
2649
2642
|
"mask-closable": !1,
|
|
2650
2643
|
footer: !1,
|
|
2651
|
-
width: n(
|
|
2644
|
+
width: n(Be),
|
|
2652
2645
|
onCancel: s
|
|
2653
2646
|
}, {
|
|
2654
2647
|
title: o(() => [...P[1] || (P[1] = [k(" 用户信息 ", -1)])]),
|
|
2655
|
-
default: o(() => [z("div", Gi, [z("div", Yi, [
|
|
2648
|
+
default: o(() => [z("div", Gi, [z("div", Yi, [p(it, {
|
|
2656
2649
|
"selected-keys": t.value,
|
|
2657
2650
|
"onUpdate:selectedKeys": P[0] || (P[0] = (N) => t.value = N),
|
|
2658
2651
|
menus: B.value,
|
|
2659
2652
|
onChange: j
|
|
2660
|
-
}, null, 8, ["selected-keys", "menus"])]), z("div", Ji, [t.value[0] === "PersonalInformation" ? (
|
|
2653
|
+
}, null, 8, ["selected-keys", "menus"])]), z("div", Ji, [t.value[0] === "PersonalInformation" ? (h(), I(bt, {
|
|
2661
2654
|
key: 0,
|
|
2662
|
-
size:
|
|
2663
|
-
}, null, 8, ["size"])) : E("", !0), t.value[0] === "EmailBinding" ? (
|
|
2655
|
+
size: u.value
|
|
2656
|
+
}, null, 8, ["size"])) : E("", !0), t.value[0] === "EmailBinding" ? (h(), I(ni, {
|
|
2664
2657
|
key: 1,
|
|
2665
|
-
size:
|
|
2666
|
-
}, null, 8, ["size"])) : E("", !0), t.value[0] === "PhoneBinding" ? (
|
|
2658
|
+
size: u.value
|
|
2659
|
+
}, null, 8, ["size"])) : E("", !0), t.value[0] === "PhoneBinding" ? (h(), I(mi, {
|
|
2667
2660
|
key: 2,
|
|
2668
|
-
size:
|
|
2669
|
-
}, null, 8, ["size"])) : E("", !0), t.value[0] === "SetPassword" ? (
|
|
2661
|
+
size: u.value
|
|
2662
|
+
}, null, 8, ["size"])) : E("", !0), t.value[0] === "SetPassword" ? (h(), I($t, {
|
|
2670
2663
|
key: 3,
|
|
2671
|
-
size:
|
|
2672
|
-
}, null, 8, ["size"])) : E("", !0), t.value[0] === "PasskeyBinding" ? (
|
|
2664
|
+
size: u.value
|
|
2665
|
+
}, null, 8, ["size"])) : E("", !0), t.value[0] === "PasskeyBinding" ? (h(), I(Jt, {
|
|
2673
2666
|
key: 4,
|
|
2674
|
-
size:
|
|
2675
|
-
}, null, 8, ["size"])) : E("", !0), K.value ? (
|
|
2667
|
+
size: u.value
|
|
2668
|
+
}, null, 8, ["size"])) : E("", !0), K.value ? (h(), I(Di, {
|
|
2676
2669
|
key: K.value.provider,
|
|
2677
2670
|
provider: K.value.provider,
|
|
2678
2671
|
label: K.value.name,
|
|
2679
|
-
size:
|
|
2680
|
-
}, null, 8, ["provider", "label", "size"])) : E("", !0), t.value[0] === "AccountDelete" ? (
|
|
2672
|
+
size: u.value
|
|
2673
|
+
}, null, 8, ["provider", "label", "size"])) : E("", !0), t.value[0] === "AccountDelete" ? (h(), I(Wi, {
|
|
2681
2674
|
key: 6,
|
|
2682
|
-
size:
|
|
2675
|
+
size: u.value,
|
|
2683
2676
|
onDeleted: d
|
|
2684
2677
|
}, null, 8, ["size"])) : E("", !0)])])]),
|
|
2685
2678
|
_: 1
|
|
@@ -2695,11 +2688,11 @@ export {
|
|
|
2695
2688
|
ni as _,
|
|
2696
2689
|
pi as a,
|
|
2697
2690
|
ge as b,
|
|
2698
|
-
|
|
2699
|
-
|
|
2691
|
+
Vt as c,
|
|
2692
|
+
bt as d,
|
|
2700
2693
|
mi as e,
|
|
2701
2694
|
we as f,
|
|
2702
|
-
|
|
2695
|
+
$t as g,
|
|
2703
2696
|
bn as h,
|
|
2704
2697
|
Ai as i,
|
|
2705
2698
|
Ri as j,
|
|
@@ -2708,7 +2701,7 @@ export {
|
|
|
2708
2701
|
kn as m,
|
|
2709
2702
|
re as n,
|
|
2710
2703
|
Ci as o,
|
|
2711
|
-
|
|
2704
|
+
Ei as p,
|
|
2712
2705
|
ye as q,
|
|
2713
2706
|
vi as r,
|
|
2714
2707
|
hi as s,
|