使用
ℹ️ 当前存储能力 SDK 针对以下能力做了抽象:
- key 值前缀: 自动添加存储 key 前缀为 devId 值,防止同产品不同设备存储时导致的数据冲突。
- 数据自动同步:开发者操作自定义数据时会自动存储为本地和云端数据,并保持其同步,同时选取最新的数据返回,在弱网环境下防止云端操作导致的数据丢失。
起步
基础用法
// 初始化
const storage = new SmartStorageAbility();
storage.init();
名称
storage.get(key)
描述
获取存储的数据
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
key | string | 之前存储数据的 key 值 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
{data: { value: any, type: string }, time: number } | Promise.resolve/reject | 获取之前存储的值 |
请求示例
const storage = new SmartStorageAbility();
storage.init();
type TReturnRes = {
data: { value: any, type: string },
time: number,
} | null;
// 获取
const getLocalData: TReturnRes = (_res) => {
console.log(_res);
};
storage.get('mockKey', getLocalData).then((res: TReturnRes) => {
const { __isEqual__ } = res || {};
if (__isEqual__) {
// 判读云端返回的数据是否与本地数据一致,如果一致 __isEqual__ = true, 可用来优化更新频率
}
console.log(res);
});
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。
名称
storage.set(key, value)
描述
存储数据
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
key | string | 存储数据的 key 值 | 是 |
value | any | 存储数据值 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
true / Error | Promise.resolve/reject | 是否存储成功 |
请求示例
const storage = new SmartStorageAbility();
storage.init();
// 存储
// 注意⚠️:由于接口保存长度限制🚫,value 的值字符串长度(内部会转为字符串)建议在256, 最大不超过1024,超过1024会保存失败
const value = { a: 1, b: [1,2,3] };
storage.set('mockKey', value).then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
});
名称
storage.remove(key)
描述
删除之前存储的数据
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
key | string | 之前存储数据的 key 值 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
true / Error | Promise.resolve/reject | 是否删除成功 |
请求示例
const storage = new SmartStorageAbility();
storage.init();
// 删除
storage.remove('mockKey').then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
});
使用场景
此能力在弱网或调用接口频繁时效果较好
- 防止频繁的弹出 loading.
- 在弱网环境下接口报错导致设备无法操作,进而导致的操作数据无效.
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。