小程序的缓存数据是以应用为维度。不同ID的小程序间缓存数据是互相隔离、不受影响的。默认情况下,开发者无需关心缓存维度的问题。
当开发者在开发第三方企业应用且希望使用本地缓存临时保存用户企业相关的一些信息时,则需要注意缓存的这个特性。(用户可以存在于多个组织,在不同的组织间可以随意切换,多个组织可能会开通同一个第三方企业应用。这种情况下,从应用的维度,同一个用户在不同的时间可能具备不同的企业身份,即dd.corpId不同)。
dd.setStorage
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的数据。
参数
名称 | 类型 | 必填 | 描述 |
---|
key | String | 是 | 缓存数据的key |
data | Object/String | 是 | 要缓存的数据 |
success | Function | 否 | 调用成功的回调函数 |
fail | Function | 否 | 调用失败的回调函数 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行 |
dd.setStorage({
key: 'currentCity',
data: {
cityName: '杭州',
adCode: '330100',
spell: ' hangzhou',
},
success: function() {
dd.alert({content: '写入成功'});
}
});
dd.setStorageSync
同步将数据存储在本地缓存中指定的 key 中。
同步数据IO操作可能会影响小程序流畅度,建议使用异步接口,或谨慎处理调用异常。
参数
名称 | 类型 | 必填 | 描述 |
---|
key | String | 是 | 缓存数据的key |
data | Object/String | 是 | 要缓存的数据 |
dd.setStorageSync({
key: 'currentCity',
data: {
cityName: '杭州',
adCode: '330100',
spell: ' hangzhou',
}
});
dd.getStorage
获取缓存数据。
参数
名称 | 类型 | 必填 | 描述 |
---|
key | String | 是 | 缓存数据的key |
success | Function | 否 | 调用成功的回调函数 |
fail | Function | 否 | 调用失败的回调函数 |
complete | Function | 否 | 调用结束的回调函数(调用成功、失败都会执行 |
success返回值
名称 | 类型 | 说明 |
---|
data | Object/String | key对应的内容(不存在时返回 null) |
dd.getStorage({
key: 'currentCity',
success: function(res) {
dd.alert({content: '获取成功:' + res.data.cityName});
},
fail: function(res){
dd.alert({content: res.errorMessage});
}
});
dd.getStorageSync
同步获取缓存数据。
同步数据IO操作可能会影响小程序流畅度,建议使用异步接口,或谨慎处理调用异常。
参数
名称 | 类型 | 必填 | 描述 |
---|
key | String | 是 | 缓存数据的key |
返回值
名称 | 类型 | 说明 |
---|
data | Object/String | key对应的内容(不存在时返回 null) |
let res = dd.getStorageSync({ key: currentCity });
dd.alert({
content: JSON.stringify(res.data),
});
更多(删除缓存)。。。
转载至https://ding-doc.dingtalk.com/doc#/dev/storage