RequireAuth.tsx 506 B

12345678910111213
  1. import React from 'react'
  2. import { Navigate, useParams } from 'react-router-dom'
  3. import { isAuthenticated } from '../services/http/session'
  4. import { DEFAULT_LOCALE } from './pageContext'
  5. /** 后台路由守卫:未登录则跳转到对应语言的登录页。 */
  6. export function RequireAuth({ children }: { children: React.ReactNode }) {
  7. const { locale } = useParams()
  8. if (!isAuthenticated()) {
  9. return <Navigate to={`/${locale || DEFAULT_LOCALE}/login`} replace />
  10. }
  11. return <>{children}</>
  12. }