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>;
}
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
m | SmartGroupModel<S, A1>[] | 其他智能群组模型实例 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
ComposedSmartGroupInstance | SmartGroupModel<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) => void | DP 点变更回调事件 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
result | number | 监听器 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 | 智能群组信息变更回调事件 | 是 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
result | number | 监听器 id |
请求示例
const id = group.onGroupInfoChange((data) => {
console.log('data', data);
});
group.offGroupInfoChange(id);
返回示例
1
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。