feat: 前端对接确认生成 API (POST /tasks/{task_id}/confirm) #1310
Reference in New Issue
Block a user
Delete Branch "feat/confirm-generation-api-frontend"
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?
概述
对接后端 PR #1308 新增的确认生成 API。
改动
1. 新增 API 调用 (
confirm.ts)confirmGeneration(taskId, params)调用POST /tasks/{task_id}/confirm2. 新增类型定义
ConfirmGenerationRequest: output_width, output_height, cover_url, custom_titleConfirmGenerationResponse,ConfirmGenerationTaskItem3. 修改
useGenerateVideo.tspreviewTaskId时使用新 API(确认生成流程)previewTaskId时使用旧 API(向后兼容)请求体格式
前置条件
⚠️ 此 PR 依赖后端 PR #1308 同步到 develop 分支
后端 PR #1308 目前合并到了 main,需要先同步到 develop 后此 PR 才能正常构建和合并。
@saas后端程序 请先将 PR #1308 的改动同步到 develop 分支(cherry-pick 或新 PR)。
关联
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
代码审查结果 - PR #1310
⚠️ 问题(1个需要修改)
confirmGenerationAPI 返回了ConfirmGenerationResponse,其中包含items数组,数组内的对象应当包含新创建的正式生成任务的id。代码当前直接丢弃了返回值并调用startPolling()。如果startPolling默认继续轮询previewTaskId(预览任务),由于预览任务已完成且状态已固定,轮询将无法获取到新任务的进度,导致前端状态停滞或显示错误。response.data.items[0].id获取新任务 ID,并更新用于轮询的任务 ID 状态(或将其传给startPolling)。💡 建议(2个可选)
split("x")解析分辨率较为脆弱,如果props.videoRatio格式异常(如包含空格、非 'x' 分隔符)可能导致解析不符合预期。虽然当前有默认值兜底,但建议使用正则表达式提取数字,或增加对分隔符的校验。|| ""将undefined转换为空字符串。如果后端 API 语义中,不传字段表示“使用默认值”,而传空字符串表示“强制清空”,则此逻辑可能导致用户未设置封面/标题时,后端错误地将其清空。建议仅在值存在时才传递字段,或明确后端对空字符串的处理逻辑。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-08-09 01:08:42 | 模型:
🗑️ 预览环境已清理
PR #1310 已关闭或合并,对应的预览环境已被清理。