feat: 新增分享功能和后台管理设计

新增功能设计文档:

1. docs/SHARING_DESIGN.md - 用户分享功能设计
   - 分享方式:链接/图片/PDF
   - 权限控制:只读/评论/编辑三级权限
   - 隐私保护:数据脱敏分级
   - 撤销分享与访问统计
   - 短链接系统技术方案

2. docs/ADMIN_DESIGN.md - 管理后台设计
   - 仪表盘:核心指标与实时告警
   - 用户管理:查看/筛选/导出
   - 案例管理:CRUD与审核
   - 规则管理:省份规则配置
   - 数据监控:用户行为与地域分布
   - 系统日志:操作审计
   - RBAC权限:5级角色权限矩阵

3. 更新PRD:新增F016分享、F017管理后台功能
4. 更新Roadmap:v2.3阶段集成分享与后台功能

目标时间:2027年Q2 (v2.3阶段)
This commit is contained in:
Hermes Agent
2026-06-11 22:14:27 +08:00
parent 083b65f780
commit ecaccf37d5
4 changed files with 724 additions and 5 deletions

432
docs/ADMIN_DESIGN.md Normal file
View File

@@ -0,0 +1,432 @@
# 管理后台设计
## 管理端系统架构与功能
**版本**: v1.0
**状态**: 设计中
**最后更新**: 2026-06-11
---
## 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

274
docs/SHARING_DESIGN.md Normal file
View File

