# 用户分享功能设计 ## 分享系统设计方案 **版本**: 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: 默认权限为"评论"(平衡开放与控制)