refactor: GeneratePage Phase 1 — 抽离常量/类型/UI组件(3036→2682行) #796
Reference in New Issue
Block a user
Delete Branch "refactor/generate-page-phase1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
GeneratePage.tsx 巨无霸拆分 Phase 1,纯结构重构,业务逻辑零改动。
改动
新增 5 个文件
pages/generate/constants.ts— 12组常量(STEPS/TITLE_PRESETS/AI标题模板/智能匹配理由/渐变色/图标等)pages/generate/types.ts— TitleSettings/SmartMatchResult/AiTitleResult 等类型定义pages/generate/components/GenerateHeader.tsx— 页头组件pages/generate/components/GenerateStepsBar.tsx— 步骤条组件pages/generate/components/GenerateResultPanel.tsx— 右侧生成结果面板主文件瘦身
GeneratePage.tsx:3036 行 → 2682 行(-354行)
验证
代码审查结果 - PR #796
⚠️ 问题(0个需要修改)
无
💡 建议(2个可选)
apps/web/src/pages/generate/components/GenerateResultPanel.tsx 第7行:建议调整工具函数的导入路径
formatDuration是一个通用的格式化工具函数,从@/api/voice-clone导入不符合模块职责划分原则(API 模块应仅负责数据请求)。建议将其移动到@/utils或@/lib/utils等公共工具目录中导入,以避免潜在的循环依赖风险并提高代码可维护性。apps/web/src/pages/generate/components/GenerateResultPanel.tsx 第153行:简化类型判断逻辑
typeof generateError === "string" ? generateError : "请重试"。根据接口定义generateError: string | null,TypeScript 已经能够进行类型收窄,该typeof检查是冗余的。建议简化为{generateError || "请重试"}以提高代码简洁性。✅ 格式检查通过 | ✅ 逻辑审查需修改 | ✅ 性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 02:21:53 | 模型:
🗑️ 预览环境已清理
PR #796 已关闭或合并,对应的预览环境已被清理。