You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
11 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 系统配置
> 模块编码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