init
描述
根据当前小程序环境启动参数自动获取 groupId 异步生成一个智能群组模型实例对象。其中第一个类型入参为当前群组的 dp schema 描述,第二个类型入参为自定义群组 abilities 能力
类型
declare type SmartGroupModelOptions = {
groupId?: string;
abilities?: SmartGroupModelAbility;
mixin?: SmartGroupModel<ReadonlyDpSchemaList, SmartGroupModelAbility>[];
/**
* 智能群组模型拦截器,非稳定 API
*
* @unstable
*/
interceptors?: {
request?: {
/**
* @default [logger]
*/
publishDps?: PublishDpsInterceptor<any>[];
};
response?: {
/**
* @default [logger]
*/
onGroupDpDataChangeEvent?: OnGroupDpDataChangeInterceptor<any>[];
/**
* @default [logger]
*/
onGroupInfoChange?: OnGroupInfoChangeInterceptor<any>[];
/**
* @default [logger]
*/
onNetworkStatusChange?: OnNetworkStatusChangeInterceptor<any>[];
/**
* @default [logger]
*/
onBluetoothAdapterStateChange?: OnBluetoothAdapterStateChangeInterceptor<any>[];
};
};
};
export default class SmartGroupModel<
S extends ReadonlyDpSchemaList,
A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
static init: <
S1 extends ReadonlyDpSchemaList,
A1 extends SmartGroupModelAbility = SmartGroupModelAbility,
>(
options?: SmartGroupModelOptions,
) => Promise<SmartGroupModel<S1, A1>>;
}
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
options | SmartGroupModelOptions | 初始化智能群组模型配置项 | 否 |
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
SmartGroupInstance | Promise<SmartGroupModel<S1, A1>> | 智能群组模型实例 |
请求示例
import { SmartGroupModel } from '@ray-js/panel-sdk';
const schema = [
{
attr: 0,
canTrigger: true,
code: 'power',
defaultRecommend: false,
editPermission: false,
executable: true,
extContent: '',
iconname: 'icon-dp_power2',
id: 1,
mode: 'rw',
name: '开关',
property: {
type: 'bool',
},
type: 'obj',
},
] as const; // 注意此处的 as const 非常重要,必须强制断言成常量
type Schema = typeof schema;
type LampAbilities = {
toggleMusic: (a: string) => void;
};
const group = await SmartGroupModel.init<Schema, LampAbilities>();
返回示例
无
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。
onInitialized
描述
智能群组模型初始化完毕事件
类型
export default class SmartGroupModel<
S extends ReadonlyDpSchemaList,
A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
static onInitialized: (listener: () => void) => number;
}
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
param | (listener: () => void) => number | 初始化完毕回调事件 | 是 |
返回参数
无
请求示例
import { SmartGroupModel } from '@ray-js/panel-sdk';
SmartGroupModel.onInitialized(() => {
console.log('智能群组初始化完毕!');
});
返回示例
1
offInitialized
描述
取消监听智能群组模型初始化完毕事件
类型
export default class SmartGroupModel<
S extends ReadonlyDpSchemaList,
A extends SmartGroupModelAbility = SmartGroupModelAbility,
> {
static offInitialized: (id: number) => void;
}
请求参数
参数 | 数据类型 | 说明 | 是否必填 |
---|---|---|---|
id | number | 初始化完毕回调事件 id | 是 |
返回参数
无
请求示例
import { SmartGroupModel } from '@ray-js/panel-sdk';
const id = SmartGroupModel.onInitialized(() => {
console.log('智能群组初始化完毕!');
});
SmartGroupModel.onInitialized(id);
返回示例
无
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。