diff --git a/web/src/admin/components/PrivateRoute.tsx b/web/src/admin/components/PrivateRoute.tsx index d27aabc..82d5fee 100644 --- a/web/src/admin/components/PrivateRoute.tsx +++ b/web/src/admin/components/PrivateRoute.tsx @@ -1,4 +1,3 @@ -import { Navigate } from 'react-router-dom'; import type { ReactNode } from 'react'; interface PrivateRouteProps { @@ -13,9 +12,9 @@ const PrivateRoute = ({ children }: PrivateRouteProps) => { const token = localStorage.getItem('token'); const userInfo = localStorage.getItem('userInfo'); - // 如果没有登录信息,重定向到登录页 + // 如果没有登录信息,返回空占位 if (!token || !userInfo) { - return ; + return null; } // 已登录,渲染子组件 diff --git a/web/src/admin/pages/AdminLayout/index.tsx b/web/src/admin/pages/AdminLayout/index.tsx index 210a369..4b885b1 100644 --- a/web/src/admin/pages/AdminLayout/index.tsx +++ b/web/src/admin/pages/AdminLayout/index.tsx @@ -90,7 +90,6 @@ const AdminLayout = () => { const userInfoStr = localStorage.getItem('userInfo'); if (!token || !userInfoStr) { - navigate('/login'); return; } diff --git a/web/src/api/request.ts b/web/src/api/request.ts index dc42f9d..7c95398 100644 --- a/web/src/api/request.ts +++ b/web/src/api/request.ts @@ -81,7 +81,6 @@ const sendRequest = async (url: string, config: RequestConfig = {}): Promise< if (response.status === 401) { localStorage.removeItem('token'); localStorage.removeItem('userInfo'); - window.location.href = '/login'; throw new HttpError('未认证或认证已过期', { status: response.status, statusText: response.statusText,