"use client"; import { useEffect, useState, useCallback } from "react"; import { api, RatesResponse, StatsResponse, HistoryResponse } from "@/lib/api"; import RateCard from "@/components/RateCard"; import StatsCard from "@/components/StatsCard"; import FundingChart from "@/components/FundingChart"; export default function Dashboard() { const [rates, setRates] = useState(null); const [stats, setStats] = useState(null); const [history, setHistory] = useState(null); const [status, setStatus] = useState<"loading" | "running" | "error">("loading"); const [lastUpdate, setLastUpdate] = useState(""); const fetchRates = useCallback(async () => { try { const r = await api.rates(); setRates(r); setStatus("running"); setLastUpdate(new Date().toLocaleTimeString("zh-CN")); } catch { setStatus("error"); } }, []); const fetchAll = useCallback(async () => { try { const [s, h] = await Promise.all([api.stats(), api.history()]); setStats(s); setHistory(h); } catch { // stats/history 失败不影响主界面 } }, []); useEffect(() => { fetchRates(); fetchAll(); const rateInterval = setInterval(fetchRates, 2_000); // 价格 2秒刷新 const slowInterval = setInterval(fetchAll, 120_000); // 统计 2分钟刷新 return () => { clearInterval(rateInterval); clearInterval(slowInterval); }; }, [fetchRates, fetchAll]); return (
{/* Header */}

资金费率套利监控

实时监控 BTC / ETH 永续合约资金费率

{status === "running" ? "运行中" : status === "error" ? "连接失败" : "加载中..."} {lastUpdate && ( 更新于 {lastUpdate} )}
{/* Rate Cards */}
{/* Stats Cards */} {stats && (
)} {/* History Chart */} {history && (

过去7天资金费率走势

)} {/* Strategy note */}
策略原理: 持有现货多头 + 永续空头,每8小时收取资金费率,赚取无方向风险的稳定收益。
); }