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贪吃蛇完整版(源码)
Dec 09 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
jquery读写cookie操作实例分析
Dec 24 Javascript
星期几的不同脚本写法(推荐)
Jun 01 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
原生js仿淘宝网商品放大镜效果
Feb 28 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
JS简单数组排序操作示例【sort方法】
May 17 Javascript
JavaScript的console命令使用实例
Dec 03 Javascript
详解JS函数防抖
Jun 05 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简单生成缩略图相册的方法
2015/07/29 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
详解Vue单元测试case写法
2018/05/24 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python求导数的方法
2015/05/09 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
工厂保洁员岗位职责
2013/12/04 职场文书
销售找工作求职信
2013/12/20 职场文书
公务员转正考察材料
2014/02/07 职场文书
产品开发计划书
2014/04/27 职场文书
广播节目策划方案
2014/05/23 职场文书
服装设计专业自荐信
2014/06/17 职场文书
班主任先进事迹材料
2014/12/17 职场文书
中标通知书格式
2015/04/17 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
企业年会祝酒词
2015/08/11 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
Python软件包安装的三种常见方法
2022/07/07 Python