视觉按最新原型,业务按已确认PRD。现有代码为满足设计而改造。执行见按设计实施与任务卡;当前代码与验证范围见消费者功能页。
缓存清晰度开发
本页目录
2026-10-04。已修改两个现有项目的业务代码,未发布业务站、App 或 OTA。
选集页提供自动、720p、480p,默认720p;确认页和队列保留所选偏好。API同时支持1080p,当前界面按设计稿保留三个选项。没有画质元数据的单一MP4下载原文件;来源缺少对应版本时使用可用版本,不在网站转码或存储视频。
订单的已有JSON字段保存清晰度,无新增数据库迁移。订单重试使用原ID和原选择;改画质要建立新订单,有效许可内仍复用原集解锁、不重复扣次、不延长到期。旧订单未设置的字段保持省略,原请求可以继续恢复。
Android复用Media3 DownloadHelper,按视频短边处理横屏和竖屏,从支持的版本中选一个,再持久化对应的stream key。iOS复用AVFoundation下载配置,优先精确画质,再尝试较小版本;没有匹配时由系统选择现有版本。两端继续沿用账号隔离、有效期、Wi-Fi与暂停规则。Android下载选轨、Apple下载画质偏好。
原生入口为 enqueueWithOptions,App的runtimeVersion为6;旧安装包缺少此入口时,在申请下载许可前停止。需要重新构建安装包,旧包不能只更新JS获取能力。iOS首次创建缓存目录时的目录标记误判也已修正;实际符号链接仍拒绝。
| 验证 | 结果及范围 |
|---|---|
| 平台 | 全量254/254;隔离PostgreSQL、真实Better Auth与Go联测;含画质订单重试、原许可与扣次保持 |
| App | 全量319/319,类型检查通过;实际React双语选择、传输、旧队列恢复;网络与原生调用为明确适配器 |
| Android | 实际Media3、SQLite与缓存24/24;多版本HLS只保存所选stream key;媒体字节与设备解码能力为明确夹具 |
| Apple SDK | 实际macOS Foundation/AVFoundation编译及141项检查;原生策略、持久记录、本地AVPlayer及画质谓词;不等于完整iOS构建或后台真机验收 |
| 浏览器 | 实际RN选集页通过react-native-web在Chrome验证,中英文各320/390px;选择、确认、提交正常,无横向溢出 |
| 代码构建 | Go当前程序构建、Android/iOS Hermes导出成功;不是完整新安装包 |
| 原生补丁 | 干净react-native-video 6.19.2应用成功,21个源文件与开发目录一致,不含构建产物 |
中文选集 · 英文窄屏确认。截图使用示例数据,不代表真实渠道已下载。
本轮由主实现者复查,没有新增独立子Agent复审。缓存100集/2GB总容量、完整体积预估、未开始选集的后台调度、缓存下载失败后转发、真实来源与手机验收仍待完成;网页在线直连失败后的转发不等于已支持下载转发。
可导入验证函数:tests/ios-offline-sdk.cjs:runIOSOfflineSDKTests(options)、tests/offline-native.cjs:runOfflineNativeTests(options)。最新日志在工作目录 work/existing-project/offline-quality-*。