缺陷 / 高 / 前端组件
src/components/onboarding/OnboardingWizard.tsx
OnboardingWizard 5 步引导:
用户中途退出(关闭窗口、刷新、点击返回):
useEffect(() => { localStorage.setItem('onboarding_progress', JSON.stringify({ step: currentStep, config: partialConfig, })); }, [currentStep, partialConfig]);
const saved = localStorage.getItem('onboarding_progress'); if (saved) { const progress = JSON.parse(saved); setCurrentStep(progress.step); setPartialConfig(progress.config); }
文件: src/components/onboarding/OnboardingWizard.tsx
修复: 添加 localStorage 进度持久化:启动时从 onboarding_progress 恢复 step/provider/baseURL/model/workspacePath/contextWindow;每次字段变化时保存;引导完成后 removeItem 清理。
onboarding_progress
removeItem
安全考虑: apiKey 属敏感信息,不持久化到 localStorage,恢复时需用户重新输入。
验证: tsc --noEmit 类型检查通过。
tsc --noEmit
No dependencies set.
The note is not visible to the blocked user.
问题类型
缺陷 / 高 / 前端组件
文件位置
src/components/onboarding/OnboardingWizard.tsx问题描述
OnboardingWizard 5 步引导:
用户中途退出(关闭窗口、刷新、点击返回):
影响
建议修复
修复说明
文件:
src/components/onboarding/OnboardingWizard.tsx修复: 添加 localStorage 进度持久化:启动时从
onboarding_progress恢复 step/provider/baseURL/model/workspacePath/contextWindow;每次字段变化时保存;引导完成后removeItem清理。安全考虑: apiKey 属敏感信息,不持久化到 localStorage,恢复时需用户重新输入。
验证:
tsc --noEmit类型检查通过。