"use client" import { useState, useEffect } from "react" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Loader2 } from "lucide-react" interface Count { count: number } export default function DatabaseStats() { const [videoCount, setVideoCount] = useState(null) const [uploaderCount, setUploaderCount] = useState(null) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { const fetchCounts = async () => { try { setLoading(true) const videoResponse = await fetch("https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/database/video_count") const uploaderResponse = await fetch("https://v-api-proxy-cn-1.mei.lv:3389/basic/v1/database/uploader_count") if (!videoResponse.ok || !uploaderResponse.ok) { throw new Error("服务器响应错误") } const videoData = await videoResponse.json() const uploaderData = await uploaderResponse.json() setVideoCount(videoData) setUploaderCount(uploaderData) } catch (error) { console.error("获取数据库统计信息时出错:", error) setError("无法获取数据库统计信息") } finally { setLoading(false) } } fetchCounts() }, []) return ( 数据库统计 {loading ? (
) : error ? (

{error}

) : (

视频数量

{videoCount ? videoCount.count.toLocaleString() : "暂无数据"}

UP主数量

{uploaderCount ? uploaderCount.count.toLocaleString() : "暂无数据"}

)}
) }