// 处于页面配置时,绑定方法 start
if ($isDecorateMode) {
document.addEventListener("diy_login/1", (event) => {
const { field, value } = event.detail;
if (field === "login_word") {
$("." + field).text(value);
} else if (field === "login_bg") {
$("." + field).attr("src", value);
}
});
}
// 处于页面配置时,绑定方法 end
$("#form").validate({
onsubmit: false,
rules: {
account: {
required: true,
checkMobile: true,
},
code: "required",
password: {
required: true,
passWord: true,
rangelength: [6, 20],
},
confirmPassword: {
required: true,
equalTo: "#password",
},
},
messages: {
account: {
required: "请输入手机号",
},
code: "请输入验证码",
password: {
required: "请输入6-20位新密码",
passWord: "请输入6-20位含数字和字母的密码",
rangelength: "请输入6-20位的密码",
},
confirmPassword: {
required: "请输入验证密码",
equalTo: "两次密码不一致",
},
},
});
// 获取验证码
$(".send-code").click((event) => {
event.preventDefault();
const phonePass = $("#form").validate().element($("#account"));
if (phonePass) {
const account = $("#account").val();
$request
.post("/api/user/send-code", { account, code_type: 3 })
.then((res) => {
$message.info("已发送,请注意查收");
// 禁用按钮,同时进行倒计时
$(".send-code").attr("disabled", true);
$(".send-code span").text("60秒后可重新获取");
let seconds = 59;
const timer = setInterval(() => {
$(".send-code span").text(seconds + "秒后可重新获取");
seconds--;
if (seconds === 0) {
clearInterval(timer);
$(".send-code").attr("disabled", false);
$(".send-code span").text("重新获取验证码");
}
}, 1000);
});
}
});
// 提交
$(".form-submit").click((event) => {
event.preventDefault();
if ($("#form").valid()) {
$request
.post("/api/user/forgot-password", {
account: $("#account").val(),
code: $("#code").val(),
password: md5($("#password").val()),
confirm_password: md5($("#confirmPassword").val()),
})
.then((res) => {
// 跳转页面
location.href = "/";
});
}
});
// 密码明文切换
$(".p-forgot__content .icon-eye").on("mousedown", function(){
$(this).parent().find('input').attr('type', 'text')
});
$(".p-forgot__content .icon-eye").on("mouseup", function(){
$(this).parent().find('input').attr('type', 'password')
});