微信小程序缓存机制介绍
每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)
、wx.getStorage(wx.getStorageSync)
、wx.clearStorage(wx.clearStorageSync)
可以对本地缓存进行设置、获取和清理。
但是微信默认设置了缓存是无限长的过期时限,这对于我们的小程序开发,是非常不好的。
哪些是一定需要过期的缓存
我正在开发的项目中,用户通过第三方登录拿到一个token
,每次请求都必须带上token
,但是token
的时限是30分钟。
所以token
就属于有必要当成缓存,但是又必须设置缓存时限的数据。
写法
在用户登录成功后,把过期时间、token一起存入缓存:
// 设置token缓存 wx.setStorageSync('token', res.data.token); // 当前时间 var timestamp = Date.parse(new Date()); // 加上过期期限 var expiration = timestamp + 1200000; //缓存20分钟 // 存入缓存 wx.setStorageSync('data_expiration', expiration);
在app.js
入口文件里,监测是否超时:
// 缓存是否过期 _isExpiration() { // 当前时间 var timestamp = Date.parse(new Date()); // 缓存中的过期时间 var data_expiration = wx.getStorageSync("data_expiration"); // 如果缓存中没有data_expiration,说明也没有token,还未登录 if (data_expiration) { // 如果超时了,清除缓存,重新登录 if (timestamp > data_expiration) { wx.clearStorageSync(); return true; }else{ return false; } } return true; },
到此这篇关于微信小程序缓存过期时间的相关设置的文章就介绍到这了,更多相关微信小程序缓存过期时间内容请搜索阿兔在线工具以前的文章或继续浏览下面的相关文章希望大家以后多多支持阿兔在线工具!