"use client"; import { useEffect } from "react"; import styles from "../vip.module.css"; import { AuthForm } from "./AuthForm"; type PayAuthModalProps = { open: boolean; onClose: () => void; onSuccess: () => void; }; /** 支付前强制补充邮箱:注册/登录以关联 users 记录 */ export function PayAuthModal({ open, onClose, onSuccess }: PayAuthModalProps) { useEffect(() => { if (open) document.body.style.overflow = "hidden"; else document.body.style.overflow = ""; return () => { document.body.style.overflow = ""; }; }, [open]); useEffect(() => { if (!open) return; const onKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape") onClose(); }; window.addEventListener("keydown", onKeyDown); return () => window.removeEventListener("keydown", onKeyDown); }, [open, onClose]); const handleSuccess = () => { onClose(); onSuccess(); }; if (!open) return null; return (
e.stopPropagation()} >

请先注册/登录

补充邮箱用于关联会员权益,支付后可在各站点通用

); }