vue前端实现login页登陆验证码代码示例
// template
用户登陆
// js
// ---------分割线
data () {
return {
viewCode: '',
loginForm: {
account: '',
password: '',
src: '',
code: ''
},
fieldRules: {
account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
},
checked: false,
// 加载中的标志
loading: false
}
},
// ------ 分割线
methods: {
loginSubmit () {
if (!this.loginForm.account || !this.loginForm.password) {
this.$message.error('账号或密码不能为空!')
return
}
if (!this.loginForm.code || this.loginForm.code !== this.viewCode) {
this.$message.error('验证码不正确!')
return
}
this.loading = true
let userInfo = {
account: this.loginForm.account,
password: this.loginForm.password
}
//登陆接口
this.$api.login
.login(userInfo)
.then((res) => {
if (this.checked) {
let rememberInfo = JSON.stringify({ ...userInfo })
localStorage.setItem('rememberInfo', rememberInfo) // 记住密码时 保存login
} else {
localStorage.removeItem('rememberInfo')
}
this.$router.push('/') // 登录成功,跳转到主页
this.loading = false
})
.catch((err) => {
this.$message({ message: err.message, type: 'error' })
})
},
//获取验证码
getCode () {
this.viewCode = ''
let codeString = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
let codeArray = codeString.split('')
let num = codeArray.length
let newCodeArray = []
for (let i = 0; i < 5; i++) {
let index = Math.floor(Math.random() * num)
newCodeArray.push(codeArray[index])
}
this.viewCode = newCodeArray.join('')
},
},
mounted () {
this.getCode()
if (localStorage.getItem('rememberInfo')) {
// 有上次登录信息 显示上次登录
let rememberData = JSON.parse(localStorage.getItem('rememberInfo'))
const { account, password } = rememberData
this.loginForm.account = account
this.loginForm.password = password
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播