docs: annotate account commerce finance and content pages

This commit is contained in:
cieanyau committed 2026-11-06 00:29:13 +08:00
1 parent 60827b8bfb
commit 2be21c1c62
24 files changed
+223

No files matched your search

+25
View File
@@ -1,4 +1,7 @@
<script>
/**
* 账户设置聚合页:资料、登录密码、操作密码、手机、邮箱和流量预警分别维护表单与提交状态;敏感修改可由安全验证弹窗续接原请求。
*/
import "~/assets/styles/UploadField.BbTCTv6C.css";
import "~/assets/styles/PageSteps.B5K7G9zF.css";
import "~/assets/styles/PaymentDialog.BNFKQF1U.css";
@@ -324,6 +327,7 @@ var Ce = {
label: `流量预警`,
},
];
// 为账户设置标签提供左右方向键及 Home/End 导航,并同步实际焦点。
function Xt(e, t) {
let n = t;
if (e.key === `ArrowRight`) n = (t + 1) % E.length;
@@ -336,6 +340,7 @@ var Ce = {
document.getElementById(`account-tab-${T.value}`)?.focus());
}
let Zt = ref([]);
// 加载账户并回填资料表单,同时决定手机、邮箱是否需要先验证旧联系方式。
async function Qt() {
Gt.value = !0;
try {
@@ -354,6 +359,7 @@ var Ce = {
}
}
let $t = ref(!1);
// 国家选项按需加载;失败时保留空选项,后续仍可重新尝试。
async function en() {
if (!$t.value)
try {
@@ -380,9 +386,11 @@ var Ce = {
function N(e, t) {
D.value = e instanceof Error ? e.message : t;
}
// 暂存安全挑战及原操作闭包,验证成功后以原表单快照继续提交。
function rn(e, t) {
((tn.value = e), (A.value = t), (k.value = !0));
}
// 把安全验证结果交给待续接操作;再次出现挑战时更新弹窗,不把尚未验证的结果当成功。
async function an(e) {
if (A.value && !j.value) {
((j.value = !0), (D.value = ``));
@@ -405,6 +413,7 @@ var Ce = {
country_id: null,
}),
on = ref(!1);
// 保存可编辑资料,同时保留当前账户已有的 language、notes 字段,避免更新接口覆盖它们。
async function sn() {
(M(), (on.value = !0));
try {
@@ -424,6 +433,7 @@ var Ce = {
on.value = !1;
}
}
// 取消编辑时从账户快照还原表单,不额外写入接口。
function cn() {
(M(),
S.value &&
@@ -483,6 +493,7 @@ var Ce = {
onBeforeUnmount(() => {
((U = !0), clearInterval(gn), (A.value = null));
}));
// 向已绑定手机或邮箱发送 verify 验证码;成功后启动 60 秒倒计时,离页时清理计时器。
async function vn() {
if (
!(
@@ -518,6 +529,7 @@ var Ce = {
}
}
}
// 根据旧密码或验证码验证方式选择不同接口;密码一致性通过后才提交,安全挑战保留同一份请求数据。
async function yn() {
if (I.value || j.value || k.value || w(`password`)) return;
if (
@@ -602,6 +614,7 @@ var Ce = {
G = ref({}),
Sn = ref(!1),
Cn = ref(``);
// 分别加载云服务器与独立服务器的流量预警;单个模块失败只记录该模块错误。
async function wn() {
((Sn.value = !0), (G.value = {}));
try {
@@ -643,12 +656,14 @@ var Ce = {
Sn.value = !1;
}
}
// 开启预警且未选阈值时提供初始比例;关闭状态的实际提交比例在保存时归零。
function Tn(e, t) {
let n = +!!t,
r = W.value[e];
((r.warning_switch = n),
n === 1 && !r.leave_percent && (r.leave_percent = xn[1]));
}
// 按模块保存预警开关和剩余流量比例,避免另一模块的草稿被一并提交。
async function En(e) {
let t = W.value[e];
if (t) {
@@ -673,6 +688,7 @@ var Ce = {
re_operate_password: ``,
}),
Dn = ref(!1);
// 操作密码独立于登录密码;支持安全挑战续接,成功后清空密码输入。
async function On() {
if (Dn.value || j.value || k.value) return;
if ((M(), !K.operate_password)) {
@@ -730,6 +746,7 @@ var Ce = {
update: useCaptcha_t(`update`),
},
};
// 统一联系方式 verify/update 场景的验证码请求,并由各自验证码实例处理挑战失效。
async function jn(e, t, n = {}) {
let r = An[e][t],
ee = r.validationError();
@@ -746,6 +763,7 @@ var Ce = {
throw (await r.handleError(e), e);
}
}
// 向当前绑定手机号发送旧号码验证短信。
async function Mn() {
if (!(Y.value || w(`phone`))) {
(M(), (Y.value = !0));
@@ -759,6 +777,7 @@ var Ce = {
}
}
}
// 旧手机号验证通过后才进入新号码绑定步骤。
async function Nn() {
(M(), (Y.value = !0));
try {
@@ -773,6 +792,7 @@ var Ce = {
Y.value = !1;
}
}
// 向草稿中的新手机号发送 update 场景验证码。
async function Pn() {
if (!(Y.value || w(`phone`))) {
(M(), (Y.value = !0));
@@ -790,6 +810,7 @@ var Ce = {
}
}
}
// 完成新号码绑定后重载账户,清空新旧验证码并复位步骤。
async function Fn() {
(M(), (Y.value = !0));
try {
@@ -821,6 +842,7 @@ var Ce = {
t = e === `phone` ? J.value : Z.value;
return An[e][t === 1 ? `verify` : `update`];
});
// 向当前绑定邮箱发送旧邮箱验证邮件。
async function Ln() {
if (!(Q.value || w(`email`))) {
(M(), (Q.value = !0));
@@ -834,6 +856,7 @@ var Ce = {
}
}
}
// 旧邮箱验证通过后才进入新邮箱绑定步骤。
async function Rn() {
(M(), (Q.value = !0));
try {
@@ -848,6 +871,7 @@ var Ce = {
Q.value = !1;
}
}
// 向草稿中的新邮箱发送 update 场景验证码。
async function zn() {
if (!(Q.value || w(`email`))) {
(M(), (Q.value = !0));
@@ -864,6 +888,7 @@ var Ce = {
}
}
}
// 提交新邮箱及验证码;成功后重载账户资料并清空步骤输入。
async function Bn() {
(M(), (Q.value = !0));
try {