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 对象的创建与使用
Mar 09 Javascript
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
JS高级笔记
Jul 13 Javascript
window.open以post方式将内容提交到新窗口
Dec 26 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
Vue中的验证登录状态的实现方法
Mar 09 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 Javascript
Vue使用screenfull实现全屏效果
Sep 17 Javascript
基于JavaScript实现年月日三级联动
Jun 22 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
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP count()函数讲解
2019/02/03 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python实现查看系统启动项功能示例
2018/05/10 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
开工仪式主持词
2014/03/20 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
社区综治工作汇报
2014/10/27 职场文书