|
|
# 系统配置
|
|
|
|
|
|
> 模块编码:system
|
|
|
> 端侧:Web专属(仅超级管理员)
|
|
|
> 关联文档:01-模块划分 §2.3 / 02-功能清单-超级管理员 §3 / 03-业务流转逻辑-超级管理员 §9 / 05-接口规范 §9.2 / 06-项目技术要求 §8.3~8.4
|
|
|
|
|
|
## 功能概览
|
|
|
|
|
|
| 项目 | 说明 |
|
|
|
|------|------|
|
|
|
| 菜单名称 | 系统配置 |
|
|
|
| 子菜单 | 系统版本管理、缓存管理 |
|
|
|
| 功能编号 | SA-S-01 ~ SA-S-02 |
|
|
|
| 权限编码前缀 | system:version:* / system:cache:* |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面1:系统版本管理页
|
|
|
|
|
|
**页面编号**:SA-S-01-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/system/versions
|
|
|
|
|
|
### 界面布局
|
|
|
|
|
|
```
|
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 系统配置 > 系统版本管理 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [当前版本信息卡片] │
|
|
|
│ ┌──────────────────────┐ ┌──────────────────────┐ │
|
|
|
│ │ 管理后台版本 │ │ 小程序版本 │ │
|
|
|
│ │ 当前版本:v1.2.0 │ │ 当前版本:v1.1.0 │ │
|
|
|
│ │ 最低兼容:v1.0.0 │ │ 最低兼容:v1.0.0 │ │
|
|
|
│ │ 发布日期:2026-04-01 │ │ 发布日期:2026-03-15 │ │
|
|
|
│ └──────────────────────┘ └──────────────────────┘ │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [操作栏] [新增版本] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [列表区] │
|
|
|
│ 序号 | 版本号 | 端侧 | 最低兼容版本 | 是否强制更新 | 发布日期 | 操作 │
|
|
|
│ 1 | v1.2.0 | Web | v1.0.0 | 否 | 2026-04-01| 编辑│
|
|
|
│ 2 | v1.1.0 | 小程序 | v1.0.0 | 否 | 2026-03-15| 编辑│
|
|
|
│ 3 | v1.0.0 | 小程序 | v1.0.0 | 是 | 2026-01-01| — │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [分页] 共5条 │
|
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| — | — | — | — | 无筛选条件,展示全部版本 |
|
|
|
|
|
|
### 列表字段
|
|
|
|
|
|
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|
|
|
|------|--------|------|----------|------|
|
|
|
| 1 | 序号 | 60px | — | 自增 |
|
|
|
| 2 | 版本号 | 100px | 是 | 语义化版本号 |
|
|
|
| 3 | 端侧 | 80px | 否 | Web/小程序 |
|
|
|
| 4 | 最低兼容版本 | 120px | 否 | 低于此版本需强制更新 |
|
|
|
| 5 | 是否强制更新 | 110px | 否 | 是(红色)/否(绿色) |
|
|
|
| 6 | 发布日期 | 120px | 是 | 默认倒序 |
|
|
|
| 7 | 更新说明 | 200px | 否 | 简述本次更新内容 |
|
|
|
| 8 | 操作 | 80px | — | 编辑 |
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 新增版本 | system:version:create | 操作栏 | 始终 | 弹窗 |
|
|
|
| 编辑 | system:version:update | 行操作 | 始终 | 弹窗 |
|
|
|
|
|
|
### 表单字段(新增/编辑弹窗)
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 数据来源 | 校验规则 |
|
|
|
|--------|----------|------|--------|----------|----------|
|
|
|
| 版本号 | 文本输入 | 是 | — | 自填 | 语义化版本格式(x.y.z) |
|
|
|
| 端侧 | 下拉单选 | 是 | — | 固定选项 | Web/小程序 |
|
|
|
| 最低兼容版本 | 文本输入 | 是 | — | 自填 | 语义化版本格式 |
|
|
|
| 是否强制更新 | 开关 | 是 | 否 | — | 强制更新时用户无法跳过 |
|
|
|
| 更新说明 | 多行文本 | 是 | — | 自填 | 最大500字 |
|
|
|
|
|
|
### 通知触发
|
|
|
|
|
|
| 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 |
|
|
|
|----------|----------|----------|----------|----------|
|
|
|
| 版本发布 | 小程序用户 | 小程序检测 | 下次启动时检测版本更新 | 03-小程序端 §10 / 06 §8.3 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 列表查询 | /api/v1/system/versions | GET | — |
|
|
|
| 新增 | /api/v1/system/versions | POST | — |
|
|
|
| 编辑 | /api/v1/system/versions/{id} | PUT | — |
|
|
|
| 获取最新版本 | /api/v1/system/versions/latest | GET | 小程序启动时调用 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面2:缓存管理页
|
|
|
|
|
|
**页面编号**:SA-S-02-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/system/cache
|
|
|
|
|
|
### 界面布局
|
|
|
|
|
|
```
|
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 系统配置 > 缓存管理 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [缓存状态概览] │
|
|
|
│ ┌────────────────────────────────────────────────────────────┐ │
|
|
|
│ │ Redis状态:● 已连接 内存使用:128MB/512MB 连接数:24 │ │
|
|
|
│ └────────────────────────────────────────────────────────────┘ │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [缓存模块列表] │
|
|
|
│ 模块名称 | 缓存键前缀 | 缓存条数 | 最后更新时间 | 操作 │
|
|
|
│ 权限缓存 | perm:* | 1,234 | 10:30:25 | [清理] │
|
|
|
│ 字典缓存 | dict:* | 56 | 09:00:00 | [清理] │
|
|
|
│ 菜单缓存 | menu:* | 120 | 09:00:00 | [清理] │
|
|
|
│ 业务缓存 | biz:* | 0 | — | [清理] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [操作栏] [全部清理] │
|
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 清理(单模块) | system:cache:update | 行操作 | 始终 | 二次确认后清理指定模块缓存 |
|
|
|
| 全部清理 | system:cache:update | 操作栏 | 始终 | 二次确认后清理全部缓存 |
|
|
|
|
|
|
### 缓存模块说明
|
|
|
|
|
|
| 模块 | 缓存键前缀 | 过期策略 | 刷新机制 | 文档来源 |
|
|
|
|------|------------|----------|----------|----------|
|
|
|
| 权限缓存 | perm:* | 2小时TTL | 权限变更时实时刷新(Redis Pub/Sub) | 06 §5.3 / 03-超级管理员 §9 |
|
|
|
| 字典缓存 | dict:* | 24小时TTL | 字典变更时手动/自动刷新 | 06 §5.3 |
|
|
|
| 菜单缓存 | menu:* | 24小时TTL | 菜单变更时手动/自动刷新 | 06 §5.3 |
|
|
|
| 业务缓存 | biz:* | 按需懒加载 | 不缓存,实时查询 | 06 §5.3 |
|
|
|
|
|
|
### 通知触发
|
|
|
|
|
|
| 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 |
|
|
|
|----------|----------|----------|----------|----------|
|
|
|
| 缓存清理 | 在线用户 | WebSocket推送 | 提示刷新页面 | 03-超级管理员 §9 |
|
|
|
| 权限缓存清理 | 在线用户 | Redis Pub/Sub | 刷新权限缓存 | 03-超级管理员 §9 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 缓存状态 | /api/v1/system/cache/status | GET | Redis连接状态+各模块缓存统计 |
|
|
|
| 清理单模块 | /api/v1/system/cache/clear/{module} | POST | 清理指定模块缓存 |
|
|
|
| 全部清理 | /api/v1/system/cache/clear-all | POST | 清理全部缓存 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 需求追溯
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| SA-S-01 | 系统版本管理 | 02-超级管理员 §3 / 03-超级管理员 §9 | 版本发布→小程序检测更新 | 小程序端版本更新提示(MP-C-05) |
|
|
|
| SA-S-02 | 缓存管理 | 02-超级管理员 §3 / 03-超级管理员 §9 | 清理缓存→通知在线用户刷新 | 权限管理(权限缓存清理) / 物业系统配置(字典缓存) |
|
|
|
|
|
|
## 业务规则
|
|
|
|
|
|
1. **版本更新策略**:小版本更新提示用户可选更新,大版本更新(低于最低兼容版本)强制更新(来源:03-小程序端 §10 / 06 §8.3)
|
|
|
2. **SDK依赖校验**:小程序启动时校验蓝牙SDK、微信SDK等关键依赖版本(来源:03-小程序端 §10)
|
|
|
3. **缓存自动清理**:系统启动时自动全量清理缓存,权限变更时定向清理权限缓存(来源:03-超级管理员 §9 / 06 §8.4)
|
|
|
4. **缓存手动清理**:超级管理员可按模块清理缓存,清理后通知在线用户刷新页面(来源:03-超级管理员 §9)
|
|
|
5. **权限缓存TTL降级**:Redis连接断开时,权限缓存2小时TTL到期后自动刷新(来源:06 §3.1)
|