tiefen_space_h5/components/WithAuth/index.js

75 lines
2.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { checkAuth } from "@/utils/auth";
import { useRouter, usePathname, useSearchParams } from "next/navigation";
import { useEffect } from "react";
import { get } from "@/utils/storeInfo";
import { Dialog, Toast } from "antd-mobile";
import { save } from "@/utils/storeInfo";
import { removeUserInfo } from "@/utils/storeInfo";
export default function WithAuth(WrappedComponent) {
const router = useRouter();
const pathname = usePathname();
const searchParams = useSearchParams();
useEffect(() => {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("quark") > -1 && ua.indexOf("iphone") > -1) {
// 夸克浏览器
Dialog.show({
title: "提示",
content: "暂时不支持此浏览器请使用Safari访问铁粉空间",
// buttonText: "确认",
bodyStyle: {
maxHeight: "none",
width: "80vw",
position: "fixed",
top: "200px",
left: "10vw",
"--text-color": "#fff",
color: "#fff",
},
// cancelText:"确认",
// confirmText:"取消",
style: {
"--text-color": "#fff",
},
});
}
}, []);
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");
if (pathname.includes("wxpay_h5")) {
return;
}
if (hasToken) {
const currentIsLogin = await checkAuth();
if (!currentIsLogin) {
Toast.show({
icon: "fail",
content: "当前登录失效,请重新登录",
position: "top",
});
removeUserInfo();
router.push("/login");
} else {
if (pathname.includes("login")) {
router.push("/");
}
}
} else if (!searchParams.get("forgetPassword")) {
removeUserInfo();
router.push("/login");
}
};
return WrappedComponent;
}