diff --git a/html/login.html b/html/login.html
index 665bd4d..f38950c 100644
--- a/html/login.html
+++ b/html/login.html
@@ -96,6 +96,12 @@
立即注册
忘记密码
+
@@ -113,6 +119,7 @@
let layerInstance = null;
let currentCaptchaId = "";
let currentVerifyType = "captcha";
+ let currentSlideToken = "";
let currentSlideUuid = "";
let currentSlideX = 0;
@@ -142,6 +149,7 @@
function refreshCaptcha() {
currentCaptchaId = "";
+ currentSlideToken = "";
currentSlideUuid = "";
currentSlideX = 0;
$("#captchaId").val("");
@@ -185,6 +193,9 @@
function completeSlideCaptcha(result) {
const data = result || {};
const nested = data.data || {};
+ currentSlideToken =
+ data.slideToken || data.token || data.verifyToken ||
+ nested.slideToken || nested.token || nested.verifyToken || "";
currentSlideUuid =
data.slideUuid || data.uuid || nested.slideUuid || nested.uuid || "";
currentSlideX =
@@ -209,6 +220,7 @@
onSuccess: completeSlideCaptcha,
onCancel: function () {
currentSlideUuid = "";
+ currentSlideToken = "";
currentSlideX = 0;
},
onError: function (error) {
@@ -274,6 +286,7 @@
}
return {
verifyType: "slide",
+ slideToken: currentSlideToken,
slideUuid: currentSlideUuid,
slideX: currentSlideX,
};
diff --git a/html/reg.html b/html/reg.html
index 2b112e8..e53035e 100644
--- a/html/reg.html
+++ b/html/reg.html
@@ -146,6 +146,7 @@
let layerInstance = null;
let currentCaptchaId = "";
let currentVerifyType = "captcha";
+ let currentSlideToken = "";
let currentSlideUuid = "";
let currentSlideX = 0;
let pendingSmsAfterVerify = false;
@@ -177,6 +178,7 @@
function refreshCaptcha() {
currentCaptchaId = "";
+ currentSlideToken = "";
currentSlideUuid = "";
currentSlideX = 0;
$("#captchaId").val("");
@@ -218,6 +220,9 @@
function completeSlideCaptcha(result) {
const data = result || {};
const nested = data.data || {};
+ currentSlideToken =
+ data.slideToken || data.token || data.verifyToken ||
+ nested.slideToken || nested.token || nested.verifyToken || "";
currentSlideUuid =
data.slideUuid || data.uuid || nested.slideUuid || nested.uuid || "";
currentSlideX =
@@ -247,6 +252,7 @@
onSuccess: completeSlideCaptcha,
onCancel: function () {
currentSlideUuid = "";
+ currentSlideToken = "";
currentSlideX = 0;
},
onError: function (error) {
@@ -342,6 +348,7 @@
}
return {
verifyType: "slide",
+ slideToken: currentSlideToken,
slideUuid: currentSlideUuid,
slideX: currentSlideX,
};
@@ -408,6 +415,8 @@
function buildRegisterData() {
const params = new URLSearchParams(window.location.search);
+ const inviteCode =
+ params.get("inviteCode") || params.get("referralCode") || "";
const referrerId =
(referralPreviewData &&
(referralPreviewData.referrerId ||
@@ -416,6 +425,7 @@
params.get("referrerId") ||
params.get("pid") ||
0;
+ const invitePayload = inviteCode ? { inviteCode: inviteCode } : {};
return Object.assign(
{
phoneNumber: $("#phone").val().trim(),
@@ -424,6 +434,7 @@
nickname: $("#nickname").val().trim(),
referrerId: referrerId,
},
+ invitePayload,
getVerifyParams(false) || {},
);
}
diff --git a/html/repwd.html b/html/repwd.html
index 664ebe5..6433349 100644
--- a/html/repwd.html
+++ b/html/repwd.html
@@ -127,6 +127,7 @@
let layerInstance = null;
let currentCaptchaId = "";
let currentVerifyType = "captcha";
+ let currentSlideToken = "";
let currentSlideUuid = "";
let currentSlideX = 0;
let pendingSmsAfterVerify = false;
@@ -157,6 +158,7 @@
function refreshCaptcha() {
currentCaptchaId = "";
+ currentSlideToken = "";
currentSlideUuid = "";
currentSlideX = 0;
$("#captchaId").val("");
@@ -198,6 +200,9 @@
function completeSlideCaptcha(result) {
const data = result || {};
const nested = data.data || {};
+ currentSlideToken =
+ data.slideToken || data.token || data.verifyToken ||
+ nested.slideToken || nested.token || nested.verifyToken || "";
currentSlideUuid =
data.slideUuid || data.uuid || nested.slideUuid || nested.uuid || "";
currentSlideX =
@@ -227,6 +232,7 @@
onSuccess: completeSlideCaptcha,
onCancel: function () {
currentSlideUuid = "";
+ currentSlideToken = "";
currentSlideX = 0;
},
onError: function (error) {
@@ -312,6 +318,7 @@
}
return {
verifyType: "slide",
+ slideToken: currentSlideToken,
slideUuid: currentSlideUuid,
slideX: currentSlideX,
};
@@ -334,7 +341,7 @@
const verifyParams = getVerifyParams(true);
if (!verifyParams) return;
$("#sendSmsBtn").prop("disabled", true);
- AuthPageUtil.sendSmsCode(
+ AuthPageUtil.sendForgotPasswordSmsCode(
Object.assign(
{ phoneNumber: $("#phone").val().trim() },
verifyParams,
@@ -384,14 +391,36 @@
function submitResetPassword() {
const payload = buildResetData();
- console.warn(
- "找回密码提交参数已准备好,但最新接口文档暂未提供提交接口:",
- payload,
- );
- layerInstance.alert(
- "最新接口文档暂未提供找回密码提交接口。页面流程、短信验证码和验证参数已按参考项目准备好,等后端补接口后即可接入提交。",
- { title: "暂不能提交" },
- );
+ $("#resetBtn").prop("disabled", true).text("重置中...");
+ ApiClient.post(ApiClient.API.authForgotPasswordReset, payload, {
+ publicRequest: true,
+ })
+ .then(function (res) {
+ if (ApiClient.isSuccess(res)) {
+ layerInstance.msg(
+ "密码重置成功,即将前往登录",
+ { icon: 1, time: 1200 },
+ function () {
+ window.location.href = "login.html";
+ },
+ );
+ return;
+ }
+ layerInstance.msg((res && res.msg) || "密码重置失败,请稍后重试", {
+ icon: 2,
+ });
+ refreshCaptcha();
+ })
+ .catch(function (error) {
+ layerInstance.msg(
+ "密码重置请求失败:" + ((error && error.message) || "网络错误"),
+ { icon: 2 },
+ );
+ refreshCaptcha();
+ })
+ .finally(function () {
+ $("#resetBtn").prop("disabled", false).text("确认重置");
+ });
}
layui.use(["layer", "jquery"], function () {
diff --git a/html/social-callback.html b/html/social-callback.html
new file mode 100644
index 0000000..5de6a02
--- /dev/null
+++ b/html/social-callback.html
@@ -0,0 +1,904 @@
+
+
+
+
+
+ 3D研究室 - 微信登录
+
+
+
+
+
+
+
+
+
3D研究室
+
微信登录
+
正在处理微信授权,请稍候...
+
+
+ 正在登录
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/usercenter.html b/html/usercenter.html
index cb087af..9bd989f 100644
--- a/html/usercenter.html
+++ b/html/usercenter.html
@@ -76,6 +76,26 @@
未登录
普通会员
+
+
+
+

+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
@@ -370,10 +411,43 @@
↑
+
+
+