433 lines
22 KiB
Markdown
433 lines
22 KiB
Markdown
# 管理后台设计
|
||
|
||
## 管理端系统架构与功能
|
||
|
||
**版本**: v1.0
|
||
**状态**: 已落地(MVP 完成,持续演进)
|
||
**最后更新**: 2026-06-13
|
||
|
||
---
|
||
|
||
## 1. 概述
|
||
|
||
### 1.1 为什么要管理端?
|
||
|
||
| 需求 | 解决什么问题 |
|
||
| -------- | -------------------------- |
|
||
| 用户管理 | 查看注册用户、使用情况 |
|
||
| 内容管理 | 管理案例、规则、模板 |
|
||
| 数据监控 | 了解系统运行状态、用户行为 |
|
||
| 运营支持 | 协助用户、处理问题 |
|
||
| 质量把控 | 监控方案质量、错误检测 |
|
||
|
||
### 1.2 使用角色
|
||
|
||
| 角色 | 权限级别 | 主要操作 |
|
||
| -------------- | :------: | ---------------------------- |
|
||
| **超级管理员** | 所有权限 | 创建管理员、系统配置 |
|
||
| **产品经理** | 高 | 查看数据、导出报告、配置功能 |
|
||
| **运营人员** | 中 | 处理用户反馈、管理内容 |
|
||
| **数据分析师** | 中 | 查看统计、导出数据 |
|
||
| **客服** | 低 | 查看用户信息、协助问题 |
|
||
|
||
---
|
||
|
||
## 2. 管理端架构
|
||
|
||
### 2.1 技术方案
|
||
|
||
```
|
||
管理端架构:
|
||
├── 前端
|
||
│ ├── React/Vue (单页应用)
|
||
│ ├── Ant Design / Element Plus (UI组件库)
|
||
│ └── 响应式(支持PC端)
|
||
│
|
||
├── 后端 API
|
||
│ ├── RESTful API
|
||
│ ├── 鉴权:JWT Token
|
||
│ └── RBAC 权限控制
|
||
│
|
||
└── 数据库
|
||
├── 用户数据(只读)
|
||
├── 统计数据(聚合)
|
||
└── 操作日志
|
||
```
|
||
|
||
### 2.2 安全设计
|
||
|
||
- ✅ **独立域名/路径**: admin.gk.example.com / /admin
|
||
- ✅ **IP白名单**: 限制访问IP(可选)
|
||
- ✅ **双因素认证**: 管理员登录需2FA
|
||
- ✅ **操作审计**: 所有操作记录日志
|
||
- ✅ **数据脱敏**: 用户敏感信息脱敏显示
|
||
|
||
---
|
||
|
||
## 3. 功能模块
|
||
|
||
### 3.1 仪表盘 (Dashboard)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 今日概览 2026-06-11 │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
|
||
│ │ 新用户 │ │ 方案生成 │ │ 活跃会话 │ │
|
||
│ │ 23 │ │ 156 │ │ 8 │ │
|
||
│ │ ↑12% │ │ ↑8% │ │ ↓2% │ │
|
||
│ └───────────┘ └───────────┘ └───────────┘ │
|
||
│ │
|
||
│ ┌─────────────────┐ ┌─────────────────┐ │
|
||
│ │ 用户增长趋势 │ │ 方案生成分布 │ │
|
||
│ │ [折线图] │ │ [饼图] │ │
|
||
│ │ 近7天/30天/90天│ │ 按省份分布 │ │
|
||
│ └─────────────────┘ └─────────────────┘ │
|
||
│ │
|
||
│ ┌───────────────────────────────────────────────┐ │
|
||
│ │ 实时告警 │ │
|
||
│ │ ⚠️ 湖南规则配置已过期 (2天前) │ │
|
||
│ │ 🔴 系统错误率超过阈值 (5%) │ │
|
||
│ │ ℹ️ 新用户增速下降 (需关注) │ │
|
||
│ └───────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 核心指标
|
||
|
||
| 指标 | 计算方式 | 告警阈值 |
|
||
| --------------- | --------------- | ---------------- |
|
||
| 日活跃用户(DAU) | 当日访问用户数 | <50触发关注 |
|
||
| 新用户注册 | 当日注册用户 | <10触发关注 |
|
||
| 方案生成数 | 当日生成方案数 | 趋势下降>20%告警 |
|
||
| 规范检查错误率 | 错误数/总检查数 | >10%触发告警 |
|
||
| 平均响应时间 | API响应时长 | >3s触发告警 |
|
||
| 系统错误率 | 错误请求/总请求 | >5%触发告警 |
|
||
|
||
---
|
||
|
||
### 3.2 用户管理
|
||
|
||
```
|
||
用户列表页面:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 用户管理 [导出] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ [搜索:用户名/手机号] [省份筛选▼] [时间范围▼] [查询] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 共 1,234 位用户 第1/13页 │
|
||
│ │
|
||
│ ┌────────┬────────┬────────┬────────┬────────┬────────┐│
|
||
│ │用户ID │姓名 │手机号 │省份 │注册时间│操作 ││
|
||
│ ├────────┼────────┼────────┼────────┼────────┼────────┤│
|
||
│ │U000123│李** │138**** │湖南 │06-11 │[详情] ││
|
||
│ │U000124│张** │139**** │湖北 │06-11 │[详情] ││
|
||
│ │... │... │... │... │... │... ││
|
||
│ └────────┴────────┴────────┴────────┴────────┴────────┘│
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 功能
|
||
|
||
- 查看用户列表(脱敏显示)
|
||
- 搜索/筛选用户
|
||
- 查看用户详情(咨询记录、生成的方案)
|
||
- 导出用户数据(审批后)
|
||
- 用户状态管理(禁用/启用)
|
||
|
||
---
|
||
|
||
### 3.3 案例管理
|
||
|
||
```
|
||
真实案例库管理:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 案例管理 [新增案例] [批量导入] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 案例列表: │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ ✓ 湖南 578分 物化生 C型 会计方向 │ │
|
||
│ │ 类型:成功案例 状态:已发布 浏览:234 │ │
|
||
│ │ [查看] [编辑] [隐藏] [删除] │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ ...更多案例 │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 功能
|
||
|
||
- 添加/编辑/删除案例
|
||
- 案例分类(成功/典型/警告)
|
||
- 案例审核(发布前审核)
|
||
- 案例浏览统计
|
||
- 从真实咨询导入案例(脱敏处理)
|
||
|
||
---
|
||
|
||
### 3.4 规则管理
|
||
|
||
```
|
||
省份规则配置:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 省份规则管理 [新增省份] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ 湖南省 2026 ●│ │
|
||
│ │ 模式:院校专业组 志愿数:45 更新:2026-05-15 │ │
|
||
│ │ 规则版本: v1.2 │ │
|
||
│ │ [查看详情] [修改配置] [更新规则] [测试规则] │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ 浙江省 2026 ◐│ │
|
||
│ │ 模式:专业+学校 志愿数:80 更新:2026-05-15 │ │
|
||
│ │ 规则版本: v1.1 │ │
|
||
│ │ [查看详情] [修改配置] [更新规则] [测试规则] │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ 图例: ● 已验证 ◐ 待验证 ○ 草稿 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 功能
|
||
|
||
- 查看/编辑省份规则
|
||
- 规则版本管理
|
||
- 规则测试验证
|
||
- 规则更新历史
|
||
- 批量导入规则
|
||
|
||
---
|
||
|
||
### 3.5 数据监控
|
||
|
||
```
|
||
数据监控中心:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 数据监控 [导出报告] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ [实时] [24小时] [7天] [30天] │
|
||
│ │
|
||
│ ┌─────────────────┐ ┌─────────────────┐ │
|
||
│ │ 用户行为路径 │ │ 功能使用频率 │ │
|
||
│ │ [桑基图] │ │ [柱状图] │ │
|
||
│ └─────────────────┘ └─────────────────┘ │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ 省份分布热力图 │ │
|
||
│ │ [中国地图热力图] │ │
|
||
│ │ 湖南最多(234人), 湖北次之(189人)... │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────┐ │
|
||
│ │ 热门专业 TOP10 │ 热门院校 TOP10 │ │
|
||
│ │ 1. 会计学 │ 1. 湖南工商大学 │ │
|
||
│ │ 2. 计算机... │ 2. 长沙理工... │ │
|
||
│ └─────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 监控维度
|
||
|
||
| 维度 | 指标 | 展示方式 |
|
||
| ---- | ----------------- | ---------- |
|
||
| 用户 | 注册/活跃/留存 | 趋势图 |
|
||
| 地域 | 省份分布/城市分布 | 地图热力图 |
|
||
| 时间 | 使用时段/周期规律 | 时间轴 |
|
||
| 功能 | 功能使用率 | 漏斗图 |
|
||
| 内容 | 热门专业/院校 | TOP列表 |
|
||
| 转化 | 注册率/分享率 | 转化率图 |
|
||
|
||
---
|
||
|
||
### 3.6 系统日志
|
||
|
||
```
|
||
系统操作日志:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 操作日志 [筛选] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ [时间范围] [操作类型▼] [用户▼] [搜索] │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 2026-06-11 14:32:05 [INFO] 用户U00123 生成方案 │
|
||
│ 2026-06-11 14:30:12 [WARN] 系统 规则检测失败 │
|
||
│ 2026-06-11 14:28:33 [INFO] 用户U00124 注册 │
|
||
│ 2026-06-11 14:25:18 [ERROR] 系统 API超时 │
|
||
│ ... │
|
||
│ │
|
||
│ [导出日志] 第1/50页 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### 日志类型
|
||
|
||
- **用户行为日志**: 登录、查询、生成方案
|
||
- **系统运行日志**: API调用、错误、性能
|
||
- **操作审计日志**: 管理员操作记录
|
||
- **安全日志**: 异常访问、攻击检测
|
||
|
||
---
|
||
|
||
### 3.7 配置中心
|
||
|
||
```
|
||
系统配置:
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 系统配置 │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌─ 基础配置 ─────────────────────────────────────┐ │
|
||
│ │ □ 允许匿名咨询 │ │
|
||
│ │ □ 强制注册后生成方案 │ │
|
||
│ │ □ 限制单IP每日咨询次数 [50] 次 │ │
|
||
│ │ │ │
|
||
│ │ 注册默认权限: ○ 标准版 ○ 高级版 │ │
|
||
│ └──────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 分享配置 ─────────────────────────────────────┐ │
|
||
│ │ □ 链接分享默认有效期 [30] 天 │ │
|
||
│ │ □ 分享需审核 │ │
|
||
│ │ □ 公开分享水印 [龙老师志愿规划] │ │
|
||
│ └──────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 通知配置 ─────────────────────────────────────┐ │
|
||
│ │ □ 填报提醒推送 │ │
|
||
│ │ 提醒时间: [6月29日] [9:00] │ │
|
||
│ □ □ 自动发送征集志愿提醒 │ │
|
||
│ └──────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ [保存] [恢复默认] │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 权限管理 (RBAC)
|
||
|
||
### 4.1 角色权限矩阵
|
||
|
||
| 功能模块 | 超管 | 产品 | 运营 | 分析师 | 客服 |
|
||
| ------------- | :--: | :--: | :--: | :----: | :--: |
|
||
| 仪表盘 | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||
| 用户管理-查看 | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||
| 用户管理-导出 | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||
| 案例管理-CRUD | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||
| 规则管理-修改 | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||
| 数据监控-全部 | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||
| 系统日志-查看 | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||
| 系统配置 | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||
| 管理员管理 | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||
|
||
### 4.2 权限实现
|
||
|
||
```python
|
||
# 权限校验示例
|
||
@require_permission(['user:view'])
|
||
def get_user_list():
|
||
pass
|
||
|
||
@require_permission(['rule:edit'])
|
||
def update_province_rule():
|
||
pass
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 技术实现
|
||
|
||
### 5.1 前后端分离
|
||
|
||
```
|
||
管理端技术栈:
|
||
├── 前端
|
||
│ ├── React 18 / Vue 3
|
||
│ ├── Ant Design Pro / Element Plus
|
||
│ ├── ECharts (数据可视化)
|
||
│ └── Axios (HTTP请求)
|
||
│
|
||
└── 后端
|
||
├── Python FastAPI / Node.js Express
|
||
├── JWT + RBAC
|
||
├── 接口与Web端复用
|
||
└── 独立管理端鉴权
|
||
```
|
||
|
||
### 5.2 部署方案
|
||
|
||
#### 方案A:独立部署(推荐)
|
||
|
||
```
|
||
admin.gk.example.com
|
||
├── 独立前端构建
|
||
├── 独立后端服务
|
||
└── 独立域名(安全隔离)
|
||
```
|
||
|
||
#### 方案B:集成部署
|
||
|
||
```
|
||
gk.example.com/admin
|
||
├── 与Web端共享后端
|
||
├── 通过路由区分权限
|
||
└── 配置IP白名单
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 实现时间表
|
||
|
||
| 功能 | 版本 | 时间 | 优先级 |
|
||
| ---------- | :--: | :-----: | :----: |
|
||
| 基础仪表盘 | v2.2 | 2027 Q2 | P1 |
|
||
| 用户管理 | v2.2 | 2027 Q2 | P1 |
|
||
| 案例管理 | v2.2 | 2027 Q2 | P2 |
|
||
| 规则管理 | v2.2 | 2027 Q2 | P1 |
|
||
| 数据监控 | v2.3 | 2027 Q3 | P1 |
|
||
| 系统日志 | v2.3 | 2027 Q3 | P2 |
|
||
| 配置中心 | v2.3 | 2027 Q3 | P2 |
|
||
| RBAC权限 | v2.2 | 2027 Q2 | P1 |
|
||
|
||
---
|
||
|
||
## 7. 决策记录
|
||
|
||
#### D001: 管理端是否单独部署?
|
||
|
||
**决策**: 独立域名部署(admin.gk.example.com)
|
||
**理由**: 安全隔离,便于权限控制
|
||
|
||
#### D002: 用什么前端框架?
|
||
|
||
**决策**: Ant Design Pro (React)
|
||
**理由**: 成熟的后台管理模板,中文文档完善
|
||
|
||
#### D003: 是否支持数据导出?
|
||
|
||
**决策**: 支持,但需审批
|
||
**理由**: 脱敏后的汇总数据可以导出,保护用户隐私
|
||
|
||
---
|
||
|
||
## 8. 相关文档
|
||
|
||
- [PRD](../PRD.md) - 产品需求文档
|
||
- [UX_DESIGN](../UX_DESIGN.md) - 用户端设计
|
||
- [SHARING_DESIGN](../SHARING_DESIGN.md) - 分享功能设计
|
||
|
||
---
|
||
|
||
**下一步**: 将管理端需求整合到PRD和Roadmap
|