Skip to content

导出扩展包 ​

完整字段表见协议 · 扩展包,本文不再重复。包级 settings 的声明与读取方式见设置。

最小结构:

js
definePackage({
  id: "conflux.demo",
  title: "Demo",
  version: "1.0.0",
  engine: 1,
  permissions: { network: [] },
  extensions: [
    /* 至少一项。type 决定 protocol */
  ],
});

engine 必须为 1。如需发起 HTTP 请求,应将对应 origin 添加至 permissions.network,否则 ctx.http 会拒绝请求。播放地址由播放器直接加载,无需为此声明网络权限。

用户可以在管理页选择“从 URL 安装”或“从文件安装”。URL 应为直接指向 .js 文件的 HTTP(S) 地址;从文件安装时,应在系统文件选择器中选择本地 .js 文件。脚本必须直接调用 definePackage,可参考 Example 中的 demo.js。当前不支持 ZIP 文件或目录。

安装扩展包仅提供相应能力,不会自动将扩展添加到首页。同一 runtime 中,实例的 params 会通过 input 传入。例如,多台服务器应分别对应多个 widget 实例,detail 扩展通过 input.params 和 input.instanceId 读取来源实例的信息。

widget 可以声明字面量 placeholderData,也可以实现 placeholder。安装或包版本发生变化时,App 会采集并缓存一份本地示例数据,供 Widget Picker 后续使用,详见协议 · widget。安装完成后,可在包详情页的扩展列表中长按扩展以进入调试页,直接调用 handler 并查看 console.log 输出。