Logout.tsx 902 B

123456789101112131415161718192021222324252627282930
  1. import React,{useEffect}from "react"
  2. import CONSTS from "../shared/index"
  3. import { useSearchParams,useNavigate } from "react-router-dom"
  4. import {api} from "../utils/api"
  5. import { AxiosError } from "axios"
  6. import {message} from "antd"
  7. export default function Logout(){
  8. const [searchParams] = useSearchParams()
  9. const navigate = useNavigate()
  10. let redirect_uri = ''
  11. useEffect(()=>{
  12. redirect_uri = searchParams.get(CONSTS.REDIRECT_URI)!
  13. //console.log(redirect_uri)
  14. api.logout()
  15. .then()
  16. .catch((err:AxiosError)=>{
  17. message.error(err.message)
  18. Promise.reject(err)
  19. })
  20. localStorage.removeItem('token')
  21. if(redirect_uri == null || redirect_uri === ''){
  22. navigate("/passport/login")
  23. }else{
  24. navigate(redirect_uri,{replace:true})
  25. }
  26. },[])
  27. return(
  28. <></>
  29. )
  30. }