import { checkAuth } from "@/utils/auth"; import { useRouter, usePathname, useSearchParams } from "next/navigation"; import { useEffect } from "react"; import { get } from "@/utils/storeInfo"; import { Toast } from "antd-mobile"; import {save} from "@/utils/storeInfo" export default function WithAuth(WrappedComponent) { const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); useEffect(() => { if(searchParams.get("inviter")){ save("inviter",Number(searchParams.get("inviter"))) } if(!pathname.includes("webView") && !pathname.includes("login") ){ checkLogin(); } // console.log("isLogin",!pathname.includes("webView") && !pathname.includes("login")) }, [pathname]); const checkLogin = async () => { const hasToken = await get("token"); // console.log("hasToken", hasToken); if (hasToken) { const hasToken = get("token"); // console.log("hasToken", hasToken); if (hasToken) { const currentIsLogin = await checkAuth(); if (!currentIsLogin) { Toast.show({ icon: "fail", content: "当前登录失效,请重新登录", position: "top", }); router.push("/login"); }else{ if(pathname.includes("login")){ router.replace("/") } } } } else if(!searchParams.get("forgetPassword")) { router.push("/login"); } }; return WrappedComponent; }