feat: 字幕管理 - 增删改查 + 批量导入(基于片段config) #394
Reference in New Issue
Block a user
Delete Branch "feat/subtitle-management"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
功能
时间线字幕编辑完整后端能力。
设计
字幕存储在
clip.config["subtitles"]JSON 数组中,无需新建表和migration。每条字幕:
{id, start, end, text, style}Service 层
list_subtitles(clip_id)— 按时间排序返回所有字幕get_subtitle(clip_id, subtitle_id)— 获取单条字幕add_subtitle(clip_id, start, end, text, style)— 添加一条update_subtitle(clip_id, subtitle_id, ...)— 更新时间/文本/样式delete_subtitle(clip_id, subtitle_id)— 删除一条batch_update_subtitles(clip_id, subtitles)— 全量替换(SRT导入/ASR结果导入用)API
GET /edit-plans/clips/{id}/subtitles— 列表POST /edit-plans/clips/{id}/subtitles— 新增PUT /edit-plans/clips/{id}/subtitles/{sid}— 更新DELETE /edit-plans/clips/{id}/subtitles/{sid}— 删除PUT /edit-plans/clips/{id}/subtitles— 批量更新全部带项目级权限校验。
测试
66 passed(原50 + 新增16),零回归
3f811e7087toad0263c3772ecd7e4857tob4811e33caCI全绿,自动审批通过。
4f51515058tob24544d624b24544d624to0cd99e1e630cd99e1e63toc5dc2f0a5cc5dc2f0a5cto7d644eb584