@glodon-ecs/web-bridge-sdk 0.0.1 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -5
- package/lib/index.es.js +3266 -0
- package/lib/index.umd.js +1 -0
- package/package.json +25 -5
- package/index.js +0 -72
package/README.md
CHANGED
|
@@ -1,5 +1,57 @@
|
|
|
1
|
-
## ECS-BRIDGE-SDK
|
|
2
|
-
|
|
3
|
-
> ECS 通信桥接 SDK
|
|
4
|
-
|
|
5
|
-
- node >= 16
|
|
1
|
+
## ECS-BRIDGE-SDK
|
|
2
|
+
|
|
3
|
+
> ECS 通信桥接 SDK
|
|
4
|
+
|
|
5
|
+
- node >= 16
|
|
6
|
+
|
|
7
|
+
### 使用示例
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import ECSHubBridge from "@glodon-ecs/web-bridge-sdk";
|
|
11
|
+
|
|
12
|
+
// 使用示例
|
|
13
|
+
async function main() {
|
|
14
|
+
// initialize 方法需要先被调用
|
|
15
|
+
|
|
16
|
+
await ECSHubBridge.initialize({ env: "sketchup" });
|
|
17
|
+
const bridge = ECSHubBridge.getInstance();
|
|
18
|
+
|
|
19
|
+
// 调用方法
|
|
20
|
+
const data = await bridge.callMethod("getInitialData", "param1");
|
|
21
|
+
|
|
22
|
+
// 订阅
|
|
23
|
+
const unsubscribe = bridge.subscribe("modelChanged", (data) => {});
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### 扩展适配器
|
|
28
|
+
|
|
29
|
+
> 需要实现如下三个内部方法
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
class CADAdapter {
|
|
33
|
+
// 初始方法
|
|
34
|
+
async init() {
|
|
35
|
+
this._client = window.CADPlugin; // 假设第三方CAD插件
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// 调用内部函数
|
|
39
|
+
call(method, args) {
|
|
40
|
+
return this._client.execCommand(method, ...args);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 注册事件监听
|
|
44
|
+
onEvent(event, callback) {
|
|
45
|
+
this._client.on(event, callback);
|
|
46
|
+
return () => this._client.off(event, callback);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// 注入自定义适配器
|
|
51
|
+
await ECSHubBridge.initialize();
|
|
52
|
+
ECSHubBridge.setAdapter(new CADAdapter());
|
|
53
|
+
|
|
54
|
+
// 设置自定义适配器的client交互对象,如 ecsClient
|
|
55
|
+
await ECSHubBridge.initialize();
|
|
56
|
+
ECSHubBridge.setAdapterClient(new ECS({...}));
|
|
57
|
+
```
|