// 处于页面配置时,绑定方法 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') });