6.7 KiB
6.7 KiB
用户分享功能设计
分享系统设计方案
版本: v1.0
状态: 已落地(MVP 完成,T7.1-T7.5 全部完成)
最后更新: 2026-06-30
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 分享链接系统
数据模型
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. 相关文档
决策记录:
- D001: 不做小程序卡片分享(小程序已放弃)
- D002: 优先做链接分享(最通用)
- D003: 默认权限为"评论"(平衡开放与控制)