广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue登录功能实现
  • 1006
分享到

Vue登录功能实现

2024-04-02 19:04:59 1006人浏览 八月长安
摘要

目录写在前面登录概述登录业务流程登录业务的相关技术点登录—token原理分析登录功能实现登录表单的布局登录表单的数据绑定登录表单的验证规则登录表单的重置登录预验证登录组件配置弹窗提示

写在前面

Vue文件最后要空一行,不然会报错,真的奇葩…

登录概述

登录业务流程

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 切换分支

在这里插入图片描述

在vue ui中启动!

在这里插入图片描述

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

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


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

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


const router = new VueRouter({
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {
      path: '/login',
      component: login
    }
  ]
})

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

页面编写

先给一个全局样式表



html,
body,
#app{
    height: 100%;
    margin: 0;
    padding: 0;
}

并在main.js中导入


import './assets/CSS/global.css'

完成登录框居中

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


.login_box{
    width: 450px;
    height: 300px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

在这里插入图片描述

添加一个登录图标


   .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;
        }
    }

在这里插入图片描述

登录表单的布局

通过Element-UI组件实现布局

  • el-form
  • el-form-item
  • el-input
  • el-button
  • 字体图标

elements组件库网页
在网站里面可以找到一些可以使用的基础模板代码

导入组件


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库里面下载的

具体用法见以前写得一篇博客
阿里巴巴icon图标尽在掌握(前端如何引入icon库,美丽图标随你处置T.T)

在这里插入图片描述

登录表单的数据绑定

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

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

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

登录表单的验证规则

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

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


      // 这是表单的验证规则对象
      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' }
        ]

      }

在这里插入图片描述

登录表单的重置

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

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

登录预验证

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

2.配置axiOS


import axios from 'axios'
// 配置请求的根路径
axios.defaults.baseURL = 'https://127.0.0.1:8888/api/private/v1/'
Vue.prototype.$http = axios

3.如下获取查询的结果
使用async 和await要获取返回结果


      this.$refs.loginFormRef.validate(async valid => {
        if (!valid) return
        const { data: res } = await this.$http.post('login', this.loginForm)
        console.log(res)
        if (res.meta.status !== 200) return console.log('登录失败')
        console.log('登录成功')
      })

登录组件配置弹窗提示

 1.在element.js中引入message并挂载到vue上


Vue.prototype.$message = Message // 挂载到了Vue上

