API v1

动作调用

说明动作参数、执行顺序和步骤结果的处理。

Plugin API v1

Documentation content is currently available in Simplified Chinese.

一个动作由清单中的 actions[] 和后台中的 actions[actionId] 共同定义。编辑器根据清单显示输入,宿主根据相同的 Schema 检查调用参数。

#输入参数

调用参数是 JSON 对象。宿主检查必填字段、数据类型和字段约束后,才调用后台处理函数。未知字段默认不被接受;需要开放对象字段时,在对应 Schema 中设置 additionalProperties。

default 用于描述默认输入。处理函数仍可以给可选参数设置 JavaScript 默认值,让自己的实现清楚表达省略参数时的行为,见开发动作。

#执行

处理函数可以同步返回,也可以返回 Promise。飞块按照 execution 的超时、资源和重复触发设置调度调用。例如,两个操作都修改剪贴板时,声明相同资源可以让宿主统一协调所有入口的执行。

执行属性集中定义在 ActionExecution,这里沿用同一套声明。

#结果

普通 JSON 返回值成为步骤结果。声明 outputSchema 后,宿主检查结果是否符合它的 Schema;校验失败时,这一步以错误结束。

设备导航是专门的操作结果:处理函数返回 context.deck.navigate() 生成的对象,宿主据此切换触发设备的屏幕。具体格式见 context.deck。

#错误

处理函数抛出异常或返回拒绝的 Promise 时,飞块显示错误消息。错误文字应描述发生了什么,例如“找不到所选文件”,让用户知道要检查哪个输入。