Skip to content

插件宿主生命周期、范围与数据 ​

这页说明安装插件会开放什么,以及停用、更新或卸载时会保留什么。日常操作入口见插件管理指南。

页面位置与业务作用 ​

public、account、admin 表示公开端、用户端、管理端页面位置,不等于业务权限。插件也可以只提供后台服务;没有公开页面不代表不能参与登录、后台任务或提供方集成。

所需能力会显示在安装预览与插件详情中。页面、指定位置组件及声明的 HTTP 路由只有在对应插件启用、通过宿主校验时才可用。

宿主准入与核心策略 ​

安装时校验签名、内容摘要、平台、清单结构与能力。每次调用继续校验当前账户、页面范围、插件状态和版本。能力来自签名包并由宿主约束,管理员不能通过勾选或修改请求绕过规则。

扩展范围主要限制
页面、组件与路由只开放清单声明且宿主支持的位置和路径,不注入宿主 DOM,也不覆盖核心路由。
配置与私有存储只访问本插件的数据,读写可分别授权;不提供 SQL 或核心数据表。
第三方身份插件验证外部身份,账户、注册开关、绑定与会话由核心控制。
账户、订阅和消息用户范围与管理员范围分别校验;订阅配置读取、配额调整、延长期限和取消需要相应专用能力。
用量与订单页面可读取获准的本人数据;支付写入不提供给浏览器插件会话。
任务、DNS 与证书只执行声明的任务或提供方契约,不获得任意宿主命令权限。

同邮箱不自动绑定账户,关闭注册也不能被身份插件绕过。插件拥有某项只读能力,不代表能执行相应写操作。完整能力名以当前清单校验和SDK为准。

这些是宿主接口边界,不能代替原生程序的操作系统隔离。服务端插件仍可能使用部署账号的文件和网络权限,请先阅读安装信任。

生命周期事务 ​

  • 首次安装:校验包并准备配置、准入与数据,成功后保持停用。失败不留下半完成的有效安装。
  • 启用:检查包、数据、配置和进程健康,成功后才发布入口。
  • 停用:撤销插件会话、停止运行与相关任务,保留配置和数据。
  • 更新或切换发布版本:先准备候选数据和运行时,通过后切换;成功保留原启停状态,失败保留原安装与数据。
  • 卸载:自动停止运行、撤销入口并移除程序包,保留自身配置、私有数据和记录。

当前只保留已提交的当前包,旧包和历史版本元数据会被清理,不支持本地历史回滚。重新安装发布者提供的其他版本仍须通过数据与配置校验;不能代替一致备份恢复。操作失败时查看详情页“操作记录”,不要手动拼接数据库状态。

私有数据 ​

插件私有存储是按插件 ID 隔离的加密 JSON 数据。单插件最多 128 个键、总计 256 KiB,单值最多 32 KiB。配置和私有数据不等于核心账户、订单、订阅或凭证。

私有存储读写可分别授权。页面桥只向获准的管理端页面开放这项存储;原生进程使用自身私有认证连接,不能指定其他插件的命名空间。写入使用修订号检测并发冲突,冲突后需重新读取和决定,不能盲目覆盖。

备份时保留数据库、插件目录及既有加密密钥。仅复制 .zbplugin 安装包不包含站点中保存的配置或数据。

声明式迁移 ​

安装或更新时,宿主根据包内声明自动准备数据,不需要管理员手工执行迁移。失败会阻止切换;数据未准备好时不能启用。

贡献者只能声明自身配置或私有存储的补默认值、改名和删除操作,并申请对应写权限。不得运行迁移 SQL、脚本或自定义迁移回调;已发布步骤必须保持不变。完整限制见数据清单校验。

当前不自动执行向下迁移。更新前备份,尤其不要把“能下载旧包”当成“能恢复旧数据”。

卸载与清理 ​

操作配置与私有数据核心账户、身份绑定、订阅与订单
停用保留,可再次启用保留
卸载保留,重新安装后可继续使用保留
卸载后“清除保留数据”清空,重新安装时重新初始化保留

清除保留数据不会移除操作及迁移记录,也不会解除原插件的发布者与签名密钥约束。执行前确认有备份或确实不再需要数据;不要直接删除宿主的数据表。

ZeroDeNet