"use client" import { useEffect, useState } from "react" import { AlertTriangle } from "lucide-react" import { RiskInfo, RiskInfoBox } from "@/components/common/risk/risk-info-box" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog" const RISK_BLOCKED_EVENT = "credit-risk-blocked" function isRiskInfo(value: unknown): value is RiskInfo { if (!value || typeof value !== "object") return false const riskInfo = value as Partial return typeof riskInfo.risk_level === "string" && Array.isArray(riskInfo.risk_labels) && Array.isArray(riskInfo.risks) } export function RiskBlockDialog() { const [riskInfo, setRiskInfo] = useState(null) useEffect(() => { const handleRiskBlocked = (event: Event) => { const detail = (event as CustomEvent).detail if (!isRiskInfo(detail)) return setRiskInfo(detail) } window.addEventListener(RISK_BLOCKED_EVENT, handleRiskBlocked) return () => window.removeEventListener(RISK_BLOCKED_EVENT, handleRiskBlocked) }, []) return ( event.preventDefault()} onPointerDownOutside={(event) => event.preventDefault()} onInteractOutside={(event) => event.preventDefault()} className="sm:max-w-md" >
账号存在风险 因触发风控,账号暂时无法使用需登录的功能
) }