在首页输入想法后,点击"开始生成"按钮跳转到问题页面,但是:
- 问题选项没有显示 - 只看到进度条和"开始生成"文本
- 加载状态持续显示 - 看起来卡在生成问题过程中
异步状态管理问题:
setIdea(idea.trim())和setGenerationStep('questions')同时调用setGenerationStep立即跳转到/generate页面- QuestionsStep 组件加载时,
questions数组可能还是空的(因为问题生成是异步的) - QuestionsStep 的
useEffect每次收到新的questions都会重置currentIndex为 0
- 移除了不必要的异步延迟 - 去掉了
await setGenerationStep('questions') - 简化了跳转逻辑 - 直接调用
setGenerationStep('questions')然后router.push('/generate')
执行以下测试来验证修复:
# 1. 测试问题生成
curl -X POST http://localhost:3000/api/generate/questions \
-H "Content-Type: application/json" \
-d '{"idea":"一个帮助开发者快速找到代码片段的工具"}'
# 应该返回完整的问题对象
# 2. 测试完整流程
# 在浏览器中:http://localhost:3000
# 1. 输入想法:一个帮助开发者快速找到代码片段的工具
# 2. 点击"开始生成"
# 3. 应该看到问题选项和示例修复后,你应该能看到:
- ✅ 问题标题:"让我们深入了解你的想法"
- ✅ 问题描述:"回答3个简单问题,帮助 AI 生成更精准的产品页面"
- ✅ 问题输入框,显示:"你的工具主要帮助什么角色的用户提升效率?"
- ✅ 示例按钮:"自由职业者管理多项目、小团队协作办公、远程工作者提高效率"
- ✅ "下一个"按钮和导航功能正常
如果问题仍然存在:
-
检查浏览器开发者工具:
- Network 标签查看
/api/generate/questions请求 - Console 查看是否有 JavaScript 错误
- Network 标签查看
-
检查 ZUSTAND 状态:
- 在 generate 页面打开浏览器开发者工具
- 在 Console 中输入:
window.__ZUSTAND_DEVTOOLS__?.state?.generationFlow?.questions
-
检查 API 响应:
- 确认 API 返回了
questions数组 - 检查
success: true和data.questions
- 确认 API 返回了
修复要点:移除了异步操作的不确定性,确保状态同步更新。