77 lines
4.5 KiB
Markdown
77 lines
4.5 KiB
Markdown
# 报告短片:下载到本地(产品说明)
|
||
|
||
> 状态:**已实现**(微信小程序「保存视频」+ H5「下载短片」);App 内 WebView 仍为后续。
|
||
> 目标:宠主/店员在报告页将**已生成成功的回顾短片**保存到相册或系统下载目录,便于私发、二次剪辑或留存。
|
||
|
||
---
|
||
|
||
## 与当前实现同步(工程 · 2026-04)
|
||
|
||
| 端 | 入口文案 | 行为摘要 |
|
||
|----|-----------|----------|
|
||
| **微信小程序** | **「保存视频」**(仅 `highlight_video_status === done` 且有效 URL) | 用户点击 → `downloadFile` → `saveVideoToPhotosAlbum`;失败含域名未配置、权限引导;页内提示**右上角「···」转发本页**;分享小程序卡片仍用底部「转发给宠主」。 |
|
||
| **H5 报告页** | **「下载短片」** | 优先 `fetch` 同源/CORS 视频为 Blob 触发浏览器下载;失败则**复制视频链接**并说明可在浏览器打开或右上角分享。 |
|
||
|
||
**前置条件与验收**仍以下文 §2、§6 为准;若产品与研发口径冲突,以本表与 `reportView.vue` 实际交互为准。
|
||
|
||
---
|
||
|
||
## 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. 验收标准(建议)
|
||
|
||
1. 成片成功状态下,用户可一键触发保存/下载,**无需**额外登录(与当前报告 token 访问策略一致)。
|
||
2. 保存成功后在系统相册(或浏览器下载目录)中**可找到**对应 mp4。
|
||
3. 权限拒绝、网络错误、资源 404 等均有明确提示,**不出现**白屏或无反馈。
|
||
4. 生成中、未生成、失败时**不出现**下载入口,或置灰并说明原因。
|
||
|
||
---
|
||
|
||
## 7. 与仓库文档的关系
|
||
|
||
- 《产品设计文档》§5.5 H5 报告页「分享能力」可后续增补「保存视频」一条。
|
||
- 《本期主线-下一步产品优化点》中 **B. 成片** 的传播属性可与本说明交叉引用。
|
||
|
||
---
|
||
|
||
*实现细节(接口域名、小程序 downloadFile 合法域名、H5 跨域、视频格式)由运维与研发按环境配置;本文定产品与验收口径。*
|