@@ -0,0 +1,274 @@
# 用户分享功能设计
## 分享系统设计方案
**版本**: v1.0
**状态**: 设计中
**最后更新**: 2026-06-11
---
## 1. 功能概述
### 1.1 需求背景
用户希望将生成的志愿方案分享给:
- 家人(父母、配偶)
- 老师/规划师
- 朋友(征求意见)
- 朋友圈/社交群组(案例展示)
### 1.2 核心场景
| 场景 | 分享对象 | 分享内容 | 权限需求 |
| -------- | --------- | -------- | -------------- |
| 家庭决策 | 爸爸妈妈 | 完整方案 | 可查看、可评论 |
| 征求意见 | 老师/朋友 | 方案摘要 | 仅查看、提建议 |
| 案例展示 | 朋友圈/群 | 脱敏版本 | 仅展示 |
| 备份存档 | 自己邮箱 | 完整报告 | 永久保存 |
---
## 2. 分享方式
### 2.1 分享类型
| 类型 | 格式 | 适用场景 | 技术方案 |
| -------------- | ------- | ------------- | --------------- |
| **链接分享** | URL | 微信/短信分享 | 短链接+访问权限 |
| **图片分享** | PNG/JPG | 朋友圈/社交 | HTML转图片 |
| **PDF分享** | PDF文件 | 邮箱/微信文件 | 报告附件 |
| **小程序卡片** | (不做) | - | 跳过 |
| **HTML嵌入** | iframe | 博客/网站 | 嵌入代码 |
### 2.2 链接分享(核心)
#### 设计方案
```
分享链接结构:
https://gk.example.com/s/ABC123DEF
链接特点:
- 短链接6-10位随机字符
- 带权限控制(只读/评论/编辑)
- 有效期可选(永久/7天/30天
- 访问密码可选
```
#### 权限级别
| 权限 | 功能 | 适用场景 |
| -------- | -------------- | -------------------- |
| **只读** | 查看方案 | 朋友圈展示、老师查看 |
| **评论** | 查看+评论建议 | 征求家人意见 |
| **编辑** | 查看+修改 | 家庭协作编辑 |
| **完全** | 查看+编辑+删除 | 仅自己 |
### 2.3 图片分享
#### 设计样式
```
分享图片规格:
尺寸: 1080 x 1920px (手机海报)
1200 x 630px (社交卡片)
内容构成:
┌─────────────────────┐
│ 高考志愿填报方案 │
│ 考生:张** │
├─────────────────────┤
│ │
│ [位次/分数图表] │
│ │
│ 推荐院校TOP3: │
│ 1. XX大学 │
│ 2. XX学院 │
│ 3. XX学校 │
│ │
├─────────────────────┤
│ 扫码查看完整方案 │
│ [二维码] │
│ Powered by 龙老师 │
└─────────────────────┘
```
### 2.4 PDF分享
#### 功能
- 一键下载PDF报告
- 邮件发送PDF
- 微信发送PDF文件
---
## 3. 技术实现
### 3.1 分享链接系统
#### 数据模型
```python
class ShareLink:
id: str # 短链接ID (ABC123)
report_id: str # 关联报告ID
owner_id: str # 创建者ID
permission: str # read/comment/edit
password: str? # 访问密码(可选)
expires_at: datetime? # 过期时间(可选)
access_count: int # 访问统计
created_at: datetime
```
#### 访问控制流程
```
用户点击分享链接
检查链接是否存在
检查是否过期
检查是否需要密码
记录访问日志
根据权限显示不同界面
```
### 3.2 分享生成流程
```
用户点击"分享"按钮
弹出分享选项
选择分享类型(链接/图片/PDF
设置权限(只读/评论/编辑)
生成分享内容
复制到剪贴板/直接分享
```
---
## 4. 权限与隐私
### 4.1 隐私保护
| 隐私级别 | 脱敏内容 | 适用场景 |
| -------- | ---------------------------- | --------- |
| **完整** | 姓名/分数/位次全部显示 | 仅家人 |
| **部分** | 姓名脱敏(张\*\*)、分数显示 | 朋友/老师 |
| **完全** | 仅显示位次段、院校建议 | 公开展示 |
### 4.2 撤销分享
```
用户随时可:
1. 查看自己分享的所有链接
2. 撤销特定链接(使其失效)
3. 修改链接权限
4. 查看链接访问统计
```
---
## 5. UI设计
### 5.1 分享按钮位置
```
报告页面:
┌─────────────────────┐
│ [返回] [下载] [★]│ ← 顶部操作栏
├─────────────────────┤
│ │
│ 志愿方案内容... │
│ │
├─────────────────────┤
│ [💬 分享] [💾 保存]│ ← 底部固定按钮
└─────────────────────┘
```
### 5.2 分享弹窗
```
━━━━━━━━━━━━━━━━━━━━━━━
分享方案
━━━━━━━━━━━━━━━━━━━━━━━
分享方式:
┌─────────┬─────────┬─────────┐
│ 🔗 │ 🖼️ │ 📄 │
│ 链接 │ 图片 │ PDF │
└─────────┴─────────┴─────────┘
权限设置:
○ 只读(仅查看)
○ 评论(可提建议)☚ 默认
○ 编辑(可修改)
有效期:
○ 永久 ☚ 默认
○ 7天后失效
○ 30天后失效
[复制链接] [直接分享]
━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 6. 实现时间表
| 功能 | 版本 | 时间 | 优先级 |
| -------- | :--: | :-----: | :----: |
| 链接分享 | v2.2 | 2027 Q2 | P1 |
| PDF下载 | v2.0 | ✅ 已有 | P0 |
| 图片生成 | v2.2 | 2027 Q2 | P1 |
| 评论功能 | v2.3 | 2027 Q3 | P2 |
| 协作编辑 | v3.0 | 2028 | P3 |
---
## 7. 数据分析
### 7.1 分享统计
记录以下数据:
- 分享次数/用户
- 分享类型分布
- 链接点击率
- 访问地域分布
- 分享转化率(注册)
### 7.2 效果评估
| 指标 | 目标值 |
| -------------- | ------ |
| 分享率 | >30% |
| 链接点击率 | >50% |
| 分享带来注册率 | >10% |
---
## 8. 相关文档
- [PRD](../PRD.md) - 功能集成到PRD
- [UX_DESIGN](../UX_DESIGN.md) - 用户交互流程
- [API](../API.md) - 分享接口设计
---
**决策记录**:
- D001: 不做小程序卡片分享(小程序已放弃)
- D002: 优先做链接分享(最通用)
- D003: 默认权限为"评论"(平衡开放与控制)

View File

@@ -148,16 +148,18 @@
| F013 | 推送通知 | 填报提醒、报告更新通知 | P2 | ⏳ 规划中 |
| F014 | 实时数据 | 2026年招生计划实时对接 | P2 | ⏳ 规划中 |
| F015 | 智能推荐 | 基于AI的个性化推荐算法 | P2 | ⏳ 规划中 |
| F016 | 报告分享 | 链接/图片/PDF分享权限控制 | P1 | ⏳ 规划中 |
| F017 | 管理后台 | 用户/案例/规则/数据管理 | P1 | ⏳ 规划中 |
#### P3高级功能未来
| ID | 功能 | 描述 | 优先级 | 状态 |
| ---- | -------- | ------------------- | ------ | --------- |
| F016 | 强基计划 | 特殊类型招生支持 | P3 | 📋 待规划 |
| F017 | 艺术类 | 艺考志愿填报支持 | P3 | 📋 待规划 |
| F018 | 国际本科 | 中外合作办学支持 | P3 | 📋 待规划 |
| F019 | 大学规划 | 录取后的专业规划 | P3 | 📋 待规划 |
| F020 | 考研规划 | 本科-研究生路径规划 | P3 | 📋 待规划 |
| F018 | 强基计划 | 特殊类型招生支持 | P3 | 📋 待规划 |
| F019 | 艺术类 | 艺考志愿填报支持 | P3 | 📋 待规划 |
| F020 | 国际本科 | 中外合作办学支持 | P3 | 📋 待规划 |
| F021 | 大学规划 | 录取后的专业规划 | P3 | 📋 待规划 |
| F022 | 考研规划 | 本科-研究生路径规划 | P3 | 📋 待规划 |
### 3.3 功能详情

View File

@@ -197,6 +197,17 @@ Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
- 方案历史管理
- PWA支持可添加到桌面
- [ ] **报告分享功能**
- 链接分享(带权限控制)
- 图片分享(朋友圈海报)
- PDF下载分享
- [ ] **管理后台 v1.0**
- 仪表盘(数据统计)
- 用户管理
- 案例管理
- 规则管理
#### 9月 - AI增强
- [ ] **智能推荐升级**