关于设置 localStorage 过期时间

发布于 2020-10-25  161 次阅读


最近使用这个localStorage 跨页面传值的时候

localStorage他会一直存在,这样我们登录了一次就会一直存在token,所以我们要设置过期时间,当然还有别的方法比如:cookie。
页面一Login页面
                     var date = new Date().getTime();
                     const foowwLocalStorage  ={
                   set: function (key, value, ttl_ms) {
                  var data = { value: value, expirse: new Date(ttl_ms).getTime() };
                 localStorage.setItem(key, JSON.stringify(data));
               },
               get: function (key) {
                var data = JSON.parse(localStorage.getItem(key));
                if (data !== null) {
               debugger
               if (data.expirse != null && data.expirse < new Date().getTime()) {
                localStorage.removeItem(key);
              } else {
                return data.value;
              }
          }
         return null;
     }
}
        //设置localStorage的值 1000 * 60 * 120 2小时  1000 × 60 × 60 × 24
     foowwLocalStorage.set("test", res, date + 1000 * 60 * 120);
页面--index页面
  const foowwLocalStorage = {
               set: function (key, value, ttl_ms) {
               var data = { value: value, expirse: new Date(ttl_ms).getTime() };
                localStorage.setItem(key, JSON.stringify(data));
               },
              get: function (key) {
              var data = JSON.parse(localStorage.getItem(key));
              if (data !== null) {
             //debugger
              if (data.expirse != null && data.expirse < new Date().getTime()) {
                 localStorage.removeItem(key);
             } else {
                return data.value;
             }
          }
         return null;
       }
       }
        var data = foowwLocalStorage.get("test"); //获取值 
          //下次进入时候即可判断这个值是否为null
               // console.log(data+"data2值");