小程序缓存失效设置

在开发小程序中,经常会遇到登陆之后设置一定时间的缓存,但是官方api(https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxsetstoragesynckeydata)当中并没有设置失效时间的属性,因此需要对api进行二次封装,封装代码如下:


  
  
  1. var dtime = '_deadtime';
  2. function put(k, v, t) {
  3. wx.setStorageSync(k, v)
  4. var seconds = parseInt(t);
  5. if (seconds > 0) {
  6. var timestamp = Date.parse( new Date());
  7. timestamp = timestamp / 1000 + seconds;
  8. wx.setStorageSync(k + dtime, timestamp + "")
  9. } else {
  10. wx.removeStorageSync(k + dtime)
  11. }
  12. }
  13. function get(k, def) {
  14. var deadtime = parseInt(wx.getStorageSync(k + dtime))
  15. if (deadtime) {
  16. if ( parseInt(deadtime) < Date.parse( new Date()) / 1000) {
  17. if (def) { return def; } else { return; }
  18. }
  19. }
  20. var res = wx.getStorageSync(k);
  21. if (res) {
  22. return res;
  23. } else {
  24. return def;
  25. }
  26. }
  27. function remove(k) {
  28. wx.removeStorageSync(k);
  29. wx.removeStorageSync(k + dtime);
  30. }
  31. function clear() {
  32. wx.clearStorageSync();
  33. }
  34. module.exports = {
  35. put: put,
  36. get: get,
  37. remove: remove,
  38. clear: clear,
  39. }

使用方法:在需要使用的js中引入改js文件(比如文件名为:cache.js),var util = require('../../utils/cache.js');

设置缓存:  util.put('key','value',20) 表示设置缓存失效时间为20秒;

获取缓存:util.get('key')  

清除缓存:util.remove('key')

清除所有缓存:util.clear()

代码转自:https://gitee.com/JiangMu/wcache 

在开发小程序中,经常会遇到登陆之后设置一定时间的缓存,但是官方api(https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxsetstoragesynckeydata)当中并没有设置失效时间的属性,因此需要对api进行二次封装,封装代码如下:

猜你喜欢

转载自blog.csdn.net/qq_34639706/article/details/85014464