"use client"; import { useEffect, useState } from "react"; import { usePayStatusPoll } from "@/app/lib/usePayStatusPoll"; const COOKIE_NAME = "nomadvip_pay_order"; function getCookie(name: string): string | null { if (typeof document === "undefined") return null; const match = document.cookie.match(new RegExp(`(?:^|; )${name}=([^;]*)`)); return match ? decodeURIComponent(match[1]) : null; } function parseUserIdFromOrderId(orderId: string): string { if (!orderId?.includes("_order_")) return ""; const prefix = orderId.split("_order_")[0]; const parts = prefix.split("_"); return parts.length >= 2 ? parts.slice(0, -1).join("_") : ""; } function SuccessWithRedirect() { useEffect(() => { const t = setTimeout(() => { window.location.href = "/"; }, 2000); return () => clearTimeout(t); }, []); return (

支付成功

感谢您的支持,VIP 权益已开通

2 秒后自动返回首页

{ e.preventDefault(); window.location.href = "/"; }} className="mt-8 inline-flex items-center gap-2 rounded-full bg-sky-500 px-8 py-3 font-semibold text-white transition-colors hover:bg-sky-600" > ← 立即返回首页
); } export default function PaidPage() { const [status, setStatus] = useState<"pending" | "success" | "fail">("pending"); const [fromUrl, setFromUrl] = useState(null); usePayStatusPoll((orderId) => { const uid = parseUserIdFromOrderId(orderId || ""); const raw = getCookie(COOKIE_NAME); const oid = raw?.split("|")[0]?.trim() || orderId || ""; const userId = uid || parseUserIdFromOrderId(oid); if (userId) { try { localStorage.setItem("paidType", "vip"); localStorage.setItem("userName", userId); } catch {} } setStatus("success"); }, () => { window.location.href = "/"; }); useEffect(() => { const params = new URLSearchParams(window.location.search); const paid = params.get("paid"); const fail = params.get("fail"); const from = params.get("from"); if (paid === "1") setStatus("success"); else if (fail === "1") setStatus("fail"); if (from) setFromUrl(decodeURIComponent(from)); }, []); if (status === "pending") { return (

支付结果确认中

正在查询支付状态,请稍候…
(支付完成后将自动跳转,1 分钟内未支付将返回首页)

); } if (status === "success") { return ( ); } return (
⚠️

支付未完成

支付已取消或未成功,请重试

{ e.preventDefault(); window.location.href = "/"; }} className="mt-8 inline-flex items-center gap-2 rounded-full border-2 border-slate-300 px-8 py-3 font-semibold text-slate-700 transition-colors hover:border-slate-400 hover:bg-slate-50" > ← 返回首页
); }