refactor(generate): split useStep5Voice into sub-modules #975

Closed
xiaoxia wants to merge 2 commits from refactor/step5-voice-hook into develop
Owner

变更说明

useStep5Voice Hook 从 397 行拆分为子目录模块,主 Hook 精简为 184 行(-54%)。

拆分结构

hooks/step5-voice/
├── useVoiceAudio.ts       # 音色试听播放控制
├── useVoiceRecommend.ts   # AI 智能配音推荐
├── useTtsSynthesis.ts     # TTS 自定义合成 + 轮询
└── useSaveToLibrary.tsx   # 存为素材弹窗逻辑

主要变更

  • useVoiceAudio: useVoiceAudio — 试听播放/暂停状态管理
  • useVoiceRecommend: 预置音色查询 + 基于标题的风格推荐算法
  • useTtsSynthesis: TTS 合成 mutation + 轮询状态 + 完成/失败处理
  • useSaveToLibrary: 存为素材弹窗 + 标签管理 + 保存 mutation
  • 主 Hook: 仅保留组合编排 + 选择/克隆回调,接口完全兼容

导入路径 @/pages/generate/hooks/useStep5Voice 保持不变。

## 变更说明 将 `useStep5Voice` Hook 从 397 行拆分为子目录模块,主 Hook 精简为 184 行(-54%)。 ## 拆分结构 ``` hooks/step5-voice/ ├── useVoiceAudio.ts # 音色试听播放控制 ├── useVoiceRecommend.ts # AI 智能配音推荐 ├── useTtsSynthesis.ts # TTS 自定义合成 + 轮询 └── useSaveToLibrary.tsx # 存为素材弹窗逻辑 ``` ## 主要变更 - **useVoiceAudio**: `useVoiceAudio` — 试听播放/暂停状态管理 - **useVoiceRecommend**: 预置音色查询 + 基于标题的风格推荐算法 - **useTtsSynthesis**: TTS 合成 mutation + 轮询状态 + 完成/失败处理 - **useSaveToLibrary**: 存为素材弹窗 + 标签管理 + 保存 mutation - **主 Hook**: 仅保留组合编排 + 选择/克隆回调,接口完全兼容 导入路径 `@/pages/generate/hooks/useStep5Voice` 保持不变。
xiaoxia added 1 commit 2026-07-26 18:28:54 +08:00
refactor(generate): split useStep5Voice into sub-modules
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 22s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m14s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m17s
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 / PR Build Worker Image (pull_request) Successful in 39s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m26s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m41s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m13s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m8s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 50s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m40s
AI Code Review / AI Code Review (pull_request) Successful in 6m43s
CI/CD Pipeline / Unit 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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1m15s
CI/CD Pipeline / Deploy Production (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 / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
e13dd16816
- Extract audio playback to useVoiceAudio.ts
- Extract voice recommendation to useVoiceRecommend.ts
- Extract TTS synthesis + polling to useTtsSynthesis.ts
- Extract save-to-library to useSaveToLibrary.tsx
- Main hook reduced from 397 to 184 lines (-54%)
- Keep import path unchanged

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #975 | | 预览链接 | [https://pr-975.preview.xiaoxiajianji.com](https://pr-975.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-07-27 12:34:30 +08:00
Merge branch 'develop' into refactor/step5-voice-hook
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m19s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 57s
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 / Validate - Migration (alembic) (pull_request) Successful in 1m20s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 25s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 38s
AI Code Review / AI Code Review (pull_request) Successful in 1m0s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m9s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m16s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m23s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
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 / Frontend Unit Tests (pull_request) Successful in 15s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 10m14s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 18s
CI/CD Pipeline / Deploy Production (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 / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
d3bdec4f9c
xiaoxia closed this pull request 2026-07-27 15:27:31 +08:00

🗑️ 预览环境已清理

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

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

🗑️ **预览环境已清理** PR #975 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Some checks are pending
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 42s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m19s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 57s
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 / Validate - Migration (alembic) (pull_request) Successful in 1m20s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 25s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 38s
AI Code Review / AI Code Review (pull_request) Successful in 1m0s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m9s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m16s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m23s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
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 / Frontend Unit Tests (pull_request) Successful in 15s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 10m14s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 18s
CI/CD Pipeline / Deploy Production (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 / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped

Pull request closed

Sign in to join this conversation.