fix(voices): 「去配音库上传」跳转自动打开上传弹窗 #1650

Merged
auto-approve-bot merged 2 commits from fix/voice-upload-redirect into develop 2026-09-03 16:55:45 +08:00
Owner

修复内容

「去配音库上传」按钮点击后跳转到配音库页面时,不会自动打开上传弹窗。

修改点

  1. Step5VoiceSelect.tsx - handleGoToUpload 跳转路径加上 ?tab=material&upload=1
  2. VoiceLibrary.tsx - mount 时监听 upload=1 query 参数,自动切换到素材Tab并打开上传弹窗

效果

  • 点击「去配音库上传」→ 跳转到配音库素材Tab → 自动弹出上传弹窗
  • 直接访问配音库页面不受影响
## 修复内容 「去配音库上传」按钮点击后跳转到配音库页面时,不会自动打开上传弹窗。 ### 修改点 1. **Step5VoiceSelect.tsx** - handleGoToUpload 跳转路径加上 `?tab=material&upload=1` 2. **VoiceLibrary.tsx** - mount 时监听 `upload=1` query 参数,自动切换到素材Tab并打开上传弹窗 ### 效果 - 点击「去配音库上传」→ 跳转到配音库素材Tab → 自动弹出上传弹窗 - 直接访问配音库页面不受影响
xiaoxia added 1 commit 2026-09-03 16:46:05 +08:00
fix(voices): 「去配音库上传」跳转自动打开上传弹窗
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
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 / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration 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 / 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 / Frontend Unit Tests (pull_request) Successful in 1m38s
AI Code Review / AI Code Review (pull_request) Failing after 1m42s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m47s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m51s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m0s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m59s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m6s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m21s
CI/CD Pipeline / Validate - Security (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
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
e220116939
- Step5VoiceSelect: navigate 路径加 ?tab=material&upload=1
- VoiceLibrary: mount 时检测 upload=1 参数,自动切到素材Tab并打开上传弹窗

🚀 预览环境已部署

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

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

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

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

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

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 1 commit 2026-09-03 16:48:44 +08:00
fix: useEffect 依赖数组加入 searchParams,修复 SPA 内跳转不触发的问题
CI/CD Pipeline / Check push changed paths (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 / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
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 / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration 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 / 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 1m17s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m28s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m37s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m46s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m53s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m58s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m9s
AI Code Review / AI Code Review (pull_request) Successful in 5m17s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m12s
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 / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m2s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 10s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 35s
f4db7eaaa8
Collaborator

代码审查结果 - PR #1650

⚠️ 问题(1个需要修改)

  1. VoiceLibrary.tsx 第162-167行:存在导致无限渲染循环的严重逻辑错误。在 useEffect 的依赖数组中直接引用了 searchParams 对象。在 react-router-dom v6 中,useSearchParams 返回的 searchParams 对象在每次组件渲染时都是一个新的引用。这会导致 useEffect 在每次渲染时都被触发。当 URL 参数满足条件时,Effect 内部调用 setActiveTabsetUploadOpen 会更新状态并触发组件重新渲染,进而再次触发 Effect,形成死循环,导致页面卡死或崩溃。
    • 修改建议:将依赖项改为具体的查询参数值,例如 const upload = searchParams.get("upload"),然后将 upload 加入依赖数组。

💡 建议(1个可选)

  1. Step5VoiceSelect.tsx 第137行:URL 查询参数(tab=material&upload=1)使用了硬编码的魔法字符串。如果后续 VoiceLibrary.tsx 中的参数逻辑变更,此处将失效。
    • 修改建议:建议将参数键值定义为常量,或在两个文件间共享配置,确保一致性。

格式检查通过 | 逻辑审查需修改 | ⚠️ 建议关注性能


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

## 代码审查结果 - PR #1650 ### ⚠️ 问题(1个需要修改) 1. **VoiceLibrary.tsx 第162-167行**:存在导致无限渲染循环的严重逻辑错误。在 `useEffect` 的依赖数组中直接引用了 `searchParams` 对象。在 `react-router-dom` v6 中,`useSearchParams` 返回的 `searchParams` 对象在每次组件渲染时都是一个新的引用。这会导致 `useEffect` 在每次渲染时都被触发。当 URL 参数满足条件时,Effect 内部调用 `setActiveTab` 和 `setUploadOpen` 会更新状态并触发组件重新渲染,进而再次触发 Effect,形成死循环,导致页面卡死或崩溃。 - **修改建议**:将依赖项改为具体的查询参数值,例如 `const upload = searchParams.get("upload")`,然后将 `upload` 加入依赖数组。 ### 💡 建议(1个可选) 1. **Step5VoiceSelect.tsx 第137行**:URL 查询参数(`tab=material&upload=1`)使用了硬编码的魔法字符串。如果后续 `VoiceLibrary.tsx` 中的参数逻辑变更,此处将失效。 - **修改建议**:建议将参数键值定义为常量,或在两个文件间共享配置,确保一致性。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 08:54:01 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot merged commit 4e270f1fb5 into develop 2026-09-03 16:55:45 +08:00
auto-approve-bot deleted branch fix/voice-upload-redirect 2026-09-03 16:55:46 +08:00

🗑️ 预览环境已清理

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

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

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