5.1 KiB
5.1 KiB
报告短片:下载到本地(产品说明)
状态:已实现(微信小程序「保存视频」+ H5「下载短片」);App 内 WebView 仍为后续。
目标:宠主/店员在报告页将已生成成功的回顾短片保存到相册或系统下载目录,便于私发、二次剪辑或留存。
与当前实现同步(工程 · 2026-04)
| 端 | 入口文案 | 行为摘要 |
|---|---|---|
| 微信小程序 | 「保存视频」(仅 highlight_video_status === done 且有效 URL) |
用户点击 → downloadFile → saveVideoToPhotosAlbum;失败含域名未配置、权限引导;页内提示右上角「···」转发本页;分享小程序卡片仍用底部「转发给宠主」。 |
| H5 报告页 | 「下载短片」 | 优先 fetch 同源/CORS 视频为 Blob 触发浏览器下载;失败则复制视频链接并说明可在浏览器打开或右上角分享。 |
前置条件与验收仍以下文 §2、§6 为准;若产品与研发口径冲突,以本表与 reportView.vue / ReportHighlightBlock.vue 实际交互为准。
生成短片(与「下载/保存」不同)
- 报告页「服务回顾短片」:先选编排方式(预设顺序 / 穿插成片),再点 「生成短片」。成片 时长随素材量与门店配置的总时长上限变化,不提供固定 15 秒 / 30 秒选项(与《洗美报告短视频成片方案》§0、《产品改进建议》修订备忘一致)。
- 展示端:微信小程序 使用
pages/report-view/reportView.vue;H5 独立链接report.html使用views/ReportView.vue,二者均挂载同一套ReportHighlightBlock组件,避免一端仍是旧交互。
1. 是否要做
建议做。 成片的核心价值之一是可带走、可转发;仅在线播放而不提供「保存」,会削弱传播与留存,尤其在微信生态外分享、或用户希望「先存再发」时。
2. 前置条件
- 仅当
highlight_video_status === done且存在有效 成片 URL 时展示下载入口。 - 生成中 / 失败:不展示下载;失败态沿用现有「重试生成」等能力,不误导为可下载。
3. 端与能力差异
| 场景 | 常见实现要点 | 产品注意 |
|---|---|---|
| 微信小程序内嵌报告页 | 使用 video 组件 + 用户触发后调 wx.downloadFile → wx.saveVideoToPhotosAlbum(或等价 API);需处理相册权限授权失败文案 |
必须用户主动点击(入口「保存视频」),符合平台规范;首次需说明用途 |
| H5 报告页 | 同源或可 CORS 的视频 URL:fetch blob 触发下载;跨域受限时可服务端 Content-Disposition 或代理(可选增强) |
若视频在另一域名(如 CDN/API 域名),需配置 CORS 等;失败时提供「复制链接到浏览器打开」类降级(已实现) |
| App 内 WebView | 与容器约定是否允许下载/保存相册 | 暂无 App 时可标为后续 |
产品结论:小程序与 H5 均已按上表实现全量能力(入口、loading、成功/失败反馈一致);两端差异仅来自平台能力(相册 vs 本机下载),不作为「一端全量、一端仅兜底」的阶段性策略。可选后续:独立下载接口、CDN 防盗链与签名 URL,由运维与研发按环境评估。
4. 交互与文案
- 入口名称:建议统一为 「保存视频」 或 「下载短片」(与「生成短片」区分)。
- 位置:成片播放器旁或下方,与「分享」并列(若本期有分享能力)。
- 过程:点击 → loading(短)→ 成功 toast「已保存到相册」/「已开始下载」;失败 toast 可理解原因(权限拒绝 / 网络 / 格式不支持),不暴露技术栈。
- 权限:小程序拒绝相册权限时,引导用户去设置页,单次即可,勿连环弹窗。
5. 合规与品牌
- 视频内容为门店服务记录,下载行为视为用户自行保存;对外页已有隐私与转发提示的,与《产品改进建议》§八 一致即可。
- 若短片含水印/门店标识,下载文件与在线播放一致,无需单独说明。
6. 验收标准(建议)
- 成片成功状态下,用户可一键触发保存/下载,无需额外登录(与当前报告 token 访问策略一致)。
- 保存成功后在系统相册(或浏览器下载目录)中可找到对应 mp4。
- 权限拒绝、网络错误、资源 404 等均有明确提示,不出现白屏或无反馈。
- 生成中、未生成、失败时不出现下载入口,或置灰并说明原因。
7. 与仓库文档的关系
- 《产品设计文档》§5.5 H5 报告页「分享能力」可后续增补「保存视频」一条。
- 《本期主线-下一步产品优化点》中 B. 成片 的传播属性可与本说明交叉引用。
实现细节(接口域名、小程序 downloadFile 合法域名、H5 跨域、视频格式)由运维与研发按环境配置;本文定产品与验收口径。