vue mysql登录界面_17. 基于Vue+Element+nodeJs+Express+MySql后台管理系统-登录页面

我这里的页面一般分为三部分:html、js和css。接下来开启我们的页面构建之旅。

一、 想实现的效果

8cb77b50361a

登录页面

二、 页面实现

1. html

首先我们想将登录的布局写出来。

2. css

然后来写一下登录页面的样式,我一些共用的样式,统一放在了全局的scss文件里,页面里只放一些这个页面独有的样式。

.login-container{position: relative; width: 100vw; height: 100vh;background-image:url('../assets/images/login_bg.png'); background-size: cover; overflow: hidden;

.login-main{ -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background-clip: padding-box; width: 350px; padding: 35px 35px 15px; background: #fff; border: 1px solid #eaeaea; box-shadow: 0 0 25px #cac6c6;

h3{text-align: center;}

.btn-box{text-align: center;}

}

}

3. JS

接下来就是我们的重中之重JS了,在这个页面里我用js主要实现一下功能:登录表单验证、登录请求和登录成功之后的跳转。

import { userLogin } from '@/config/interface'

export default {

data () {

// 用户名和密码的验证规则

const validate = (rule, value, callback) => {

const reg = /^[0-9a-zA-Z]*$/g

if (!value) {

callback(new Error('请输入内容'))

} else if (value.length < 3 || value.length > 6) {

callback(new Error('内容长度需在 3 到 6 个字符'))

} else if (!reg.test(value)) {

callback(new Error('内容需为字母或数字'))

} else {

callback()

}

}

return {

formData: {

name: null,

password: null

},

formRules: {

name: [

{ validator: validate, trigger: 'blur' }

],

password: [

{ validator: validate, trigger: 'blur' }

]

},

reqFlag: {

login: true

}

}

},

methods: {

// 登录请求

submitLogin (formName) {

this.$refs[formName].validate((valid) => {

if (valid) {

const url = userLogin

if (this.reqFlag.login) {

this.reqFlag.login = false

let params = {

name: this.formData.name,

password: this.$md5(this.formData.password)

}

this.$http(url, params)

.then(res => {

if (res.code == 1) {

let data = res.data

localStorage.setItem('userInfo', JSON.stringify(data))

this.$store.dispatch('saveUserInfo', data)

this.$common.toast('登陆成功', 'success', false)

// 登陆成功后跳转到用户管理页面

this.$router.push({

path: '/home/user',

query: {}

})

}

this.reqFlag.login = true

})

}

} else {

console.log('error submit!!')

return false

}

})

},

// 重置登录填写的信息

resetForm (formName) {

this.$refs[formName].resetFields()

}

}

}

至此,我的登录界面就算是完成了。

三、项目体验链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值