feat: 任务 3.13 克隆 Modal 前端开发 #173
Reference in New Issue
Block a user
Delete Branch "feature/task-313-clone-modal"
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.13:克隆 Modal 前端开发
变更内容
新增 CloneModal 组件 (
components/voice/CloneModal.tsx)clone-modal.css)扩展 voiceClone.ts API
CreateVoiceCloneRequest新增description可选字段createVoiceClone函数传递 description 到后端集成到 VoiceLibrary.tsx
invalidateQueries)技术细节
涉及文件
src/components/voice/CloneModal.tsxsrc/components/voice/clone-modal.csssrc/api/voiceClone.tssrc/pages/voices/VoiceLibrary.tsx🟡 有条件通过 — 任务 3.13 克隆 Modal 前端开发
审查范围:4 文件(2 新增 +2 修改),+716/-5 行
✅ 优点
❌ P1(阻塞性)
P1-1:音频文件未真正上传 —
mock://URL 后端无法处理mock://filename.mp3不是有效 URL,后端 CosyVoice API 无法下载音频assets.ts中的uploadAsset()(FormData)和uploadAssetDirect()(OSS 直传)修复方案:提交前先调用
uploadAssetDirect()上传文件获取真实 URL,再传给createVoiceClone():⚠️ P2
P2-1:
description字段未传递到后端 payloadCreateVoiceCloneRequest新增了description?: stringdescription: voiceDescription.trim() || undefinedcreateVoiceClone()构造 payload 时没有包含description修复:
payload中添加description: data.descriptionP2-2:setTimeout 无组件卸载清理
useRef跟踪 timer +useEffectcleanup📝 P3
/app/my-voices)被替换为打开 CloneModal,从素材库上传音频的入口丢失。建议保留两个入口或添加引导提示建议:修复 P1-1(文件上传)+ P2-1(description 传递)后可合并。P2-2 建议一并修复。
d7007ae502to4dcadea20c🟢 PR #173 v2 复审通过
mock://假 URLuploadAsset(formData)上传文件后取uploadResult.url作为真实地址(L177-184)createVoiceClone()payload 已包含description: voiceDescription.trim() || undefined(L183)timerRef(L50)+useEffectcleanupclearTimeout(L52-57)4 文件变更,3/3 修复确认,无新增问题。可合并。