vue通过cookie获取用户登录信息的思路详解


Posted in Javascript onOctober 30, 2018

思路

  • 进入页面
  • 若未登录,跳转至登陆页面
  • 若已登录,从cookie中获取用户信息,并执行后续操作

2. 登录页面,存入cookie(setCookie)

import {setCookie,getCookie}from 'src/js/cookieUtil'
 methods: {
  async cheack_n_p () {
   if( this.checkCode === this.pwd) {
    this.loginData = await getUserInfo(this.uname, this.pwd, this.adminPhone);
    if (this.loginData.res !== 0) {
     setCookie('userName',this.uname);
     setCookie('userPwd',this.pwd,);
     setCookie('phone',this.uname);
     setCookie('userId',this.loginData.obj.id);
     setCookie('userType',this.loginData.obj.userType);
     setCookie('adminPhone',this.adminPhone);
//    this.$router.go(-1);
     this.$router.replace('/');
    } else {
     alert("验证码错误!")
    }
   }
  },
  //验证手机号码部分
  async sendcode(){
   var pattern = /^0{0,1}(1[0-9][0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/,
    str =this.uname;
   if (!pattern.test(str)) {
    alert('请正确输入手机号!');
    return ;
   }
   this.time=60;
   this.disabled=true;
   this.timer();
   this.checkCode = (await getUserPhoneCode(this.uname)).resMsg;
   // this.checkCode = '123456';
   console.log( this.checkCode)
  },
  timer:function () {
   if (this.time > 0) {
    this.time--;
//         console.log(this.time);
    this.btntxt=this.time+"s后重新获取";
    setTimeout(this.timer, 1000);
   } else{
    this.time=0;
    this.btntxt="获取验证码";
    this.disabled=false;
   }
  }
 },

2. 页面判断

import {setCookie,getCookie}from 'src/js/cookieUtil'
 mounted () {
  if (this.isLogin==undefined||this.isLogin=="") {
   this.$router.replace('/login');
  } else {
   // 执行后续操作
   this.phone = getCookie("phone");
   }
 },
 computed: {
  isLogin () {
   // return this.$store.getters.getLogin;
   this.userId = getCookie("userId");
   // console.log(this.userId);
   return this.userId;
  }
 },

3. cookieUtil(setCookie,getCookie)

/**
 * Created by Schon on 2018/9/13 0013.
 */
//设置cookie
export function setCookie(key,value) {
 var exdate = new Date(); //获取时间
 exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * 36500); //保存的天数,我这里写的是100年
 //字符串拼接cookie
 window.document.cookie = key + "=" + value + ";path=/;expires=" + exdate.toGMTString();
};
//读取cookie
export function getCookie(param) {
 var c_param = '';
 if (document.cookie.length > 0) {
  var arr = document.cookie.split('; '); //这里显示的格式需要切割一下自己可输出看下
  for (var i = 0; i < arr.length; i++) {
   var arr2 = arr[i].split('='); //再次切割
   //判断查找相对应的值
   if (arr2[0] == param) {
    c_param = arr2[1];
    //保存到保存数据的地方
   }
  }
  return c_param;
 }
};
function padLeftZero (str) {
 return ('00' + str).substr(str.length);
};

总结

以上所述是小编给大家介绍的vue通过cookie获取用户登录信息的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript引用对象的方法代码
Aug 13 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
Sep 25 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
javascript 中的继承实例详解
May 05 Javascript
JS动画定时器知识总结
Mar 23 Javascript
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
vue实现PC端分辨率适配操作
Aug 03 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 #Javascript
小程序实现列表删除功能
Oct 30 #Javascript
require.js 加载过程与使用方法介绍
Oct 30 #Javascript
小程序实现左滑删除功能
Oct 30 #Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
Oct 30 #Javascript
小程序云开发部署攻略(图文教程)
Oct 30 #Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 #Javascript
You might like
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php实现递归的三种基本方式
2020/07/04 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
js实现中文实时时钟
2020/01/15 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
绿色城市实施方案
2014/03/19 职场文书
老龄工作先进事迹
2014/08/15 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2014年科室工作总结
2014/11/20 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers