平台管理
平台管理后台是 SaaS 运营者的控制中心,通过 admin.example.com 访问。
登录
使用安装向导创建的平台超管账号登录。超级管理员(is_super=1)拥有全部权限,无需分配角色。
租户管理
管理所有注册的租户:
- 新建租户 — 填写租户 Code(用作子域名)、名称、套餐、试用天数
- 查看详情 — 租户信息、订阅状态、生命周期
- 禁用/启用 — 手动控制租户状态
租户生命周期
trial(试用中)→ active(正常订阅)
↘ grace(过期宽限期)
↓
frozen(冻结)
↓
disabled(平台禁用)| 状态 | 读 | 写 | 说明 |
|---|---|---|---|
| trial / active | ✅ | ✅ | 正常使用 |
| grace | ✅ | ❌ | 过期后宽限期,只读 |
| frozen | ❌ | ❌ | 全部阻断,仅允许续费 |
| disabled | ❌ | ❌ | 平台手动禁用 |
套餐管理
定义可售套餐:
- 套餐代码 — 唯一标识(如
free、basic、pro) - 月价/年价 — 支持 0 元免费套餐
- 存储配额 — 以 GB 为单位设置上限
- 功能列表 — 勾选该套餐包含的功能开关
- 插件授权 — 为套餐绑定可用插件应用,并设置是否自动启用
功能开关
定义可用的功能标识(feature code):
- 每个功能有唯一 code(如
code.generator、wechat.official) - 功能按 group 分组管理
- 在套餐中勾选启用的功能
后端通过 TenantFeatureService::requireFeature() 检查,前端通过 v-feature 指令控制显示。
插件管理
平台后台负责插件的全局生命周期:
- 上传插件 — 上传 zip 包并进行
plugin.json校验和安全检查 - 登记内置插件 — 将
server/plugins/中随源码发布的插件登记到数据库 - 安装插件 — 执行迁移、生命周期钩子、菜单权限同步和前端构建任务
- 升级插件 — 按版本执行迁移并重新构建平台/租户前端
- 卸载插件 — 默认软卸载,保留业务数据;需要彻底清理时再执行数据清除
- 插件市场 — 连接官方市场,同步目录,按兼容版本安装或升级插件
kind=app 的插件会作为租户后台一级应用进入菜单体系,kind=plugin 更适合作为能力扩展或配置面板。
插件授权
套餐中的插件授权决定租户能看到和启用哪些插件:
auto_enable=1的插件会自动进入租户权益清单- 非自动启用插件需要租户管理员手动启用
- 单独购买的插件会记录独立过期时间
- 插件授权不替代 RBAC,租户仍需给角色分配菜单和按钮权限
订单管理
查看和管理所有 SaaS 订单:
- 订单列表 — 筛选状态、搜索
- 订单详情 — 查看支付信息
- 强制标记已支付 — 线下收款后手动确认
- 取消订单 — 取消未支付订单
- 退款 — 标记已退款状态
移动端构建
平台可以查看租户移动端构建任务、构建状态、错误日志和产物地址。构建失败时优先检查:
- 租户是否有移动端构建资格。
- 插件 manifest 是否声明 UniApp 页面。
- 构建驱动是本地、Docker 还是远程服务。
- 构建环境是否已安装 UniApp 依赖。
系统配置
- 管理员管理 — 添加/编辑平台管理员
- 角色管理 — 定义角色并分配菜单权限
- 菜单管理 — 管理平台侧边栏菜单
- 操作日志 — 查看管理员操作记录
- 系统设置 — 站点基础配置 + 清除缓存
平台初始化后的完整操作顺序见 业务流程。
