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 相关文章推荐
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
Jul 15 Javascript
简单的js图片轮换代码(js图片轮播)
May 06 Javascript
angularjs基础教程
Dec 25 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 Javascript
chrome浏览器如何断点调试异步加载的JS
Sep 05 Javascript
JavaScript运动框架 多物体任意值运动(三)
May 17 Javascript
9种改善AngularJS性能的方法
Nov 28 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
JavaScript This指向问题详解
Nov 25 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
Jul 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的类 功能齐全的发送邮件类
2006/10/09 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
php提取微信账单的有效信息
2018/10/01 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
对Python中的@classmethod用法详解
2018/04/21 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
用Python开发app后端有优势吗
2020/06/29 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
留学顾问岗位职责
2014/04/14 职场文书
社会工作专业求职信
2014/07/15 职场文书
员工年终自我评价
2014/09/14 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
运动会宣传稿50字
2015/07/23 职场文书
如何在C++中调用Python
2021/05/21 Python
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