做成之后就
是这个样子
接下来上代码
创建一个组件。显示验证码图片
在登录页面中
验证码输输入框
验证码
登录按钮
登录
引入之前的组件(在例子中它叫identify)
import Identify from './identify'
在登录组件中引入Identify (这是验证码组件)这一部分略
在data中
// 表单
formLogin: {
username: "",
password: "",
code: ""
},
identifyCodes: '1234567890abcdefjhijklinopqrsduvwxyz',
identifyCode: '',
// 校验
rules: {
username: [
{ required: true, message: "请输入用户名", trigger: "blur" }
],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
code: [{ required: true, message: "请输入验证码", trigger: "blur" }]
}
在mounted中
mounted () {
// 初始化验证码
this.identifyCode = ''
this.makeCode(this.identifyCodes, 4)
},
在method中
// 引入验证接口
...mapActions("d2admin/account", ["login"]),
// 重置验证码
refreshCode () {
this.identifyCode = ''
this.makeCode(this.identifyCodes, 4)
},
makeCode (o, l) {
for (let i = 0; i < l; i++) {
this.identifyCode += this.identifyCodes[this.randomNum(0, this.identifyCodes.length)]
}
},
randomNum (min, max) {
return Math.floor(Math.random() * (max - min) + min)
},
// 提交登录信息
submit() {
if (this.formLogin.code.toLowerCase() !== this.identifyCode.toLowerCase()) {
this.$message.error('请填写正确验证码')
this.refreshCode()
return
}
this.$refs.loginForm.validate(valid => {
if (valid) {
// 登录
// 注意 这里的演示没有传验证码
// 具体需要传递的数据请自行修改代码
this.login({
vm: this,
username: this.formLogin.username,
password: this.formLogin.password
});
} else {
// 登录表单校验失败
this.$message.error("表单校验失败");
}
});
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



