refactor: GeneratePage Phase 3 - Step内部子组件拆分 #816

Merged
xiaoxia merged 2 commits from refactor/generate-page-phase3 into develop 2026-07-24 20:18:32 +08:00
Owner

GeneratePage 巨无霸拆分 Phase 3

在 Phase 2 的基础上,对 3 个较大的 Step 组件继续拆分子组件,保持功能完全不变,纯结构优化。

新增文件(16个)

voice/ 目录 (6个)

  • VoiceRecommendSection.tsx - AI智能推荐配音区域
  • VoiceChoiceCard.tsx - 音色选择卡片(预设+克隆共用)
  • PresetVoiceDetail.tsx - 预设音色下拉+试听
  • CustomVoicePanel.tsx - 自定义录制面板
  • SaveVoiceModal.tsx - 保存到配音库弹窗
  • CloneVoiceSection.tsx - 克隆声音展开区域

material/ 目录 (5个)

  • MaterialModeTabs.tsx - 模式切换Tab
  • ManualMaterialList.tsx - 手动选择素材列表
  • SmartMatchInput.tsx - 智能匹配输入区
  • SmartMatchResults.tsx - 智能匹配结果区
  • SmartMatchCard.tsx - 单个匹配卡片

title/ 目录 (4个)

  • AiTitleGenerator.tsx - AI智能生成标题
  • AiTitleCard.tsx - 单个AI标题卡片
  • TitleStylePanel.tsx - 标题样式设置区
  • TitlePresetsGrid.tsx - 预设样式网格

utils/ 目录 (1个)

  • formatDuration.ts - 秒数转分秒格式工具函数

精简效果

组件 拆分前 拆分后 精简率
Step5VoiceSelect 529 行 137 行 74% ↓
Step2MaterialSelect 310 行 95 行 69% ↓
Step4TitleSettings 298 行 108 行 64% ↓

验证

  • ESLint 全绿
  • TypeScript 全绿
  • Prettier 已格式化
  • Hook 核心逻辑未改动
## GeneratePage 巨无霸拆分 Phase 3 在 Phase 2 的基础上,对 3 个较大的 Step 组件继续拆分子组件,保持功能完全不变,纯结构优化。 ## 新增文件(16个) ### voice/ 目录 (6个) - VoiceRecommendSection.tsx - AI智能推荐配音区域 - VoiceChoiceCard.tsx - 音色选择卡片(预设+克隆共用) - PresetVoiceDetail.tsx - 预设音色下拉+试听 - CustomVoicePanel.tsx - 自定义录制面板 - SaveVoiceModal.tsx - 保存到配音库弹窗 - CloneVoiceSection.tsx - 克隆声音展开区域 ### material/ 目录 (5个) - MaterialModeTabs.tsx - 模式切换Tab - ManualMaterialList.tsx - 手动选择素材列表 - SmartMatchInput.tsx - 智能匹配输入区 - SmartMatchResults.tsx - 智能匹配结果区 - SmartMatchCard.tsx - 单个匹配卡片 ### title/ 目录 (4个) - AiTitleGenerator.tsx - AI智能生成标题 - AiTitleCard.tsx - 单个AI标题卡片 - TitleStylePanel.tsx - 标题样式设置区 - TitlePresetsGrid.tsx - 预设样式网格 ### utils/ 目录 (1个) - formatDuration.ts - 秒数转分秒格式工具函数 ## 精简效果 | 组件 | 拆分前 | 拆分后 | 精简率 | |------|--------|--------|--------| | Step5VoiceSelect | 529 行 | 137 行 | 74% ↓ | | Step2MaterialSelect | 310 行 | 95 行 | 69% ↓ | | Step4TitleSettings | 298 行 | 108 行 | 64% ↓ | ## 验证 - ✅ ESLint 全绿 - ✅ TypeScript 全绿 - ✅ Prettier 已格式化 - ✅ Hook 核心逻辑未改动
xiaoxia added 1 commit 2026-07-24 18:05:54 +08:00
refactor: GeneratePage Phase 3 - split Step sub-components
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 7s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m3s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 28s
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 1m11s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m44s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m3s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m16s
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
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 36s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 39s
AI Code Review / AI Code Review (pull_request) Successful in 4m22s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 7m40s
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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 14m6s
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 / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 50m20s
92bae4ce1c
xiaoxia force-pushed refactor/generate-page-phase3 from 9327bd9512 to 92bae4ce1c 2026-07-24 18:05:54 +08:00 Compare
auto-approve-bot approved these changes 2026-07-24 18:10:12 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 1 commit 2026-07-24 19:00:15 +08:00
test: add generate module smoke test for vitest related coverage
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 8s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m46s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 36s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m4s
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 Web Image (pull_request) Successful in 2m0s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 56s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 37s
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 / Frontend Unit Tests (pull_request) Successful in 46s
AI Code Review / AI Code Review (pull_request) Successful in 4m6s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 7m39s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 13m17s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 51m52s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 33s
45e954d1a8
Collaborator

代码审查结果 - PR #816

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

💡 建议(1个可选)

  1. 变量命名可读性:在 Step2MaterialSelect.tsxStep4TitleSettings.tsx 中,Hook 的返回值分别被简写为 mt。虽然逻辑上没有问题,但在包含较多业务逻辑的组件中,建议使用更具语义化的命名(如 materialStatetitleState),以便于后续维护和理解。

格式检查通过 | 逻辑审查通过 | 性能良好


🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 11:09:58 | 模型:

## 代码审查结果 - PR #816 ### ⚠️ 问题(0个需要修改) ### 💡 建议(1个可选) 1. **变量命名可读性**:在 `Step2MaterialSelect.tsx` 和 `Step4TitleSettings.tsx` 中,Hook 的返回值分别被简写为 `m` 和 `t`。虽然逻辑上没有问题,但在包含较多业务逻辑的组件中,建议使用更具语义化的命名(如 `materialState`、`titleState`),以便于后续维护和理解。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 11:09:58 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit cf544881fd into develop 2026-07-24 20:18:32 +08:00
xiaoxia deleted branch refactor/generate-page-phase3 2026-07-24 20:18:32 +08:00

🗑️ 预览环境已清理

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

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

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