feat(media): 支持后台转码配置与缩略图轴
This commit is contained in:
1 parent
70da939a58
commit
316baf28d6
39 files changed
+1523
-38
No files matched your search
@@ -24740,3 +24740,74 @@ mvn -pl fruitshorts-admin-api -am test
|
||||
|
||||
解读:已推送历史不改写;身份合规靠命令级覆盖防复发;本条仅文档留痕,无代码改动。
|
||||
|
||||
---
|
||||
|
||||
## 2026-10-22 | 转码档位配置、雪碧图与播放缩略图轴
|
||||
|
||||
### 开工确认与计划
|
||||
|
||||
- 仓库:FruitServer
|
||||
- 基线:`develop` / `origin/develop` = `70da939`
|
||||
- 工作区:开工前干净
|
||||
- 分支:`feature/media-transcode-profile-sprite`
|
||||
- 计划:`docs/plans/2026-10-22-media-transcode-profile-sprite.md`
|
||||
|
||||
```text
|
||||
$ git status --short --branch && git rev-parse --short HEAD
|
||||
## develop...origin/develop
|
||||
70da939
|
||||
```
|
||||
|
||||
解读:基于指定 develop 基线创建隔离工作树。现有权限点无 `media:transcode`,
|
||||
本次复用 `episode:upload`,不新增菜单或权限初始化数据。
|
||||
|
||||
### 实现与门禁
|
||||
|
||||
- 新增 `media.transcode.profile` JSON 模型、统一校验与 30 秒 worker 缓存;
|
||||
后台 GET 每次直读,PUT 校验通过后才写 `sys_config`。
|
||||
- 新增幂等迁移 `sql/patch-2026-10-22-media-thumbnail.sql`,包含该表、
|
||||
唯一索引、更新时间触发器与默认四档配置;同步 `schema-phase1.sql` / `data-phase1.sql`。
|
||||
- worker 产出 `thumbnails/thumbnails.vtt` 与按需多张 `sprite_%03d.jpg`;
|
||||
失败以 `media_thumbnail.status=FAILED`、`error_msg` 留存,主 HLS 仍成功。
|
||||
- 播放与详情增加 `thumbnailsUrl`;详情按剧集 ID 批量查询后统一签名。
|
||||
- 首次 reactor 测试暴露 4 个既有 App 测试未跟随 `DramaService` 新增
|
||||
`EpisodePriceSync` 构造参数,已在测试准备代码补齐替身,未改内容服务生产逻辑。
|
||||
|
||||
```text
|
||||
$ mvn -pl fruitshorts-transcode-worker,fruitshorts-admin-api,fruitshorts-app-api -am -DskipTests compile
|
||||
[INFO] fruitshorts-module-media ............................ SUCCESS
|
||||
[INFO] fruitshorts-admin-api ............................... SUCCESS
|
||||
[INFO] fruitshorts-app-api ................................. SUCCESS
|
||||
[INFO] fruitshorts-transcode-worker ........................ SUCCESS
|
||||
[INFO] BUILD SUCCESS
|
||||
```
|
||||
|
||||
解读:新增 media→system 依赖和全部生产代码编译通过。
|
||||
|
||||
```text
|
||||
$ mvn -pl fruitshorts-transcode-worker,fruitshorts-admin-api,fruitshorts-app-api -am test
|
||||
[INFO] Tests run: 41, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] Tests run: 103, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] BUILD SUCCESS
|
||||
```
|
||||
|
||||
解读:admin 41、app-api 103、worker 19 全过;worker 包含真实 ffmpeg smoke,
|
||||
验证 2 秒样本产出 HLS、封面、VTT 与 `sprite_001.jpg`。
|
||||
|
||||
```text
|
||||
$ mvn test
|
||||
[INFO] Reactor Summary for fruitshorts 1.0.0-SNAPSHOT:
|
||||
[INFO] fruitshorts-admin-api .............................. SUCCESS
|
||||
[INFO] fruitshorts-app-api ................................ SUCCESS
|
||||
[INFO] fruitshorts-transcode-worker ....................... SUCCESS
|
||||
[INFO] BUILD SUCCESS
|
||||
[INFO] Total time: 24.439 s
|
||||
$ sed -n '38,43p' sql/patch-2026-10-22-media-thumbnail.sql | ... | jq -e '.ladder | length == 4'
|
||||
true
|
||||
```
|
||||
|
||||
解读:仓库根全量 14 个 reactor 模块测试通过。迁移脚本按要求只写文件、
|
||||
默认配置 JSON 解析为 4 档;未执行数据库变更;未启动 8080/8081/worker,
|
||||
未操作真机,未改 Web/Flutter。
|
||||
|
||||
Reference in new issue
Block a user