智能小程序 Ray 开发面板 SDK 智能设备模型通用能力——设备存储使用指南

使用

ℹ️ 当前存储能力 SDK 针对以下能力做了抽象:

  • key 值前缀: 自动添加存储 key 前缀为 devId 值,防止同产品不同设备存储时导致的数据冲突。
  • 数据自动同步:开发者操作自定义数据时会自动存储为本地和云端数据,并保持其同步,同时选取最新的数据返回,在弱网环境下防止云端操作导致的数据丢失。

起步

基础用法

// 初始化
const storage = new SmartStorageAbility();
storage.init();

名称

storage.get(key)

描述

获取存储的数据

请求参数

参数数据类型说明是否必填
keystring之前存储数据的 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)

描述

存储数据

请求参数

参数数据类型说明是否必填
keystring存储数据的 key 值
valueany存储数据值

返回参数

参数数据类型说明
true / ErrorPromise.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)

描述

删除之前存储的数据

请求参数

参数数据类型说明是否必填
keystring之前存储数据的 key 值

返回参数

参数数据类型说明
true / ErrorPromise.resolve/reject是否删除成功

请求示例

const storage = new SmartStorageAbility();
storage.init();
 
// 删除
storage.remove('mockKey').then((res) => {
  console.log(res);
}).catch((err) => {
  console.log(err);
});
 

使用场景

此能力在弱网或调用接口频繁时效果较好

  • 防止频繁的弹出 loading.
  • 在弱网环境下接口报错导致设备无法操作,进而导致的操作数据无效.

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值