多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。同一个微信用户,同一个小程序 storage 上限为 10MB。localStorage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。 **注意**: localStorage 是持久存储的,但是我们不建议将关键信息全部存在 localStorage,以防用户换设备的情况。 ### wx.setStorage(OBJECT) 将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。 **OBJECT参数说明:** ![](https://box.kancloud.cn/518357a4f8c16c6a75233456035aa1df_967x342.png) **示例代码:** wx.setStorage({ key:"key", data:"value" }) ### wx.setStorageSync(KEY,DATA) 将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。 **参数说明:** ![](https://box.kancloud.cn/c2493384dbbc79aaf4de38581ef2bfe6_956x158.png) **示例代码** try { wx.setStorageSync('key', 'value') } catch (e) { } ### wx.getStorage(OBJECT) 从本地缓存中异步获取指定 key 对应的内容。 **OBJECT参数说明:** ![](https://box.kancloud.cn/a07d22ea742d93454c031cf9f128557c_955x276.png) **success返回参数说明:** ![](https://box.kancloud.cn/f96a17cdee20a592bbb150988b07583f_960x106.png) **示例代码:** wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) } }) ### wx.getStorageSync(KEY) 从本地缓存中同步获取指定 key 对应的内容。 **参数说明:** ![](https://box.kancloud.cn/d2fe61e44bbcfa69a8967399ca814e6a_957x104.png) **示例代码:** try { var value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error } ### wx.getStorageInfo(OBJECT) 异步获取当前storage的相关信息 **OBJECT参数说明:** ![](https://box.kancloud.cn/3bbfca278d5a26b07af89566cf554ef9_969x218.png) **success返回参数说明:** ![](https://box.kancloud.cn/e627eff42fd99cc77c19947a6568b67b_960x218.png) **示例代码:** wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } }) ### wx.getStorageInfoSync 同步获取当前storage的相关信息 **示例代码:** try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error } ## wx.removeStorage(OBJECT) 从本地缓存中异步移除指定 key 。 **OBJECT参数说明:** ![](https://box.kancloud.cn/9f885dfa7a5e7ff90048482bb0582ffa_948x281.png) **示例代码:** wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } }) ### wx.removeStorageSync(KEY) 从本地缓存中同步移除指定 key 。 **参数说明:** ![](https://box.kancloud.cn/9c7c4f422b02aff3935d7deb34464dac_953x102.png) **示例代码:** try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error } ### wx.clearStorage() 清理本地数据缓存。 **示例代码:** wx.clearStorage() ### wx.clearStorageSync() 同步清理本地数据缓存 **示例代码:** try { wx.clearStorageSync() } catch(e) { // Do something when catch error }