"use client"; import { Activity, Building2, GraduationCap, Users } from "lucide-react"; import { useAdminDashboard } from "@/lib/api"; import { DashboardShell } from "@/shared/components/dashboard/dashboard-shell"; import { DashboardSection } from "@/shared/components/dashboard/dashboard-section"; import { StatCard } from "@/shared/components/ui/stat-card"; import { Card, CardContent } from "@/shared/components/ui/card"; /** * 管理员仪表盘(ARCHITECTURE.md §7.1 / §10 P1-2) * * 改接 data-ana 的 adminDashboard 真实聚合查询,替换原 * announcements 假契约 widget 查询。 * * 关联:ARCHITECTURE.md §5.5 / §10 P1-2 */ export default function AdminDashboardPage(): React.ReactElement { const { data, loading, error } = useAdminDashboard(); if (loading) { return (
{Array.from({ length: 4 }).map((_, i) => ( ))}
); } if (error || !data) { return ( 仪表盘数据加载失败,请稍后重试。 ); } return ( } > {data.recent_warnings ? (
{data.recent_warnings.target_name ?? "--"} {data.recent_warnings.severity ?? "--"}

类型:{data.recent_warnings.warning_type ?? "--"} · 当前值{" "} {data.recent_warnings.current_value?.toFixed(1) ?? "--"} / 阈值{" "} {data.recent_warnings.threshold?.toFixed(1) ?? "--"}

) : (

暂无预警

)}
{data.ai_usage ? (
总请求 {data.ai_usage.total_requests ?? "--"}
总 Token {data.ai_usage.total_tokens ?? "--"}
总费用(分) {data.ai_usage.total_cost_cents ?? "--"}
) : (

暂无 AI 用量数据

)}
); }