因公司发展需要,本人也踩进微信小程序的坑了,爬坑是一个艰辛的过程,现将遇到的部分问题记录一下。
小程序官方API提供了wx.setStorageSync,不过是永久缓存,除非用户手动清除,否则会一直留在用户手机 。而我们都知道,本地缓存最大为10M。实际开发过程中,或者为了给用户节省内存,或者为了设置信息即时性,我们需要对部分缓存设置时效性,在他到期之后删除。相关代码如下:
//设置时效缓存,time为有效时间,单位小时,默认24小时var postfix = '_deadtime';setStorageSync: function (k, v, time){wx.setStorageSync(k, v);var t=time?time:24;var seconds = parseInt(t * 3600);if (seconds > 0) {var timestamp = Date.parse(new Date());timestamp = timestamp / 1000 + seconds;wx.setStorageSync(k + postfix, timestamp + "")} else {wx.removeStorageSync(k + postfix)}},//读取缓存,若缓存不存在,返回def,若没有设置默认返回值,则返回undefinedgetStorageSync:function(k,def){var deadtime = parseInt(wx.getStorageSync(k + postfix))if (deadtime) {if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {wx.removeStorageSync(k);wx.removeStorageSync(k + postfix);if (def) { return def; } else { return; }}}var res = wx.getStorageSync(k);if (res) {return res;} else if(def){return def;}else{return;}}














