Files
gaokao-volunteer-system/docs/SHARING_DESIGN.md
Hermes Agent a8b49276e8
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
feat(share): complete poster generation and unify share CLI surface
2026-06-30 17:48:58 +08:00

6.7 KiB
Raw Blame History

用户分享功能设计

分享系统设计方案

版本: 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. 相关文档

  • PRD - 功能集成到PRD
  • UX_DESIGN - 用户交互流程
  • API - 分享接口设计

决策记录:

  • D001: 不做小程序卡片分享(小程序已放弃)
  • D002: 优先做链接分享(最通用)
  • D003: 默认权限为"评论"(平衡开放与控制)