Root
根SDK模块类, Root 继承自 TacosSDK (可点击查看相关属性和方法),提供搜索相关具体SDK模块实例(包括 Space 、 Device 、 Mode 、 Rule 、 Plan 、 Layout 等SDK模块)以及查询所有相关指令驱动数据的能力
方法
deviceDriver()
查询指定设备的驱动元数据
function deviceDriver(list?: string[]) => Promise<DeviceDriver[]>
参考:DeviceDriver
参数
list: 设备驱动name数组- 若
list为空,默认查所有设备驱动
- 若
返回值
Promise<DeviceDriver[]>: 设备驱动元数据数组集合
示例
import Tacos, { Root } from "@tslfe/tacos-sdk";
Tacos.connect({...}).then((core) => {
const root = core.createInstance(Root);
const deviceDrivers = await root.deviceDriver();
})
search()
基于 tacosPath 搜索相关具体SDK模块
function <S>search(tacosPath: string, spaceIds?: string[]) => Promise<TacosSDK & S>
参考:TacosSDK
参数
tacosPath:xpath路径【必传】- 支持传绝对路径或者相对路径,路径具体规则请参见资源定位符
spaceIds: 空间id集合【选传】- 只有当
tacosPath是 相对路径 时方可生效
- 只有当
返回值
Promise<TacosSDK & S>: 具体SDK模块实例
示例
import type { Space } from "@tslfe/tacos-sdk";
const root = core.createInstance(Root);
const space = await root.search<Space>("/yingli/46");
事件
addListener
监听全局空间下发的消息推送
function addListener(
xpath: string,
callback: (data: SocketResponseBody<keyof PayloadMap>) => void,
option?: Partial<SocketConfig>
) => () => void
参数
xpath: 匹配指定xpth路径下的空间or设备的消息*表示监听全局消息
callback:socket触发消息推送事件回调body: 指令消息主体
options:socket连接配置信息 【选传】
返回值
- 当前实例的移除消息监听事件回调
示例
const root = sdk.createInstance(Root);
root.addListener("*", (body) => {
console.log(body);
});
removeListener
移除全局socket消息监听
function removeListener() => void
- 示例
const root = sdk.createInstance(Root);
root.addListener("*", (body) => {
console.log(body);
});
// 移除全局socket监听
root.removeListener();