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();