"use client"; import React, { useState, useEffect, useCallback } from "react"; import { generateSignature } from "@/utils/crypto"; import webviewBaseRequest from "@/utils/webviewBaseRequest"; import Link from "next/link"; import { Toast } from "antd-mobile"; import { useRouter, useSearchParams } from "next/navigation"; export default function Vip() { const router = useRouter(); const searchParams = useSearchParams(); //检查用户是否是vip const [isVip, setIsVip] = useState(false); const [name, setName] = useState(""); const [isFetching, setIsFetching] = useState(true); const getBase = useCallback( (webviewBase) => { let searchParamsObj = null; let currentBaseCode = searchParams.get("base"); if (currentBaseCode) { let currentBase = JSON.parse(currentBaseCode); searchParamsObj = { ...currentBase }; } return searchParamsObj || webviewBase; }, [searchParams] ); const getUserData = async () => { const webviewBase = webviewBaseRequest(); let base = getBase(webviewBase); try { const signature = generateSignature({ ...base, mid: base.b_mid, }); const detailResponse = await fetch( `/api/account/list_by_mid?signature=${signature}`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ ...base, mid: base.b_mid, }), } ); const detailData = await detailResponse.json(); if (detailData.ret === -1) { Toast.show({ content: detailData.msg, }); return; } setName(detailData.data.account.name); if (detailData.data.account.is_a_member === 1) setIsVip(true); setIsFetching(false); } catch (error) { console.error(error); } }; //轮询请求 useEffect(() => { setTimeout(() => { getUserData(); }, 500); const intervalId = setInterval(() => { getUserData(); }, 2000); return () => clearInterval(intervalId); }, []); //创建充值订单 const [isLoading, setIsLoading] = useState(false); const createOrder = async (type = "alipay_h5") => { const webviewBase = webviewBaseRequest(); let base = getBase(webviewBase); if (base?.b_dt === 1 && base?.b_ver !== "1.5.0") { Toast.show({ content: "ios暂时无法开通会员,请等待版本更新", }); return; } const body = { ...base, product_id: "membership", pay_type: type, redirect_url: type === "yeepay_wxpay_h5" ? window.location.href : "", from: searchParams.get("base") ? "web" : "app", }; //如果是微信jsapi支付直接跳转到中间页 if (type === "wxpay_jsapi") { router.push(`/pay/${encodeURIComponent(JSON.stringify(body))}`); return; } setIsLoading(true); const signature = generateSignature(body); try { const response = await fetch( `/api/vas/create_order?signature=${signature}`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(body), } ); const data = await response.json(); if (data.ret === -1) { Toast.show({ content: data.msg, }); return; } switch (type) { case "yeepay_alipay_h5": router.push(`${data.data.yeepay_alipay_h5_param_str}`); break; case "yeepay_wxpay_h5": router.push(`${data.data.yeepay_wxpay_h5_param_str}`); break; case "alipay_h5": router.push(`${data.data.alipay_h5_param_str}`); break; case "wxpay_h5": router.push( `https://shop.tiefen.fun/pay/wxpay_h5/${encodeURIComponent( data.data.wxpay_h5_param_str )}` ); break; default: router.push(`${data.data.alipay_h5_param_str}`); break; } } catch (error) { console.error(error); } finally { setIsLoading(false); } }; if (isFetching) { return (
); } return (
{isLoading && ( )}
{isVip ? (

{name}

) : ( )}

会员权益

高清图片

下载保存

搜索筛选

发现心仪

身份标签

专属标识

专属客服

极速服务

会员规则

1、会员权限永久有效,开通后请勿传播平台付费内容;

2、更多特权内容敬请期待,详情请关注本页面会员权益信息变化。

注意事项

1、会员特权属于虚拟商品,一经售出概不退换;

2、请确保支付时您的网络环境保持畅通,避免因第三方网络环境导致的支付失败;

3、本项特权内容最终解释权归铁粉空间运营方所有。

{!isVip && (
createOrder("alipay_h5")} className="flex flex-row cursor-pointer gap-1.5 h-11 items-center justify-center bg-primary rounded-full" >

支付宝支付

确认购买即视为同意 《用户充值协议》

)}
); }