如何用Vue.js实现登录功能,全过程分享

一、登录业务流程

1.在登录页面输入用户名和密码

2.调用后台接口进行验证

3.通过验证之后,根据后台得响应状态跳转到项目主页


二、登录业务的相关技术点

http是无状态的通过cookie在客户端记录状态通过session在服务器端记录状态通过token方式维持状态

这里要清楚哦!


三、登录—token原理分析

1.登录页面输入用户名和密码进行登录

2.服务器验证通过之后生成该用户的token并返回

3.客户端存储该token

4.后续所有的请求都携带该token发送请求

5.服务器端验证token是否通过


四、登录功能实现

登录页面的布局

通过Element-UI组件实现布局

  • el-form

  • el-form-item

  • el-input

  • el-button

  • 字体图标

在vscode打开终端ctrl+~

git status 查看当前git状态
git checkout -b login 创建一个新的分支叫login
git branch 切换分支

image.png

在vue ui中启动!

image.png

终端指令npm run serve也可以运行!

在components文件下创建一个vue文件

1
2
3
4
5
6
7
8
9
10
11
1
import Vue from 'vue'
import VueRouter from 'vue-router'
import login from './components/login.vue'
Vue.use(VueRouter)
 
const routes = [
      {path:'/login',component:login}
]
 
const router = new VueRouter({
  routes
})
 
export default router

配置路由(并添加路由重定向)

1
2
3
4
5
6
7
8
9
10
1
const router = new VueRouter({
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path: '/login',
      component: login
    }
  ]
})

一定要注意空格,不然会报错,可恶啊!

页面编写

先给一个全局样式表

1
2
3
4
5
6
7
8
/* 全局样式表 */
html,
body,
#app{
    height: 100%;
    margin: 0;
    padding: 0;
}

并在main.js中导入

1
import './assets/css/global.css'

完成登录框居中

注意:translate 进行移动,完成真正的居中

1
2
3
4
5
6
7
8
9
.login_box{
    width: 450px;
    height: 300px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

image.png

添加一个登录图标

1
2
3
4
5
6
7
8
9
10
11
12
13
1
.avatar_box{
     height: 130px;
     width: 130px;
     border: 1px solid #eee;
     border-radius: 50%;
     padding: 10px;
     box-shadow: 0px 0px 10px #ddd;
     position: absolute;
     left: 50%;
     transform: translate(-50%,-50%);
     background-color: #fff;
     img{
         width: 100%;
         height: 100%;
         border-radius: 50%;
         background-color: #eee;
     }
 }

image.png


五、登录表单的布局

通过Element-UI组件实现布局

  • el-form

  • el-form-item

  • el-input

  • el-button

  • 字体图标


导入组件

1
2
3
4
5
6
7
import Vue from 'vue'
import { Button, Form, FormItem, Input } from 'element-ui'//分开import会报错
 
Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Input)

中间form和button都是直接到上面的组件库里面去找的

中间一些代码不贴了,比较枯燥呀

特别地,我们的小图标是从阿里的icon库里面下载的


image.png


六、登录表单的数据绑定

1.:model=“loginForm” 绑定一个表单

2.在form-item中用v-model双向绑定数据对象

3.在export default中data() return表单数据


七、登录表单的验证规则

1.:rules="ruleForm"绑定一个规则

2.在form-item中用prop属性设置为需要校验的字段名

1
2
3
4
5
6
7
8
9
10
11
1
// 这是表单的验证规则对象
loginFormRules: {
  // 验证用户名是否合法
  username: [
    { required: true, message: '请输入登录名称', trigger: 'blur' },
    { min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
  ],
  // 验证密码是否合法
  password: [
    { required: true, message: '请输入登录密码', trigger: 'blur' },
    { min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' }
  ]
 
}

image.png

八、登录表单的重置

1.在el-form中添加ref引用名称,以便获取表单

2.在方法中添加方法,用this.$refs.loginFormRef.resetFields()来重置表单,注意表单的值会变为data里面设置的初值


九、登录预验证

1.同样的this.$refs.loginFormRef.validate()

2.配置axios

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令,使用JS实现简单的图片切换功能
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • js选择日期,js日期选择控件,JS实现时间选择器
  • js轮播图视频教程,html5幻灯片图片轮播,js实现幻灯片轮播图
  • js轮播图菜鸟教程,js实现轮播图原理及示例
  • js轮播图菜鸟教程,js实现轮播图原理及示例,JS实现轮播图效果的3种简单方法
  • js获取dom节点的方法,js移除dom元素,JS实现DOM删除节点操作示例
  • js自动复制,网页一键复制,JS实现一键复制
  • js自动切换图片效果,js实现图片切换效果怎么做
  • js用数组实现图片切换,js中图片切换效果怎么实现,js实现图片数组中图片切换效果
  • js星空特效,js流星雨特效,js实现星星闪特效
  • js日期加减算天数,js实现日期按月份加减
  • js日期加减算天数,js实现日期按月份加减,js中日期的加减法
  • 留言与评论(共有 条评论)
       
    验证码: