|
@@ -243,8 +243,13 @@
|
|
|
placeholder="短信验证码"
|
|
|
autocomplete="off"
|
|
|
v-model="forgetForm.code"
|
|
|
- >
|
|
|
- <span class="btn" slot="suffix">获取验证码</span>
|
|
|
+ ><span class="btn" slot="suffix" @click="getCode">
|
|
|
+ {{
|
|
|
+ forgetCountDown == 0
|
|
|
+ ? "获取验证码"
|
|
|
+ : `${forgetCountDown}秒重新获取`
|
|
|
+ }}</span
|
|
|
+ >
|
|
|
</el-input></el-form-item
|
|
|
>
|
|
|
</div>
|
|
@@ -842,6 +847,14 @@ export default {
|
|
|
callback();
|
|
|
}
|
|
|
};
|
|
|
+ const validatorTel = (rule, value, callback) => {
|
|
|
+ var reg = /^1[34578][0-9]{9}$/;
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ return callback(new Error("请输入正确手机号码"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
return {
|
|
|
state: 1, //1登录 2注册 3找回密码 4绑定学员身份
|
|
|
tabIndex: 0,
|
|
@@ -868,11 +881,17 @@ export default {
|
|
|
},
|
|
|
loginSmsRules: {
|
|
|
code: [{ required: true, trigger: "blur", message: "请输入验证码" }],
|
|
|
- tel: [{ required: true, trigger: "blur", message: "请输入手机号" }],
|
|
|
+ tel: [
|
|
|
+ { required: true, trigger: "blur", message: "请输入手机号" },
|
|
|
+ { validator: validatorTel, trigger: "blur" },
|
|
|
+ ],
|
|
|
},
|
|
|
forgetRules: {
|
|
|
code: [{ required: true, trigger: "blur", message: "请输入验证码" }],
|
|
|
- tel: [{ required: true, trigger: "blur", message: "请输入手机号" }],
|
|
|
+ tel: [
|
|
|
+ { required: true, trigger: "blur", message: "请输入手机号" },
|
|
|
+ { validator: validatorTel, trigger: "blur" },
|
|
|
+ ],
|
|
|
pwd: [{ required: true, trigger: "blur", message: "请输入新密码" }],
|
|
|
pwdAgain: [
|
|
|
{
|
|
@@ -883,8 +902,11 @@ export default {
|
|
|
],
|
|
|
},
|
|
|
registerRules: {
|
|
|
+ tel: [
|
|
|
+ { required: true, trigger: "blur", message: "请输入手机号" },
|
|
|
+ { validator: validatorTel, trigger: "blur" },
|
|
|
+ ],
|
|
|
code: [{ required: true, trigger: "blur", message: "请输入验证码" }],
|
|
|
- tel: [{ required: true, trigger: "blur", message: "请输入手机号" }],
|
|
|
pwd: [{ required: true, trigger: "blur", message: "请输入密码" }],
|
|
|
read: [{ required: true, trigger: "blur", message: "请勾选服务协议" }],
|
|
|
},
|
|
@@ -972,7 +994,7 @@ export default {
|
|
|
message: `验证码已发送`,
|
|
|
type: "success",
|
|
|
});
|
|
|
- this.countDown = 60;
|
|
|
+ this.countDown = 5;
|
|
|
this.countDownTimer = setInterval(() => {
|
|
|
if (this.countDown == 0) {
|
|
|
clearInterval(this.countDownTimer);
|
|
@@ -988,6 +1010,41 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 获取找回密码短信
|
|
|
+ */
|
|
|
+ getCode() {
|
|
|
+ this.$refs.forgetForm.validateField("tel", (valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ if (this.forgetCountDown == 0) {
|
|
|
+ if (this.getForgetCodeLock) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.getForgetCodeLock = true;
|
|
|
+ this.$request
|
|
|
+ .getRegisterSmsforget({ tel: this.forgetForm.tel })
|
|
|
+ .then((res) => {
|
|
|
+ this.getForgetCodeLock = false;
|
|
|
+ this.$message({
|
|
|
+ message: `验证码已发送`,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.forgetCountDown = 5;
|
|
|
+ this.forgetCountDownTimer = setInterval(() => {
|
|
|
+ if (this.forgetCountDown == 0) {
|
|
|
+ clearInterval(this.forgetCountDownTimer);
|
|
|
+ } else {
|
|
|
+ this.forgetCountDown--;
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.getForgetCodeLock = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
/**
|
|
|
* 手机号登录
|
|
|
*/
|
|
@@ -1069,6 +1126,7 @@ export default {
|
|
|
* 获取注册验证码
|
|
|
*/
|
|
|
getRegisterSms() {
|
|
|
+ var self = this;
|
|
|
this.$refs.registerForm.validateField("tel", (valid) => {
|
|
|
if (!valid) {
|
|
|
if (this.registerCountDown == 0) {
|
|
@@ -1084,12 +1142,11 @@ export default {
|
|
|
message: `验证码已发送`,
|
|
|
type: "success",
|
|
|
});
|
|
|
- this.registerCountDown = 60;
|
|
|
+ this.registerCountDown = 5;
|
|
|
this.registerCountDownTimer = setInterval(() => {
|
|
|
- if (this.registercountDown == 0) {
|
|
|
- clearInterval(this.registerCountDownTimer);
|
|
|
- } else {
|
|
|
- this.registerCountDown--;
|
|
|
+ self.registerCountDown--;
|
|
|
+ if (self.registerCountDown == 0) {
|
|
|
+ clearInterval(self.registerCountDownTimer);
|
|
|
}
|
|
|
}, 1000);
|
|
|
})
|