常见问题
插件已安装,租户看不到
检查顺序:
- 插件是否处于已安装、已启用状态。
- 插件是否授权到租户当前套餐。
- 套餐授权是否自动启用,或租户是否在插件中心手动启用。
- 租户生命周期是否为
trial或active。 - 租户角色是否分配了插件菜单和按钮权限。
- 前端插件源码是否已同步和构建。
一级应用菜单没有出现
确认:
plugin.json中kind是app。tenant.menus不为空。- 菜单
component指向正确的插件前端页面。 - 安装时菜单同步成功。
- 当前租户角色拥有该菜单权限。
插件 API 返回无权限
插件 API 会同时经过租户认证、生命周期、权益和 RBAC 校验。重点检查:
- 请求 token 是否是租户 token。
- 租户是否过期、冻结或禁用。
- 插件是否在租户权益清单中。
- 当前管理员角色是否具备权限 code。
插件页面构建失败
先手动同步插件前端:
bash
node scripts/sync-plugins.mjs --target tenant
node scripts/sync-plugins.mjs --target platform然后分别进入 tenant/ 或 platform/ 执行类型检查和构建。
移动端页面没有打包
确认 manifest 声明了:
json
{
"uniapp": {
"subpackage": "modules/demo-shop",
"pages": [
{ "path": "pages/product-list/index", "title": "商品列表" }
]
}
}同时确认 server/plugins/{code}/uniapp/ 目录存在,租户已拥有插件权益。
能不能只给某些租户开放插件
可以。推荐通过套餐授权控制基础范围,再通过租户单独购买或单独授权实现差异化。不要在插件业务代码中硬编码租户 ID。
插件卸载会删除业务数据吗
默认不会。卸载是软卸载,插件不可访问,但业务数据保留。需要彻底清理时,再执行插件清理流程,并确保已有数据库备份。
插件升级失败怎么办
先查看平台插件构建日志、后端运行日志和迁移错误。升级迁移应设计为可重复执行或安全失败。生产环境升级前应备份数据库和插件目录。
插件能扩展平台后台吗
可以通过 platformapi 路由和平台前端扩展实现,但建议谨慎使用。大多数业务插件应面向租户后台和 C 端,平台扩展只用于插件市场、全局配置、审计或运营级能力。
插件和普通模块怎么选择
如果能力只服务当前项目且不需要独立安装、授权、升级,可以做普通模块。如果能力需要作为独立商品、独立版本或按套餐售卖,应该做插件。
