协议总览
了解清单、后台和页面如何共同完成一次调用。
Documentation content is currently available in Simplified Chinese.
Plugin API v1 定义飞块与插件之间的交互。清单提供静态声明,后台 SDK 连接插件代码与宿主,页面 SDK 连接超级块界面与后台。
开发插件时,从入门教程开始。本章说明飞块处理这些接口时的顺序,适合确认调用行为或实现兼容工具。
#一个动作如何执行
飞块加载 manifest.json,验证动作 ID、参数 Schema 和执行设置,随后启动插件后台。后台调用 definePlugin() 注册处理函数,飞块核对注册内容后把插件标记为运行中。
用户执行动作时,飞块先检查参数,再调用后台的 actions[actionId](args, context)。处理函数返回后,如果清单声明了 outputSchema,飞块检查返回值;校验通过的值成为流程步骤结果。任一步骤失败,这次调用以错误结束。
#超级块如何更新
超级块页面显示一个已放置的实例。后台发布状态后,飞块把对应快照交给页面,页面 SDK 调用 onState() 监听器。
页面需要主动获取数据时,使用 requestData();页面提交按钮点击等操作时,使用 invokeAction()。宿主根据已放置的块确定实例身份,再调用对应后台函数。
#数据类型
跨进程数据使用 JSON 类型:字符串、有限数值、布尔值、数组和普通对象。函数、Date、Map 等 JavaScript 对象需要先转换为 JSON 数据。例如,时间可以使用 ISO 字符串,Map 可以转成普通对象。