插件开发
插件用于将可复用的行业能力从通用平台中拆分出来,并由平台端分配给指定租户。一个可交付插件不只是后端代码,还应包含数据库变更、菜单与权限、前端入口、配置说明、升级与回滚策略。
交付组成
| 内容 | 要求 |
|---|---|
| 后端模块 | 按领域归属接入 platform 或 system 模块,避免把租户业务放入平台模块。 |
| 数据库 | 提供幂等增量 SQL;租户业务表遵从 tenant_id 隔离。 |
| 菜单与权限 | 菜单、按钮权限和接口权限标识同步交付,并验证角色授权后不可越权。 |
| 前端 | 提供平台配置入口或租户使用入口,API 基地址不写死生产域名。 |
| 配置 | 密钥、回调地址和外部服务参数通过环境变量或配置中心注入。 |
| 文档 | 描述安装、配置、升级、验证、回滚和依赖版本。 |
推荐开发流程
- 先明确插件属于平台运营能力还是租户业务能力,设计数据隔离和权限边界。
- 在本地完成实体、Mapper、Service、Controller、菜单和前端页面开发。
- 编写可重复执行的 SQL 增量,包含菜单、权限、字典或初始配置。
- 使用至少两个租户验证数据隔离、角色权限和缓存行为。
- 在测试环境执行安装、升级和回滚演练,再进入生产发布。
生产发布检查
- 先备份受影响数据,并记录 SQL 执行版本。
- 后端与前端需使用兼容的 API 契约同步发布。
- 新旧菜单和权限在灰度期间应保持兼容,避免用户登录后出现空白页。
- 发生问题时优先暂停插件入口或回滚应用版本;数据回滚必须使用预先验证过的脚本。