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 相关文章推荐
几个高效,简洁的字符处理函数
Apr 12 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
Dec 30 Javascript
判断文件是否正在被使用的JS代码
Dec 21 Javascript
javascript替换已有元素replaceChild()使用介绍
Apr 03 Javascript
Javascript 数组排序详解
Oct 22 Javascript
jQuery中children()方法用法实例
Jan 07 Javascript
Vue.js每天必学之表单控件绑定
Sep 05 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
微信小程序实现弹出菜单
Jul 19 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
jquery实现烟花效果(面向对象)
Mar 10 jQuery
微信小程序实现左滑修改、删除功能
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
一个简单的域名注册情况查询程序
2006/10/09 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
JSON语法五大要素图文介绍
2012/12/04 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
python生成日历实例解析
2014/08/21 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python format 格式化输出方法
2018/07/16 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
Python中logging日志库实例详解
2020/02/19 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
美国羊皮公司:Overland
2018/01/15 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
北京振戎融通Java面试题
2015/09/03 面试题
高中生职业生涯规划书
2014/02/24 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年电厂工作总结
2014/12/04 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript