import React, { useEffect } from 'react'; import { useNavigate, } from 'react-router'; import { useAuth } from './hooks_sys.tsx'; export const ProtectedRoute = ({ children }: { children: React.ReactNode }) => { const { isAuthenticated, isLoading } = useAuth(); const navigate = useNavigate(); useEffect(() => { // 只有在加载完成且未认证时才重定向 if (!isLoading && !isAuthenticated) { navigate('/admin/login', { replace: true }); } }, [isAuthenticated, isLoading, navigate]); // 显示加载状态,直到认证检查完成 if (isLoading) { return (