bug修复

This commit is contained in:
2025-12-22 23:40:47 +08:00
parent 7d53a059d7
commit 1fefd98d74
19 changed files with 1339 additions and 534 deletions
+13 -7
View File
@@ -11,13 +11,15 @@ import useStore from './store/useStore';
/**
* 路由守卫组件
* 根据登录状态和注册完成状态进行路由重定向
* - requireAuth: 需要登录才能访问
* - requireOnboarding: 需要完成入站流程才能访问
*/
const ProtectedRoute = ({ children, requireAuth = false, requireOnboarding = false }) => {
const { isLoggedIn, registrationData } = useStore();
const navigate = useNavigate();
// 检查是否完成入站流程
const hasCompletedOnboarding = registrationData.nickname && registrationData.future?.vision;
// 检查是否完成入站流程(有昵称和未来愿景即视为已完成)
const hasCompletedOnboarding = !!(registrationData.nickname && registrationData.future?.vision);
useEffect(() => {
if (requireAuth && !isLoggedIn) {
@@ -65,8 +67,8 @@ const AnimatedRoutes = () => {
const location = useLocation();
const { isLoggedIn, registrationData } = useStore();
// 检查是否完成入站流程
const hasCompletedOnboarding = registrationData.nickname && registrationData.future?.vision;
// 检查是否完成入站流程(有昵称和未来愿景即视为已完成)
const hasCompletedOnboarding = !!(registrationData.nickname && registrationData.future?.vision);
return (
<AnimatePresence mode="wait">
@@ -89,15 +91,19 @@ const AnimatedRoutes = () => {
}
/>
{/* 入站流程页 */}
{/* 入站流程页 - 已完成入站的用户直接跳转到首页 */}
<Route
path="/onboarding"
element={
<ProtectedRoute requireAuth>
!isLoggedIn ? (
<Navigate to="/" replace />
) : hasCompletedOnboarding ? (
<Navigate to="/dashboard" replace />
) : (
<PageTransition>
<OnboardingPage />
</PageTransition>
</ProtectedRoute>
)
}
/>