完成80%

This commit is contained in:
2026-07-27 06:50:07 +08:00
parent 8475bbd19a
commit 1eae3bbef4
63 changed files with 13664 additions and 280 deletions
+18 -7
View File
@@ -263,7 +263,7 @@ import {
isRequestCancelled,
} from "@/utils/api.js";
import {
AUTH_TAC_SCENE,
AUTH_VERIFICATION_OPERATION,
createTacRenderContext,
isAuthPhone,
isSmsDeliveryOutcomeUnknown,
@@ -321,7 +321,7 @@ const registrationNavigationFailure =
"注册已完成,但暂时无法进入家谱,请再次点击进入";
const authRequestController = createRequestController();
const smsCooldown = createAuthSmsCooldown({
sceneCode: AUTH_TAC_SCENE.REGISTER,
operationCode: AUTH_VERIFICATION_OPERATION.REGISTER,
onChange: (seconds) => {
cooldownSeconds.value = seconds;
},
@@ -428,22 +428,33 @@ const prepareGetCode = async () => {
}
sendingCode.value = true;
try {
const sceneCode = AUTH_TAC_SCENE.REGISTER;
const operationCode = AUTH_VERIFICATION_OPERATION.REGISTER;
const requestedPhone = phone.value;
const response = await appApi.getCaptchaRequirement(
{ sceneCode, subject: requestedPhone },
{ operationCode, subject: requestedPhone },
{ requestController: authRequestController },
);
if (!pageActive) return;
if (phone.value !== requestedPhone) throw new Error("手机号已变化,请重新获取验证码");
const requirement = normalizeCaptchaRequirement(response, sceneCode);
const requirement = normalizeCaptchaRequirement(response);
if (!requirement.required) {
await appApi.sendSmsCode(
{ operationCode, phone: requestedPhone },
{ requestController: authRequestController },
);
if (!pageActive) return;
sentPhone.value = requestedPhone;
smsCooldown.start();
showFeedback("验证码已发送");
return;
}
tacSequence += 1;
tacContext.value = createTacRenderContext({
requestId: `a04-register-${tacSequence}`,
baseUrl: runtimeConfig.baseUrl,
clientId: runtimeConfig.clientId,
tenantId: runtimeConfig.tenantId,
sceneCode,
operationCode,
subject: requestedPhone,
requirement,
});
@@ -467,7 +478,7 @@ const completeTac = async (result) => {
sendingCode.value = true;
await appApi.sendSmsCode(
{
sceneCode: AUTH_TAC_SCENE.REGISTER,
operationCode: AUTH_VERIFICATION_OPERATION.REGISTER,
phone: expectedContext.subject,
validToken: ticket.validToken,
},