fix(#1197): 第3步生成预览增加真正的预览生成逻辑,禁止直接跳过 #1200
Reference in New Issue
Block a user
Delete Branch "fix/step3-preview-generation"
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?
问题
第3步「生成预览」只是静态信息展示,用户点下一步直接跳过,没有真正的预览生成过程
修改内容
待后端对齐
影响范围
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
[apps/web/src/pages/generate/hooks/useStep3Preview.ts: useEffect依赖项] 优化 useEffect 依赖项
useEffect的依赖项数组中包含了previewStatus。该 Effect 的主要目的是监听输入参数(如模板、素材)的变化来重置预览状态。包含previewStatus会导致每次预览状态改变(如从generating变为ready)时都触发 Effect 重新执行,虽然逻辑上有保护机制不会出错,但属于不必要的性能开销。建议移除previewStatus,仅在输入参数变化时执行重置逻辑。[apps/web/src/pages/generate/hooks/useStepNavigation.ts: 末尾导出] 移除多余的默认导出
export default useStepNavigation。该文件主要使用命名导出export const useStepNavigation。添加默认导出容易造成导入时的混淆(如import useStepNavigation from ...vsimport { useStepNavigation } from ...),建议保持一致性,移除默认导出。✅ 良好实践
useStep3Preview中使用了requestIdRef来处理异步请求的竞态问题,防止旧请求的结果覆盖新请求的状态,这是处理异步状态更新的最佳实践。useStepNavigation中增加了previewReady的校验,强制用户必须生成预览后才能进入下一步,符合业务流程逻辑。✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好
🤖 由 AI 代码审查机器人自动生成 | 2026-07-30 07:57:52 | 模型:
🗑️ 预览环境已清理
PR #1200 已关闭或合并,对应的预览环境已被清理。