安装、签名与上架
三种安装方式
| 方式 | 适用场景 | 操作 |
|---|---|---|
| 粘贴 HTML | 开发调试 | 插件页「+」→ 粘贴 |
| 远程 URL | 内部分发、快速迭代 | 插件页「+」→ 填 URL |
| 本地文件 / zip | 正式分发 | 插件页「+」→ 选择文件 |
插件不需要签名。这既是便利,也是风险 —— 只安装可信来源的插件。
单文件 vs zip
单文件 HTML
适合逻辑简单、不需要图标的插件。所有代码、样式、README 都塞进一个文件:
html
<script type="text/markdown">
# 我的插件
这是一段会显示在详情页的说明。
</script>zip 包
适合需要图标、多文件资源的插件:
text
my-plugin.zip
├── plugin.html # 入口,必需
├── logo.png # 可选,128×128 建议
├── style.css # 可选,插件资产
├── helper.js # 可选,wad.loadScript 加载
├── demo.wasm # 可选,WASM(面板 / 逻辑层 / 渲染层都能加载)
└── README.md # 可选,详情页说明wad:logo 可以写 logo.png(zip 内文件名),也可以是 data: URL 或 http(s) 地址。zip 资源通过 /v1/plugins/<id>/file/<相对路径> 提供,逻辑层/渲染层用 wad.asset() 获取。
外部脚本
<script src="https://..."> 不会被执行。需要请求数据请用 wad.http.*,需要拆分代码请内联。
版本管理
| 字段 | 用途 |
|---|---|
wad:version | 展示用版本名,例如 1.2.3 |
wad:versionCode | 整数,市场判断是否需要更新 |
同包名安装会覆盖旧版本。升级时宿主会重新注入,attach 会再次触发,注意清理上一代留下的 DOM 与定时器。
上架到插件市场
市场由后台管理端维护,流程大致是:
- 管理员在后台上传插件 zip 或 HTML;
- 填写包名、名称、分类、版本、更新说明;
- 平台做语法预检与基础审核;
- 客户端在「插件市场」看到条目,一键安装。
市场条目只存元数据与包体,安装后仍然是本地插件,不依赖远程运行。
发布前检查清单
- [ ]
wad:package唯一且符合命名规则 - [ ]
wad:versionCode比上一版大 - [ ] 所有内联脚本能通过语法预检
- [ ]
detach里清理了 DOM、定时器、事件监听 - [ ] 没有依赖外部
<script src> - [ ] 单文件 ≤ 2 MB,逻辑层 / 渲染层脚本各 ≤ 256 KB
- [ ] zip 总量 ≤ 8 MB,单资产 ≤ 4 MB
- [ ] WASM 用
wad.loadWasm(逻辑层/渲染层)或面板里fetch+WebAssembly.instantiate,路径走/file/ - [ ] 面板在 280~360 宽度下布局正常
- [ ] 没有把 token、设备信息写进日志
- [ ] 在至少两个小程序上验证过
attach/detach
安全与合规
- 插件可以读写当前小程序的业务数据、修改页面 DOM,请明确告知用户;
- 不要采集、上传用户的敏感数据;
- 不要做与插件描述无关的行为;
- 涉及第三方服务时,遵守对方条款。