在小程序中官方并没有设置缓存失效时间的属性,因此在网上找了一下教程对API进行封装:
直接将封装好的代码放到utils中
var dtime = '_deadtime'; function put(k, v, t) { wx.setStorageSync(k, v) var seconds = parseInt(t); if (seconds > 0) { var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000 + seconds; wx.setStorageSync(k + dtime, timestamp + "") } else { wx.removeStorageSync(k + dtime) } } function get(k, def) { var deadtime = parseInt(wx.getStorageSync(k + dtime)) if (deadtime) { if (parseInt(deadtime) < Date.parse(new Date()) / 1000) { if (def) { return def; } else { return; } } } var res = wx.getStorageSync(k); if (res) { return res; } else { return def; } } function remove(k) { wx.removeStorageSync(k); wx.removeStorageSync(k + dtime); } function clear() { wx.clearStorageSync(); } module.exports = { put: put, get: get, remove: remove, clear: clear, }
在需要使用的页面中引入
使用方法:
设置缓存:util.put('key','value',604800) 表示设置缓存失效时间为一周;
获取缓存:util.get('key')
清除缓存:util.remove('key')
清除所有缓存:util.clear()
主要来源:https://gitee.com/JiangMu/wcache