import { setCookie, deleteCookie, getCookie } from "cookies-next"; import requireAPI from "./requireAPI"; import { get, save } from "./storeInfo"; export async function checkAuth() { try { const data = await requireAPI("POST", `/api/login/validate`); if (data.ret === 1) { return true; } else { return false; } } catch (e) { // console.log(e); } } export function signIn(data) { setCookie("token", data.data.token, { maxAge: 60 * 60 * 24 * 365 * 10 }); setCookie("mid", data.data.account.mid, { maxAge: 60 * 60 * 24 * 365 * 10 }); } export function signOut() { deleteCookie("token"); deleteCookie("mid"); } export async function getUserInfo(mid) { if (!mid) return; try { const data = await requireAPI("POST", `/api/account/list_by_mid`, { body: { mid }, }); if (data.ret === 1) { return data.data.account; } } catch (e) { // console.log(e); } } export async function getVipPrice() { try { const data = await requireAPI( "POST", `/api/vas/get_membership_product_list` ); if (data.ret === -1) { Toast.show({ icon: "fail", content: data.msg, position: "top", }); return; } else { return data.data.product.real_price / 100; } } catch (e) { // console.log(e); } } export async function checkRole() { const account = get("account"); const userInfo = await getUserInfo(account.mid); if (userInfo) { if (userInfo.is_a_member !== account) { save("account", userInfo); } } const role = userInfo?.role; const isVip = userInfo?.is_a_member; return role !== 0 || isVip === 1; }