localStorage实现7天登录过期

实现原理:存localStorage比较初始登录时存在缓存的时间戳和现在进入页面的时间戳,然后用sessionStorage去判断不勾选但是登录了的状态

精简版

function isPastDue() {
  // 过期时间7天
  var time = 604800000;  //1000*60*60*24*7;
  var storage = window.localStorage;
  var oldTimestamp = storage.getItem('timestamp');//以前存的时间戳
  if (oldTimestamp){
    var nowTimestamp = new Date().getTime();//当前时间戳
    // 如果当前时间戳> 前面存的时间戳+过期时间 表示已经过期
    var sumTimestamp = timestamp + time;
    if (nowTimestamp > sumTimestamp) {
      storage.clear();
    }
  }
}

完整版:

//1、点击了登录成功后的回调函数里
var localStorage = window.localStorage;
          var sessionStorage = window.sessionStorage;
          var userInfo = res.data.data[0];
          if(that.checkBox){//如果勾选了7天
            localStorage.setItem("timestamp", new Date().getTime());
            sessionStorage.setItem('greenPath',1);
          }else{
            sessionStorage.setItem('greenPath',0);
          }

//2、在main.js的router.beforeEach里

// 7天登录
function isPastDue() {
  // 过期时间7天
  var time = 604800000;  //1000*60*60*24*7;
  var storage = window.localStorage;
  if (storage.getItem('timestamp')){
    var oldTimestamp = storage.getItem('timestamp');//以前存的时间戳
    var nowTimestamp = new Date().getTime();//当前时间戳
    // 如果当前时间戳> 前面存的时间戳+过期时间 表示已经过期
    var sumTimestamp = oldTimestamp + time;
    if (nowTimestamp > sumTimestamp) {
      storage.clear();
    }
  }else{
    if (sessionStorage.getItem('greenPath')==0) {
     return false;
    }else{
      storage.clear();
    }
  }
}

登录过期--localStorage加sessionStorage实现7天登录过期相关推荐

  1. HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  2. html5 localstorage 生命周期,cookie、localStorage和sessionStorage 三者之间的区别以及存储、获取、删除等使用方式...

    写在前面: 前端开发的供个到效近一项消果近一项消果近一项消果近时候,在网页刷新的时候,所有数据都会被清空,这时候就要用到本地存储的技术,前端本地存储的方式有三种,分别是cookie,localstor ...

  3. 本地存储三种方式cookie、localStorage、sessionStorage的详细介绍

    前言 网页刷新的时候数据会被清空,这时候就需要用到存储技术.前端本地存储的方式有三种,分别是cookie.localStorage.sessionStorage.在前端面试过程中,经常会被问及这些存储 ...

  4. 前端cookie、localStorage、sessionStorage缓存技术总结

    前端cookie.localStorage.sessionStorage缓存技术总结 转载自:https://www.cnblogs.com/belove8013/p/8134067.html 1.C ...

  5. 2.javascript之缓存 localStorage 和sessionStorage之间的区别

    2018-08-04 前言 今天做项目的时候遇到了这个问题,用户登录成功之后如何改变将登录的链接切换为用户名 解决方案:使用了sessionstorage缓存 和js的onload加载事件 用户登录成 ...

  6. Vue项目代码改进(三)—— Cookie、LocalStorage和SessionStorage的使用

    存在问题: 如果在退出页面时,没有点击"退出"按钮,而是直接关闭页面,token并没有被清除,依然能通过访问http://localhost:8080/#/ 直接进入主页. 原因: ...

  7. 解决浏览器存储问题,不得不了解的cookie,localStorage和sessionStorage

    浏览器存储方式 一.浏览器存储的方式 二.cookie.localStorage和sessionStorage 1.cookie.localStorage和sessionStorage是什么? (1) ...

  8. 缓存方案coolKie、localStorage、sessionStorage介绍和简单的使用

    三种缓存方案coolKie.localStorage.sessionStorage cookie cookie是小甜饼的意思,顾名思义,cookie确实非常小,他的大小限制在4KB左右. 他的主要用途 ...

  9. 【面试题】详解Cookie、localStorage、sessionStorage区别

    [面试题]详解Cookie.localStorage.sessionStorage区别 三者基本概念 Cookie localStorage sessionStorage 安全性的考虑 Cookie. ...

最新文章

  1. mysql获取删除的条数_如何从mysql表中删除数百万条记录而不会减速
  2. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段
  3. JAVAC 命令详解
  4. makefile中的@ $ :
  5. springboot-vue项目前台1
  6. 【CF global1 D / CF1110D】 Jongmah
  7. 关于volatile(转)
  8. Spring MVC 4快速入门Maven原型已改进
  9. linux下GPRS模块ppp拨号上网
  10. 学习《图解HTTP》有感
  11. C语言 处理字符串库 string.h
  12. CF1228C. Primes and Multiplication(数学)
  13. 【基础教程】基于matlab图像融合总结【含Matlab源码 055期】
  14. Scala的空值删除和空值填充
  15. 多线程ADSL切换IP
  16. B站上优质python教程推荐
  17. Tableau柱状图
  18. 数据挖掘简介及学习路径介绍
  19. step7注释乱码问题解决
  20. 测试开发该如何在团队中推广新工具、新技术(深度好文)

热门文章

  1. 基于pytorch的聊天机器人项目
  2. IOS性能调优系列:使用Zombies动态分析内存中的僵尸对象
  3. C语言三个数取中间值
  4. 深度报告:国产6大传统数据库
  5. 向 iOS 越狱彻底说再见!
  6. 前端实现在线预览、编辑Office文档(vue版)
  7. python要学多久才可以,python一般需要学多久
  8. 【离散数学】阿贝尔群和循环群编程题
  9. UWB高精度定位最优方式:全无线方式部署UWB定位系统
  10. 统计软件与数据分析—Lesson2