Root

根SDK模块类, Root 继承自 TacosSDK (可点击查看相关属性和方法),提供搜索相关具体SDK模块实例(包括 SpaceDeviceModeRulePlanLayout 等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();
})

基于 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

参考:SocketResponseBody; SocketConfig; PayloadMap

  • 参数

    • 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();
上次更新:
贡献者: zhengqian, jiangtao, jiang.tao