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 document.createDocumentFragment()
Apr 04 Javascript
jQuery之尺寸调整组件的深入解析
Jun 19 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
Sep 01 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
Nov 09 Javascript
使用flow来规范javascript的变量类型
Sep 12 Javascript
vue实现在线翻译功能
Sep 27 Javascript
countUp.js实现数字动态变化效果
Oct 17 Javascript
详解小程序BackgroundAudioManager踩坑之旅
Dec 08 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导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
xmlHTTP实例
2006/10/24 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
JS运动特效之链式运动分析
2018/01/24 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
利用python求相邻数的方法示例
2017/08/18 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python编写计算器功能
2019/10/25 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
基于opencv实现简单画板功能
2020/08/02 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
中专自我鉴定范文
2013/10/16 职场文书
2013年军训通讯稿
2014/02/05 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
小学语文课后反思精选
2014/04/25 职场文书
招标保密承诺书
2015/01/20 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers