当前位置:   article > 正文

vue cookie操作 存储、获取、清除_vuecookie的存取

vuecookie的存取

前言

    本文用于简单的vue页面cookie存储、获取、清除操作,若果涉及到高级的cookie安全性问题请自行百度

一,创建cookie工具的js文件

  1. /**
  2. * cookie操作
  3. * 注意:1.存入cookie的敏感信息必须加密
  4. * 2.cookie设置有效时间
  5. * 更高级的cookie安全问题请自行百度
  6. */
  7. export default ({
  8. /**
  9. * 设置cookie
  10. * @param tel 登陆者账号
  11. * @param name 登陆者昵称
  12. * @param day cookie过期时间(单位:天)
  13. */
  14. setCookie(tel, name, day) {
  15. var date = new Date(); // 获取时间
  16. //date.getTime():指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。
  17. date.setTime(date.getTime() + 24 * 60 * 60 * 1000 * day); // 保存天数 1000ms * 60s * 60min * 24h = 1d
  18. // 字符串拼接cookie
  19. window.document.cookie = "userTel" + "=" + tel + ";path=/;expires=" + date.toGMTString();
  20. window.document.cookie = "userName" + "=" + name + ";path=/;expires=" + date.toGMTString();
  21. },
  22. /**
  23. * 获取cookie
  24. * @param key 需要对应值的key
  25. * @returns value key所对应的值
  26. * document.cookie直接获取的cookie原格式:userTel=***********; userName=***
  27. * 注意:获取原cookie格式的";"后含有一个空格
  28. */
  29. getCookie(key) {
  30. if(document.cookie.length > 0) {
  31. // 切割后格式:userTel=***********,userName=***
  32. var arr = document.cookie.split('; ');
  33. var value = ''; // 用于存储所需cookie值
  34. for (var i = 0; i < arr.length; i++) {
  35. var arr2 = arr[i].split('='); // 再次切割
  36. if (arr2[0] == key){
  37. value = arr2[1];
  38. return value;
  39. }
  40. }
  41. }
  42. return null
  43. },
  44. /**
  45. * 清除cookie
  46. * 将cookie的数据设空,时间设0
  47. */
  48. clearCookie: function() {
  49. this.setCookie("", "", 0);
  50. },
  51. })

二,在main.js中引入cookie方法的js文件 (common为笔者存放的cookie.js目录文件)

import common from '@/common/cookie.js'

三,cookie.js中的存储、获取、清除方法使用

1.在vue页面登陆事件中调用cookie存储方法(此"this.ruleForm.tel"和"this.ruleForm.name"为登陆信息)

this.common.setCookie(this.ruleForm.tel, this.ruleForm.name, 1)

2.在vue页面调用cookie数据获取方法 (获取cookie中存储的登陆者名字)

<h1>{{ this.common.getCookie('userName') }}</h1>

3. 在vue页面调用cookie清除cookie数据方法

  1. logout() {
  2. this.$confirm('确认注销该用户?', '提示', {
  3. confirmButtonText: '确定',
  4. cancelButtonText: '取消',
  5. type: 'warning'
  6. }).then(() => {
  7. this.common.clearCookie(); //注销
  8. this.$message({
  9. type: 'success',
  10. message: '注销成功!'
  11. });
  12. this.$router.replace('/login');
  13. }).catch(() => {
  14. this.$message({
  15. type: 'info',
  16. message: '已取消注销'
  17. });
  18. });
  19. }

四,浏览器控制台查看cookie的存储数据信息

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号