feat: 任务 3.14 一键生成功能前端对接 TTS API #172
Reference in New Issue
Block a user
Delete Branch "feature/task-314-tts-integration"
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?
任务 3.14:一键生成功能前端对接
变更内容
新增
src/api/tts.ts:TTS 语音合成 API 模块/api/v1/tts/*端点(synthesize, jobs, status, delete)GeneratePage.tsx对接真实 APIMOCK_VOICES→fetchPresetVoices()API + loading/empty 状态Audio播放(使用preview_url)synthesizeSpeech()+ 轮询getTTSJobStatus()voice_clone_profile_id技术细节
useMutation管理 TTS 合成请求useEffect轮询 TTS 任务状态(2s 间隔,终态 completed/failed/cancelled)PresetVoiceItem.voice_id作为标识(非id)依赖
🔍 代码审查结果
结论: ✅ 有条件通过(0 P0 / 0 P1 / 2 P2 / 4 P3)
✅ 亮点
⚠️ P2 问题
P2-1: 「上传录音文件」按钮无行为
自定义录制模式下的上传按钮没有 onClick 处理,点击无反应。建议添加文件选择或 Toast 提示"功能开发中"。
P2-2: 视频生成轮询无组件卸载清理(内存泄漏)
handleGenerate 中的 setTimeout 轮询 generation-status 存在 progressTimer.current 中,但无 useEffect cleanup。用户导航离开后轮询继续执行并 setState。建议添加卸载清理。
P3 建议
整体质量良好,2 个 P2 建议修复但不阻塞合并。