fix(clone): 克隆音色「去配音库上传」跳转修复 #1652

Merged
xiaoxia merged 2 commits from fix/clone-modal-upload-redirect into develop 2026-09-03 17:29:53 +08:00
Owner

问题

克隆音色弹窗中点击「去配音库上传」跳转到 /app/voice-materials(多余的旧配音素材页面)。

修复

改为跳转到 /app/voices?tab=material&upload=1,即配音库页面素材Tab,并自动打开上传弹窗。

与 Step5VoiceSelect 的「去配音库上传」行为保持一致。

## 问题 克隆音色弹窗中点击「去配音库上传」跳转到 `/app/voice-materials`(多余的旧配音素材页面)。 ## 修复 改为跳转到 `/app/voices?tab=material&upload=1`,即配音库页面素材Tab,并自动打开上传弹窗。 与 Step5VoiceSelect 的「去配音库上传」行为保持一致。

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1652 | | 预览链接 | [https://pr-1652.preview.xiaoxiajianji.com](https://pr-1652.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-09-03 17:10:29 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-03 17:10:29 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
Collaborator

Auto merge skipped after multiple 405 errors: PR may have conflicts or unresolved checks. Please review manually. This is not a CI failure.

Auto merge skipped after multiple 405 errors: PR may have conflicts or unresolved checks. Please review manually. This is not a CI failure.
xiaoxia added 2 commits 2026-09-03 17:26:20 +08:00
fix(voices): 修复 upload=1 参数未清理导致 Tab 切换被强制回 material 的问题
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped 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 / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 34s
AI Code Review / AI Code Review (pull_request) Successful in 1m8s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m21s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m34s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m35s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m48s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m9s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m46s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 8s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 32s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m22s
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 / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Deploy 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 3s
bba22483c8
xiaoxia force-pushed fix/clone-modal-upload-redirect from 961c067828 to bba22483c8 2026-09-03 17:26:20 +08:00 Compare
Collaborator

【阻塞级判定】

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

📊 审查概览

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

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

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

良好实践

  1. [VoiceLibrary.tsx] 一次性触发器逻辑
    • 具体内容:在 useEffect 中检测到 upload 参数并执行了相应逻辑后,立即通过 setSearchParams 清除该参数。这种“触发即清理”的模式有效避免了后续组件重渲染或 Tab 切换时重复触发弹窗,是处理 URL 参数触发状态变更的最佳实践。
  2. [VoiceLibrary.tsx] 使用 replace: true
    • 具体内容:在更新 URL 参数时使用了 { replace: true } 选项,这样不会在浏览器历史记录中堆砌无意义的中间状态,用户体验更好。

🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 09:27:32 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:0 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 无 ### ✅ 良好实践 1. **[VoiceLibrary.tsx] 一次性触发器逻辑** - 具体内容:在 `useEffect` 中检测到 `upload` 参数并执行了相应逻辑后,立即通过 `setSearchParams` 清除该参数。这种“触发即清理”的模式有效避免了后续组件重渲染或 Tab 切换时重复触发弹窗,是处理 URL 参数触发状态变更的最佳实践。 2. **[VoiceLibrary.tsx] 使用 replace: true** - 具体内容:在更新 URL 参数时使用了 `{ replace: true }` 选项,这样不会在浏览器历史记录中堆砌无意义的中间状态,用户体验更好。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 09:27:32 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit bb7dc71da3 into develop 2026-09-03 17:29:53 +08:00
xiaoxia deleted branch fix/clone-modal-upload-redirect 2026-09-03 17:29:53 +08:00

🗑️ 预览环境已清理

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

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

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