产品需求文档(PRD)- 视频播放模块
一、模块概述
视频播放模块是短剧平台的核心功能区域,承载剧集观看体验,同时集成互动收藏、下载、清晰度切换、选集与分享等功能,目标是提升用户停留时长、复播率及社交传播力。
二、功能结构
2.1 播放头部区域
| 元素 | 描述 |
|---|---|
| 返回按钮 | 返回上一级界面 |
| 剧集名称 | 当前剧集标题(如《闵先生你认错太太了》) |
| 当前集数 | 当前播放集(如第10集) |
2.2 视频播放核心区域
- 支持横屏 / 竖屏播放;
- 支持暂停 / 播放 / 快进 / 拖动进度条;
- 自动记录观看进度并在历史页同步更新;
- 视频播放结束后自动播放下一集。
2.3 右侧浮动功能区(竖屏)
| 功能项 | 描述 |
|---|---|
| 收藏按钮 | 当前剧集收藏状态,支持点击收藏/取消收藏(含数值展示,如259K) |
| 选集 | 打开集数列表供用户切换剧集 |
| 分享 | 打开系统分享面板(微信、朋友圈、复制链接等) |
2.4 底部操作栏
| 功能项 | 描述 |
|---|---|
| 下载按钮 | 点击后下载当前剧集到本地 |
| 清晰度选择 | 默认显示当前分辨率(如720p),点击切换清晰度(480p / 720p / 1080p) |
三、交互逻辑说明
3.1 收藏功能
- 已收藏状态为红色实心图标,未收藏为白色空心;
- 点击后立即更新状态(含数值变化);
- 收藏行为需用户登录,未登录用户点击跳转登录页。
3.2 下载功能
- 用户点击下载后弹出清晰度选择框(默认选当前);
- 下载仅限 VIP 用户,未开通提示“需订阅会员解锁下载功能”;
- 下载完成后进入“我的缓存”模块可查看/播放。
3.3 清晰度切换
- 点击清晰度按钮弹出浮层供用户选择;
- 切换后重新加载流地址,保留当前播放进度。
3.4 分享功能
- 调用系统原生分享面板;
- 埋点统计来源按钮(视频页);
- 可生成剧集短链并带参数跳回指定集数。
四、异常与边界处理
- 网络中断时显示 Toast:“网络异常,正在尝试重连”;
- 非会员观看超过试用集数时弹出弹窗引导订阅;
- 播放异常时可提供「重新加载」按钮。
五、接口需求(示意)
GET /api/drama/detail
参数:drama_id
返回:剧集详情、播放链接、清晰度选项等POST /api/favorite/toggle
参数:drama_idPOST /api/download/request
参数:drama_id, resolutionGET /api/video/play_url
参数:drama_id, resolution
返回:真实播放地址
六、埋点建议
| 事件名 | 说明 | 附加字段 |
|---|---|---|
video_play_start | 播放开始 | drama_id, episode, net_type |
video_collect_click | 点击收藏按钮 | drama_id, is_collected |
video_resolution_change | 切换清晰度 | from_res, to_res |
video_share_click | 点击分享按钮 | drama_id |
video_download_click | 点击下载 | drama_id, resolution |
七、视觉规范建议
- 收藏图标:白(未收藏) → 红(已收藏);
- 清晰度按钮居右下角小型浮窗,默认展示当前值;
- 下载按钮为“V”标识(VIP专属);
- 分享图标采用系统默认或 SVG 图标。