Home > SYS_ExternalApi > register
SYS_ExternalApi.register() method
注册一个上层接口
签名
typescript
function register(
namespace: string,
apiName: string,
callFn: (...args: any[]) => any | Promise<any>,
help?: ISYS_ExternalApiHelp,
): void;1
2
3
4
5
6
2
3
4
5
6
参数名
参数 | 类型 | 描述 |
|---|---|---|
namespace | string | 命名空间(如 |
apiName | string | 接口名(如 |
callFn | (...args: any[]) => any | Promise<any> | 调用函数,接收任意参数,返回任意值或 Promise |
help | (可选) 可选 Help 元数据,供 |
返回值
void
示例
javascript
// 注册一个「一键放置器件」的上层接口
eda.sys_ExternalApi.register(
'component',
'placeComponent',
async (props) => {
const device = await eda.lib_Device.search({ name: props.deviceName });
await eda.sch_PrimitiveComponent.place(device[0].uuid, props.x, props.y);
return { success: true, deviceUuid: device[0].uuid };
},
{
title: '放置器件(一步完成)',
description: '按器件名称查询并放置到原理图指定坐标',
params: [
{ name: 'deviceName', type: 'string', description: '器件名称', required: true },
{ name: 'x', type: 'number', description: 'X 坐标', required: true },
{ name: 'y', type: 'number', description: 'Y 坐标', required: true },
],
returns: { type: 'Promise<{success, deviceUuid}>', description: '放置结果与器件 UUID' },
},
);
// 调用
await external.component.placeComponent({ deviceName: 'R0402', x: 100, y: 100 });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23