登录模块的使用与创建

一、如何实现登录注册

1.在Vue里创建文件Login.vue和user.vue

2.在router里配置路由

    {path: '/user',name: 'User',component: () => import('../views/user/User.vue'),meta: {keep: true}},{path: '/login',name: 'Login',meta: {nofoot: true},component: () => import('../views/user/Login.vue')},

3.在user页面点击跳转到Login页面

<template><div><router-link to="/login">登录</router-link></div>
</template>

4.新建api文件,获取登录接口

import request from '../../utils/request.js'
import qs from 'qs'//请求登录的文档接口
function Login(data){// 返回一个promisereturn new Promise((resolve,reject)=>{request.post("/member/index_login.php",qs.stringify(data)).then(res=>{resolve(res)}).catch(err=>{reject(err)})})}
//导出接口
export {Login};

5.在Login页面实现单击登录

<template><div>//进行数据的双向绑定用户名:<input type="text" v-model="user.userid" /><br>密  码:<input type="password" v-model="user.pwd" /><br>//单击时,调用login()事件<button @click="login()">登录</button></div>
</template><script>
//引入api文件import {Login} from '@api/user/user.js'export default {data() {return {user: {//接口文档数据fmdo: "login",dopost: "login",userid: '',pwd: '',}}},methods: {//调用登录接口,实现成功登录login() {Login(this.user).then(res => {//登录成功是弹出提示框alert(res.data.msg);      //判断是否登录成功,status == 1是接口文档里定义的,等于1是登录成功if (res.data.status == 1) {//登录成功跳转到user页面this.$router.replace("/user")}})}}}
</script>

二、登录成功后获取用户信息

1.在api文档里添加获取用户信息接口

function GetUserInfo(){// 登陆成功时获取用户信息的文档接口return new Promise((resolve,reject)=>{request.get("/member/ajax_login.php").then(res=>{resolve(res)}).catch(err=>{reject(err)})})}
//导出接口
export {Login,GetUserInfo};

2.在user页面获取用户信息

<template><div>//登录成功时显示用户信息<p v-if="userInfo.M_LoginID"><span>{{userInfo.M_LoginID}}:</span><span>{{userInfo.M_Scores}}:</span><span>退出</span></p>//否则显示登陆<p v-else><router-link to="/login">登录</router-link></p></div>
</template>
<script>
//引入api文件的GetUserInfo方法import {GetUserInfo} from "../../api/user/user.js"export default{data(){return{//用户信息userInfo:{}}},created() {//调用获取用户信息的方法GetUserInfo().then(res => {if (res.data) {// 重新赋值个userInfothis.userInfo = res.data;}})},
}

三、登陆后退出

1.在user里,当单击退出键时调用logout()事件
2.在user里导入登陆接口文档Login
3.在user页面的methods里通过传参的不同实现退出登陆

<template><div>//单击退出键时调用logout()事件<span @click="logout()">退出</span></p></div>
</template>Login
<script>
//引入api文件的GetUserInfo,Login方法import {GetUserInfo,Login} from "../../api/user/user.js"methods:{//退出方法logout(){//登陆和退出的接口一样,传入的参数不一样Login({dopost:"exit"}).then(res=>{alert(res.data.msg);//如果状态为1代表退出成功if(res.data.status==1){this.userInfo={};}})}}

四、token的使用

1.介绍
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
2.使用
登陆时保存token

methods: {login() {Login(this.user).then(res => {alert(res.data.msg);// 判断是否登陆成功if (res.data.status == 1) {//获取查询参数var redirect=this.$route.query.redirect||"/user";// 当登录成功时候把用户的token存起来window.localStorage.setItem("token",res.data.token);this.$router.replace(redirect);}})}}

在页面获取用户信息

然后在utils的request里添加token请求头

退出时,要清除token

<template><div>//单击退出键时调用logout()事件<span @click="logout()">退出</span></p></div>
</template>Login
<script>
//引入api文件的GetUserInfo,Login方法import {GetUserInfo,Login} from "../../api/user/user.js"methods:{//退出方法logout(){//登陆和退出的接口一样,传入的参数不一样Login({dopost:"exit"}).then(res=>{alert(res.data.msg);//如果状态为1代表退出成功if(res.data.status==1){this.userInfo={};//注销tokenwindow.localStorage.removeItem("token");}})}}
                                                                     小白编写,仅供参考

登录模块与token的使用和创建相关推荐

  1. Springboot之登录模块探索(含Token,验证码,网络安全等知识)

    简介 登录模块很简单,前端发送账号密码的表单,后端接收验证后即可~ 淦!可是我想多了,于是有了以下几个问题(里面还包含网络安全问题): 1.登录时的验证码 2.自动登录的实现 3.怎么维护前后端登录状 ...

  2. 【Android项目实战 | 从零开始写app(十三)】实现用户中心模块清除token退出登录信息修改等功能

    五一后,被ji金伤了,哇呜呜,还是得苦逼老老实实打工写代码,看下面吧 本篇实现效果: 实现登录用户名展示到用户中心页面上,并且页面有个人信息,订单列表,修改密码,意见反馈发送到服务端,前面登录后,通过 ...

  3. jboss eap 7.0_创建委托登录模块(用于JBoss EAP 6.1)

    jboss eap 7.0 [如果只想查看代码,请向下滚动] 动机 在RHQ中,我们需要一个安全域,该域可用于通过容器管理的安全性来保护REST-api及其Web应用程序. 过去,我只是使用经典的Da ...

  4. 创建委托登录模块(用于JBoss EAP 6.1)

    [如果只想查看代码,请向下滚动] 动机 在RHQ中,我们需要一个安全域,该域可用于通过容器管理的安全性来保护REST-api及其Web应用程序. 过去,我只是使用经典的DatabaseServerLo ...

  5. 小程序登录本地服务器,微信小程序实现用户登录模块服务器搭建

    我选用的是node.js来搭建服务器,没有安装的小伙伴可以参考我的node.js其他博客. 服务器安装与配置 初始化项目,将会自动创建package.json配置文件. npm init -y 安装E ...

  6. HR-Saas(二):登录模块

    线上地址 本章节,我们将在现有模板的基础上,完成如图的登录模块的功能 1. 设置固定的本地访问端口和网站名称 目标: 设置统一的本地访问端口和网站title 在正式开发业务之前,先将项目的本地端口和网 ...

  7. 使用 Abp.Zero 搭建第三方登录模块(四):微信小程序开发

    简短回顾一下微信小程序端的流程: 用户通过扫码进入小程序的鉴权页面,更新状态到ACCESSED已扫码 用户点击确认授权,微信通过wx.login()接口获取第三方登录的必要信息:Code登录凭证. 微 ...

  8. 使用shiro的会话管理和redis缓存管理来构建登录模块spring+struts+hibernate(SSH)

    shiro是一个很好用的安全框架,主要表现在用户认证,权限认证,会话管理,如果想优化还可以做Cache管理,我们不需要做太多工作在用户身份token安全方面(记录shiro及用redis开发的步骤及一 ...

  9. 002云E办项目之登录模块

    如果你没有看第一篇文章,建议你去看一下 文章链接 好好看每一步 你可以知道什么是逆向工程 你可以在这里好好学习一下登录模块 由于本的sql语句放在001云E办项目创建 一. 逆向工程(创建AutoGe ...

最新文章

  1. HDU1013 POJ1519 Digital Roots(解法二)
  2. 在哪里能收到python实例代码-用python做一个搜索引擎(Pylucene)的实例代码
  3. 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
  4. python中函数修饰符_python中的函数修饰符
  5. Excel更正错误#NAME?
  6. 大一计算机课实训总结1000字,大一计算机实训报告.doc
  7. java记录类型_Java中的记录类型
  8. FreeEIM 在盛大的开幕仪式结束之后
  9. javascript获取asp.net服务器端控件的值
  10. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_3.RabbitMQ研究-工作原理...
  11. 树莓派安装拼音输入法(此处为谷歌拼音输入法)
  12. 定义一个交通工具(Vehicle)的类
  13. 观《蓝天铁翼-红旗军演》所想到的
  14. Win7下IIS安装PHP环境
  15. 实现淘宝广告图片切换(display:block/none)
  16. 【纪中受难记】——Day21:调整心态
  17. python安装与pip安装
  18. qdbus模块_PyQt 学习笔记4——库结构
  19. 基于C语言实现车辆管理系统
  20. centos7安装bbr

热门文章

  1. torch.cat()的类型转换
  2. 不属于ipo模型的 python_以下不属于IPO模型的是:
  3. The quieter you become,The more you are able to hear.
  4. Debian安装和配置chrony服务器
  5. 游戏开发——孤岛算法实现SLG游戏大世界多类型地表边缘拼接效果
  6. 《嫌疑人X的献身》读后感
  7. 北京铁路二中2021高考成绩查询,2021北京高考成绩查询入口
  8. 网易相册找回服务器,再见了,网易相册!24日起关闭服务器,不保留数据
  9. 学会了使用计算机之后作文,我学会了计算机
  10. 鸿蒙能和ios媲美吗,把鸿蒙打造成一个和iOS相媲美的操作系统需要多久?