@glodon-ecs/web-bridge-sdk

0.1.1 • Public • Published

ECS-BRIDGE-SDK

ECS 通信桥接 SDK

  • node >= 16

使用示例

import ECSHubBridge from "@glodon-ecs/web-bridge-sdk";

// 使用示例
async function main() {
  // initialize 方法需要先被调用

  await ECSHubBridge.initialize({ env: "sketchup" });
  const bridge = ECSHubBridge.getInstance();

  // 调用方法
  const data = await bridge.callMethod("getInitialData", "param1");

  // 订阅
  const unsubscribe = bridge.subscribe("modelChanged", (data) => {});
}

扩展适配器

需要实现如下三个内部方法

class CADAdapter {
  // 初始方法
  async init() {
    this._client = window.CADPlugin; // 假设第三方CAD插件
  }

  // 调用内部函数
  call(method, args) {
    return this._client.execCommand(method, ...args);
  }

  // 注册事件监听
  onEvent(event, callback) {
    this._client.on(event, callback);
    return () => this._client.off(event, callback);
  }
}

// 注入自定义适配器
await ECSHubBridge.initialize();
ECSHubBridge.setAdapter(new CADAdapter());

// 设置自定义适配器的client交互对象,如 ecsClient
await ECSHubBridge.initialize();
ECSHubBridge.setAdapterClient(new ECS({...}));

Readme

Keywords

Package Sidebar

Install

npm i @glodon-ecs/web-bridge-sdk

Weekly Downloads

0

Version

0.1.1

License

ISC

Unpacked Size

157 kB

Total Files

4

Last publish

Collaborators

  • opensource_glodon