修改完成

This commit is contained in:
2026-08-21 17:06:08 +08:00
parent 55da9a9e8a
commit 76af4cc492
10 changed files with 212 additions and 199 deletions
+23 -14
View File
@@ -49,7 +49,7 @@
<div class="error-message" id="phoneError"></div>
</div>
<div class="form-group" id="captchaGroup">
<div class="form-group" id="captchaGroup" style="visibility: hidden">
<label for="captchaInput">滑动验证</label>
<div class="captcha-row">
<input
@@ -146,6 +146,7 @@
let layerInstance = null;
let currentCaptchaId = "";
let currentVerifyType = "captcha";
let currentSlideToken = "";
let currentSlideUuid = "";
let currentSlideX = 0;
let pendingSmsAfterVerify = false;
@@ -176,6 +177,7 @@
}
function refreshCaptcha() {
$("#captchaGroup").css("visibility", "visible");
if (currentVerifyType === "none") {
currentCaptchaId = "";
currentSlideUuid = "";
@@ -194,8 +196,10 @@
$("#captchaGroup").removeClass("is-slide-mode");
if (currentVerifyType === "slide") {
renderSlideCaptchaEntry();
$("#captchaGroup").hide();
return;
}
$("#captchaGroup").show();
$("#captchaInput").show();
$("#captchaRefreshLink").show().text("看不清?换一张");
$("#captchaContainer")
@@ -227,11 +231,13 @@
function completeSlideCaptcha(result) {
const data = result || {};
const nested = data.data || {};
currentSlideToken =
data.slideToken || data.token || nested.slideToken || nested.token || "";
currentSlideUuid =
data.slideUuid || data.uuid || nested.slideUuid || nested.uuid || "";
currentSlideX =
Number(data.slideX || data.x || nested.slideX || nested.x || 0) || 0;
if (!currentSlideUuid) {
if (!currentSlideToken && !currentSlideUuid) {
layerInstance.msg("滑动验证未返回凭证,请重试", { icon: 2 });
renderSlideCaptchaEntry();
return;
@@ -257,6 +263,7 @@
headers: ApiClient.publicHeaders(),
onSuccess: completeSlideCaptcha,
onCancel: function () {
currentSlideToken = "";
currentSlideUuid = "";
currentSlideX = 0;
},
@@ -359,8 +366,11 @@
function handlePhoneInput() {
const phone = $("#phone").val().trim();
if (smsCodeIssuedPhone && smsCodeIssuedPhone !== phone) {
smsCodeIssuedPhone = "";
$("#smsCode").val("");
clearError("smsCode");
$("#captchaGroup").show();
refreshCaptcha();
}
}
@@ -375,9 +385,10 @@
function getOptionalGraphVerifyParams() {
if (hasIssuedSmsCodeForCurrentPhone()) return {};
if (currentVerifyType === "slide" && currentSlideUuid) {
if (currentVerifyType === "slide" && (currentSlideToken || currentSlideUuid)) {
return {
verifyType: "slide",
slideToken: currentSlideToken,
slideUuid: currentSlideUuid,
slideX: currentSlideX,
};
@@ -393,7 +404,7 @@
function getGraphVerifyParams(show) {
if (currentVerifyType === "slide") {
if (!currentSlideUuid) {
if (!currentSlideToken && !currentSlideUuid) {
if (show) {
layerInstance.msg("请先完成滑动验证后获取短信验证码", {
icon: 2,
@@ -403,6 +414,7 @@
}
return {
verifyType: "slide",
slideToken: currentSlideToken,
slideUuid: currentSlideUuid,
slideX: currentSlideX,
};
@@ -558,7 +570,7 @@
function sendSmsCode() {
if (!validatePhone(true)) return;
if (currentVerifyType === "slide" && !currentSlideUuid) {
if (currentVerifyType === "slide" && !currentSlideToken && !currentSlideUuid) {
pendingSmsAfterVerify = true;
openSlideCaptcha();
return;
@@ -593,6 +605,7 @@
.then(function (res) {
if (ApiClient.isSuccess(res)) {
smsCodeIssuedPhone = $("#phone").val().trim();
$("#captchaGroup").hide();
layerInstance.msg("短信验证码已发送", { icon: 1 });
AuthPageUtil.startSmsCountdown("#sendSmsBtn");
return;
@@ -629,7 +642,7 @@
}
function buildRegisterData() {
return Object.assign(
const registerData = Object.assign(
{
phoneNumber: $("#phone").val().trim(),
password: hex_md5($("#password").val()),
@@ -638,6 +651,9 @@
},
getOptionalGraphVerifyParams(),
);
const inviteCode = AuthPageUtil.getReferralInviteCodeFromUrl();
if (inviteCode) registerData.inviteCode = inviteCode;
return registerData;
}
function saveRegisterTokenIfPresent(res) {
@@ -673,13 +689,7 @@
hasToken ? "注册成功,即将跳转到首页" : "注册成功,即将前往登录",
{ icon: 1, time: 1200 },
function () {
AuthPageUtil.bindPendingReferralInviteCode()
.then(function () {
redirectAfterRegister(hasToken);
})
.catch(function () {
redirectAfterRegister(hasToken);
});
redirectAfterRegister(hasToken);
},
);
}
@@ -710,7 +720,6 @@
layui.use(["layer", "jquery"], function () {
layerInstance = layui.layer;
AuthPageUtil.captureReferralInviteFromUrl();
loadVerifyConfig().then(refreshCaptcha);
$("#sendSmsBtn").on("click", sendSmsCode);
$("#registerForm").on("submit", function (event) {