微信开发文档中给我们提供了一系列关于设置缓存、获取缓存、清除缓存的方法,但是并没有提供设置过期时间的方法。
这里,我们就可以考虑用缓存存储一个过期时间,再与当前时间进行比较的方式进行实现。
//存一个过期时间
var timestamp=Date.parse(new Date());
var expiration = timestamp + 2592000000;//2592000秒(一个月)
wx.setStorageSync("index_data_expiration", expiration);
我这里的话设置了一个月的过期时间,并且在onload事件中进行了判断,当你下一次访问该页面时,执行onload方法进行过期时间的判断。
var expiration=wx.getStorageSync("index_data_expiration");//拿到过期时间
var timestamp=Date.parse(new Date());//拿到现在时间
//进行时间比较
if(expiration<timestamp){//过期了,清空缓存,跳转到登录
console.log("缓存已过期");
wx.clearStorageSync();//清空缓存
wx.redirectTo({
url: '../login/login',
});//跳转到登录
return;
}
这里比较时间的方法就是使用parse方法。
parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。就可以对时间进行比较。