2.直接调用this.$message.error(‘登录失败!')

在这里插入图片描述 

登录成功后的行为

1.将登录之后的token,保存到客户端的sessionStorage中

1.项目中除了登录之外的其他API接口,必须在登录之后才能访问

2.token只应在当前网站打开期间生效,所以将token保存在sessionStorage中

将这个token存储到了会话存储中

在这里插入图片描述 

2.通过编程式导航跳转到后台主页,路由地址是/home


        window.sessionStorage.setItem('token', 'res.data.token')//保存token 这里是乱保存的固定值
        this.$router.push('/home') //跳转路由,进入下一个页面

到此这篇关于Vue登录功能实现的文章就介绍到这了,更多相关Vue 登录内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue登录功能实现

本文链接: https://www.lsjlt.com/news/136282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue登录功能实现
    目录写在前面登录概述登录业务流程登录业务的相关技术点登录—token原理分析登录功能实现登录表单的布局登录表单的数据绑定登录表单的验证规则登录表单的重置登录预验证登录组件配置弹窗提示...
    99+
    2022-11-12
  • springboot+vue实现登录功能
    本文实例为大家分享了springboot+vue实现登录功能的具体代码,供大家参考,具体内容如下 目录结构 前端端口:8080 后端端口:8900 login.vue <...
    99+
    2022-11-12
  • vue+springboot实现登录功能
    本文实例为大家分享了vue+springboot实现登录功能的具体代码,供大家参考,具体内容如下 1. 登录功能的实现 实现提交表单的代码如下: async submitForm...
    99+
    2022-11-12
  • Vue+Vux实现登录功能
    一、准备工作 请参照 Vue前端框架搭建 使用模板创建框架。 二、创建登录页 1.main.js 中引入全局 ToastPlugin、LoadingPlugin 插件 import ...
    99+
    2022-11-13
  • springboot+vue如何实现登录功能
    小编给大家分享一下springboot+vue如何实现登录功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!目录结构前端端口:8080后端端口:8900login.vue<template> &nbs...
    99+
    2023-06-15
  • vue+springboot+shiro+jwt实现登录功能
    目录1.导入依赖2.JWTToken 替换 Shiro 原生 Token3.JWT token 工具类,提供JWT生成、校验、获取token存储的信息4.JWTFilter请求拦截5...
    99+
    2022-11-13
  • vue+tp5实现简单登录功能
    本文实例为大家分享了vue+tp5实现简单登录功能的具体代码,供大家参考,具体内容如下 准备工作:安装vue-cli,element-ui,package.json中如图所示,看着安...
    99+
    2022-11-12
  • Vue登录功能的实现流程详解
    目录Vue项目中实现登录大致思路安装插件创建store封装axiosqs vue 插件api.js的作用路由拦截登录页面实际使用Vue项目中实现登录大致思路 1、第一次登录的时候,前...
    99+
    2022-11-13
  • Vue PC前端扫码登录功能实现
    目录需求描述思路解析PC 扫码原理?前端功能实现如何生成二维码图片?如何控制二维码的时效性?前端如何获取服务器二维码的状态?参考资料:总结需求描述 目前大多数PC端应用都有配套的移动...
    99+
    2022-12-29
    vue扫码登录功能 vue登录功能 vue 扫码登录
  • Vue PC端怎么实现扫码登录功能
    本文小编为大家详细介绍“Vue PC端怎么实现扫码登录功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue PC端怎么实现扫码登录功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。.markdown-bod...
    99+
    2023-07-05
  • SpringBoot+Vue实现简单的登录注册功能
    文章目录 一、前言1.开发环境2.功能3.项目运行截图 二、撸代码1.构建前端项目2.构建后端项目3.前端页面编写4.后端代码编写5.前后端联调 三、小结 一、前言 ...
    99+
    2023-09-20
    vue.js spring boot java mysql
  • vue实现登陆功能
    本文实例为大家分享了vue实现登陆功能的具体代码,供大家参考,具体内容如下 最近在学习vue,发现了vue的好多坑,比如怎么更好的获取input框输入的值而减少获取dom节点的消耗 ...
    99+
    2022-11-13
  • Android实现QQ登录功能
    QQ登录是一个非常简单的一个第三方应用,现在,我们就来实现一个QQ登录首先下载两个jar包   这里上传不了jar包,所以可以到我的github中下载工程中libs中的两个jar包网址:https://github.co...
    99+
    2023-05-30
    android qq登录 roi
  • Vue前端登录token信息验证功能实现
    用户在首次访问网站时,应在登录页面填写账号密码,前端携带用户信息向服务器请求。 1、服务器验证用户信息 验证失败:给前端响应数据 验证通过:对该用户创建token,并以响应数据返回给...
    99+
    2022-12-27
    Vue token验证 Vue前端token验证
  • Servlet怎么实现登录功能
    小编给大家分享一下Servlet怎么实现登录功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍:Servlet 是 JavaWeb 三大组件之一。三大组件分别...
    99+
    2023-06-14
  • Servlet简单实现登录功能
    本文实例为大家分享了Servlet简单实现登录功能的具体代码,供大家参考,具体内容如下 介绍: Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序...
    99+
    2022-11-11
  • JavaWeb实现自动登录功能
    本文实例为大家分享了JavaWeb实现自动登录功能的具体代码,供大家参考,具体内容如下 自动登录是通过存储cookie值来实现的。 工程目录如下: login.jsp: <...
    99+
    2022-11-12
  • Python实现注册登录功能
    用Python写个注册登录功能,供大家参考,具体内容如下 本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用到的第3方库模块是time模...
    99+
    2022-11-13
  • Laravel实现登录跳转功能
    前言 登录跳转: 不同的用户在登录成功之后跳转到不同的网页当中 例如:网站管理员登录成功后跳转到网站后台,vip用户登录成功后跳转到vip页面 准备工作 用户表 CREATE T...
    99+
    2022-11-12
  • 小程序实现登录功能
    本文实例为大家分享了小程序实现登录功能的具体代码,供大家参考,具体内容如下 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。 1、...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作