localStorage设置有效期、过期时间、当天24点过期

实际开发中有要求用户一些行为每天一次,次日开始重新拥有对应权限功能,一般前端都是通过cookie或者localStorage来记住用户的操作,然后进行判断当日是否还有机会,但是我们都知道localstorage是没有过期时间的,这时候需要给存储的值一个有效期,让次日自动失效

实际开发中有要求用户一些行为每天一次,次日开始重新拥有对应权限功能,一般前端都是通过cookie或者localStorage来记住用户的操作,然后进行判断当日是否还有机会,但是我们都知道localstorage是没有过期时间的,这时候需要给存储的值一个有效期,让次日自动失效

具体代码思路

const bindLocalStorage = {
    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

let gamePlayCount = bindLocalStorage.get('gamePlayCount');
//.....

存储localstorage

let curDate = new Date();
// 获取当前日期对应的时间戳
let curTime = curDate.getTime();
// 获取指定时间的时间戳
let endTime = convertTime(curDate, '24:00:00');
// 计算出指定时间与当前时间的时间差
let disTime = endTime - curTime;
bindLocalStorage.set('gamePlayCount', 3, curTime + disTime);

以上这篇localStorage设置有效期、过期时间、当天24点过期就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持芦苇派。


原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/html/1686797154/

  • 1