275 lines
6.7 KiB
Markdown
275 lines
6.7 KiB
Markdown
# 用户分享功能设计
|
||
|
||
## 分享系统设计方案
|
||
|
||
**版本**: v1.0
|
||
**状态**: 已落地(MVP 完成,持续演进)
|
||
**最后更新**: 2026-06-13
|
||
|
||
---
|
||
|
||
## 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: 默认权限为"评论"(平衡开放与控制)
|