fix: 模板生成计划时配置字段漏传 - export水印 + 调速speed_ratio + clip config透传 #501
Reference in New Issue
Block a user
Delete Branch "fix/template-config-propagation"
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?
问题
PlanGeneratorService 从模板生成剪辑计划时,多个配置字段未正确传递,导致P0效果层验证时调速、水印等不生效。
修复内容
1. 导出级配置漏传(P0)
_build_plan_config只继承了 cover/title/subtitle/bgm,漏掉了 export 和 filter:修复:继承列表增加 export、filter
2. 片段级调速漏传(P0)
_create_clips_from_configs创建 EditPlanClip 时:clip_config.config.speed_ratio并映射到clip.playback_speedclip_config.config整体未传递到clip.config修复:
cfg.config读取 speed_ratio / playback_speed,映射到 playback_speed3. 字幕/ASR配置
确认 subtitle 已在原有继承列表中,ASR自动字幕配置(auto_generated)正常传递。
测试
新增 7 个单元测试,全部通过:
关联 #406
🚀 预览环境已部署
代码审查结果 - PR #501
⚠️ 问题(1个需要修改)
playback_speed解析逻辑存在边界条件错误,使用or 1.0会导致值为0.0时被强制重置为1.0。0.0为假值。如果业务逻辑支持0.0(通常表示暂停/定格效果),该代码会错误地将其修正为1.0。此外,若speed_ratio为0.0也会被错误覆盖。None,例如:💡 建议(2个可选)
apps/api/app/services/plan_generator_service.py 第154行:模板配置字典直接赋值存在引用共享风险。
plan_config[key] = template_config[key]是浅拷贝,直接传递了字典引用。如果后续逻辑修改了plan_config中的配置(如export),且template对象被缓存或复用,会导致原始模板配置被意外修改。copy.deepcopy()或字典解包{**template_config[key]}进行拷贝,确保数据隔离。apps/api/app/services/plan_generator_service.py 第202行:片段配置
clip_cfg直接传递存在副作用风险。config=clip_cfg直接传入了cfg.config的引用。若EditPlanClip.create内部或后续修改了该字典,可能会影响原始的cfg对象(如果它是共享的)。clip_cfg.copy()。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 15:34:24 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #501 已关闭或合并,对应的预览环境已被清理。