智能小程序 Ray 开发面板 SDK —— 智能群组模型 API 汇总(四)

compose

compose 为实验性功能,后续 API 设计可能会存在破坏性变更,使用前须注意

描述

将当前智能群组与其他智能群组进行组合,会合并 model.abilities 里的能力

类型

export default class SmartGroupModel<
  S extends ReadonlyDpSchemaList,
  A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
  compose: <A1 extends SmartGroupModelAbility>(
    m: SmartGroupModel<S, A1>[],
  ) => SmartGroupModel<S, A & A1>;
}

请求参数

参数数据类型说明是否必填
mSmartGroupModel<S, A1>[]其他智能群组模型实例

返回参数

参数数据类型说明
ComposedSmartGroupInstanceSmartGroupModel<S, A & A1>组合后的智能群组模型实例

请求示例

// 开关设备 DP 描述
type SocketSchema = typeof schema1;
 
// 照明设备 DP 描述
type LampSchema = typeof schema2;
 
// 开关设备高级能力
type SocketAbilities = {
  toggleTimer: (a: string) => void;
};
 
// 照明设备高级能力
type LampAbilities = {
  toggleMusic: (a: string) => void;
};
 
const socket = await SmartGroupModel.init<SocketSchema, SocketAbilities>();
const lamp = await SmartGroupModel.init<LampSchema, LampAbilities>();
 
// 组合成了一个开关灯插座
const socketLamp = socket.compose(lamp);

返回示例

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

destroy

描述

销毁当前智能群组实例,会同时销毁所有监听器

类型

export default class SmartGroupModel<
  S extends ReadonlyDpSchemaList,
  A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
  destroy: () => void;
}

请求参数

返回参数

请求示例

const group = await SmartGroupModel.init<Schema, LampAbilities>();
 
group.destroy();

返回示例

 

onGroupDpDataChangeEvent

描述

监听智能群组 DP 功能点变更事件,基于 onGroupDpDataChangeEvent 实现

类型

export type GroupDpDataBean = {
  /** groupId 群组id */
  groupId: string;
  /**
   * dp信息
   * 示例: dps: {"1" : true}
   */
  dps: {};
};
 
export default class SmartGroupModel<
  S extends ReadonlyDpSchemaList,
  A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
  onGroupDpDataChangeEvent: (listener: (params: GroupDpDataBean) => void) => number;
}

请求参数

参数数据类型说明是否必填
listener(params: GroupDpDataBean) => voidDP 点变更回调事件

返回参数

参数数据类型说明
resultnumber监听器 id

请求示例

const id = group.onGroupDpDataChangeEvent((data) => {
  console.log('data', data);
});
 
group.offGroupDpDataChangeEvent(id);

返回示例

1

 

onGroupInfoChange

描述

监听智能群组信息变更事件,基于 onGroupInfoChange 实现

类型

export type GroupInfoResponse = {
  /** groupId 群组id */
  groupId: string;
};
 
export default class SmartGroupModel<
  S extends ReadonlyDpSchemaList,
  A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
  onGroupInfoChange: (listener: (params: GroupInfoResponse) => void) => number;
}

请求参数

参数数据类型说明是否必填
listener(params: Device_elDqwU) => void智能群组信息变更回调事件

返回参数

参数数据类型说明
resultnumber监听器 id

请求示例

const id = group.onGroupInfoChange((data) => {
  console.log('data', data);
});
 
group.offGroupInfoChange(id);

返回示例

1

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IoT砖家涂拉拉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值