fix: 上传音频弹窗修复 — 去掉性别选择 + 优化错误提示 + 更新文案 #1258

Merged
auto-approve-bot merged 2 commits from fix/voice-upload-remove-gender into develop 2026-08-07 13:36:00 +08:00
Owner

修复4个问题

问题1:去掉音色性别选择

上传的音频是真实可用的配音素材,不是音色,不需要选择性别。

  • 删除 FormFields.tsx 中的性别选择区域
  • 删除 types.ts 中的 GENDER_OPTIONS 常量
  • 删除 useVoiceUpload.ts 中的 uploadGender 状态
  • createAsset 的 metadata 不再传 gender 字段

问题2:上传成功后弹窗自动关闭

onSuccess 回调中已调用 handleUploadClose(),确认所有成功路径都会触发关闭。

问题3:上传错误提示优化

  • 后端 502 时提示"服务器暂时不可用,请稍后重试"
  • 其他错误显示 err.message

问题4:明确上传音频用途

  • 弹窗标题改为"上传配音素材"
  • 表单标签改为"配音名称"/"配音描述"
  • placeholder 更新为"输入配音名称"/"描述这段配音的内容..."
## 修复4个问题 ### 问题1:去掉音色性别选择 上传的音频是真实可用的配音素材,不是音色,不需要选择性别。 - 删除 FormFields.tsx 中的性别选择区域 - 删除 types.ts 中的 GENDER_OPTIONS 常量 - 删除 useVoiceUpload.ts 中的 uploadGender 状态 - createAsset 的 metadata 不再传 gender 字段 ### 问题2:上传成功后弹窗自动关闭 onSuccess 回调中已调用 handleUploadClose(),确认所有成功路径都会触发关闭。 ### 问题3:上传错误提示优化 - 后端 502 时提示"服务器暂时不可用,请稍后重试" - 其他错误显示 err.message ### 问题4:明确上传音频用途 - 弹窗标题改为"上传配音素材" - 表单标签改为"配音名称"/"配音描述" - placeholder 更新为"输入配音名称"/"描述这段配音的内容..."
xiaoxia added 1 commit 2026-08-07 13:26:00 +08:00
fix: 上传音频弹窗修复4个问题
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 33s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 56s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m6s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m34s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m40s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m27s
AI Code Review / AI Code Review (pull_request) Successful in 2m9s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m46s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m24s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m49s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
c6b3b86522
1. 去掉音色性别选择 - 上传的是真实配音素材,不需要选择性别
2. 弹窗标题改为'上传配音素材',表单标签改为'配音名称'/'配音描述'
3. 上传错误提示优化 - 502时显示'服务器暂时不可用'
4. 上传成功后弹窗自动关闭(原逻辑已正确,确认无误)

涉及文件:
- useVoiceUpload.ts: 移除gender状态/参数,优化错误提示
- UploadVoiceModal.tsx: 移除gender props,更新标题
- FormFields.tsx: 删除性别选择区域,更新标签文案
- types.ts: 移除GENDER_OPTIONS和gender类型
- VoiceModals.tsx: 移除gender相关props透传
- VoiceLibrary.tsx: 移除gender相关状态传递

🚀 预览环境已部署

项目 详情
PR号 #1258
预览链接 https://pr-1258.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1258 | | 预览链接 | [https://pr-1258.preview.xiaoxiajianji.com](https://pr-1258.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-08-07 13:30:05 +08:00
fix: prettier format
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 51s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 58s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m52s
AI Code Review / AI Code Review (pull_request) Successful in 1m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m5s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m47s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m28s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m11s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 54s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m5s
a7a973dad7
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:通过
  • 建议级问题数量:2 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并合并)

  1. [useVoiceUpload.ts: 66] 错误类型定义建议

    • 具体内容:onError 回调中使用了交叉类型 Error & { response?: { status?: number } } 来断言错误对象。虽然这在运行时通常有效,但建议引入 HTTP 请求库(如 Axios)的标准错误类型(例如 AxiosError),或者定义一个明确的 ApiError 接口,以提高类型安全性和代码可维护性。
  2. [useVoiceUpload.ts: 53] 函数调用一致性检查

    • 具体内容:代码中移除了传递给 buildVoiceMetadatagender 参数。请确保 buildVoiceMetadata 函数(定义在 ../types 中)的签名已同步更新,将该参数标记为可选或移除,否则会导致编译错误或运行时参数缺失。

良好实践

  1. 状态清理彻底:在移除 uploadGender 功能时,完整地清理了相关的 State、Props、Type 定义、UI 组件以及 Hook 依赖,没有遗留无用代码,代码清理质量很高。
  2. 错误处理优化:在 useVoiceUpload.tsonError 中增加了对 HTTP 5xx 错误的特定判断,提供了更友好的用户提示("服务器暂时不可用"),比直接展示原始错误信息体验更好。
  3. 输入数据清洗:在调用 mutate 时使用了 .trim()namedescription 进行处理,有效防止了用户提交包含首尾空格的数据。

格式检查通过 | 逻辑审查通过 | 性能无明显问题


🤖 由 AI 代码审查机器人自动生成 | 2026-08-07 05:31:59 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:2 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并合并) 1. **[useVoiceUpload.ts: 66] 错误类型定义建议** - 具体内容:`onError` 回调中使用了交叉类型 `Error & { response?: { status?: number } }` 来断言错误对象。虽然这在运行时通常有效,但建议引入 HTTP 请求库(如 Axios)的标准错误类型(例如 `AxiosError`),或者定义一个明确的 `ApiError` 接口,以提高类型安全性和代码可维护性。 2. **[useVoiceUpload.ts: 53] 函数调用一致性检查** - 具体内容:代码中移除了传递给 `buildVoiceMetadata` 的 `gender` 参数。请确保 `buildVoiceMetadata` 函数(定义在 `../types` 中)的签名已同步更新,将该参数标记为可选或移除,否则会导致编译错误或运行时参数缺失。 ### ✅ 良好实践 1. **状态清理彻底**:在移除 `uploadGender` 功能时,完整地清理了相关的 State、Props、Type 定义、UI 组件以及 Hook 依赖,没有遗留无用代码,代码清理质量很高。 2. **错误处理优化**:在 `useVoiceUpload.ts` 的 `onError` 中增加了对 HTTP 5xx 错误的特定判断,提供了更友好的用户提示("服务器暂时不可用"),比直接展示原始错误信息体验更好。 3. **输入数据清洗**:在调用 `mutate` 时使用了 `.trim()` 对 `name` 和 `description` 进行处理,有效防止了用户提交包含首尾空格的数据。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能无明显问题 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-08-07 05:31:59 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot approved these changes 2026-08-07 13:32:34 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-08-07 13:32:34 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit df8325542d into develop 2026-08-07 13:36:00 +08:00
auto-approve-bot deleted branch fix/voice-upload-remove-gender 2026-08-07 13:36:01 +08:00

🗑️ 预览环境已清理

PR #1258 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1258 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.