"use client" import { useState, useEffect } from "react" import { Users, Database, RefreshCw, Activity, Globe, Brain, Tags, LineChart, Package, ArrowUpRight, Zap, Target, CheckCircle, } from "lucide-react" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Progress } from "@/components/ui/progress" import { useRouter } from "next/navigation" import Link from "next/link" interface SystemMetrics { dataTaskSuccessRate: number tagCoverageRate: number valuePredictionAccuracy: number apiDailyCallGrowth: number } interface DataFlowStats { totalUsers: number totalProjects: number totalDataSources: number totalTags: number totalModels: number totalApiCalls: number } export default function OverviewPage() { const router = useRouter() const [searchQuery, setSearchQuery] = useState("") const [isRefreshing, setIsRefreshing] = useState(false) const [lastUpdate, setLastUpdate] = useState(new Date()) // 核心OKR指标 (按PRD定义) const [metrics, setMetrics] = useState({ dataTaskSuccessRate: 99.7, tagCoverageRate: 82.3, valuePredictionAccuracy: 87.5, apiDailyCallGrowth: 32.8, }) // 数据流统计 const [stats, setStats] = useState({ totalUsers: 4028567890, totalProjects: 1256, totalDataSources: 28, totalTags: 1892, totalModels: 15, totalApiCalls: 8956234, }) // 实时数据流 const [dataFlows, setDataFlows] = useState([ { source: "存客宝", type: "用户行为", count: 125680, status: "running" }, { source: "触客宝", type: "互动数据", count: 89234, status: "running" }, { source: "数智员工", type: "账号数据", count: 45678, status: "running" }, { source: "外部API", type: "征信数据", count: 12890, status: "waiting" }, ]) useEffect(() => { const interval = setInterval(() => { // 模拟实时数据更新 setStats((prev) => ({ ...prev, totalUsers: prev.totalUsers + Math.floor(Math.random() * 1000), totalApiCalls: prev.totalApiCalls + Math.floor(Math.random() * 100), })) setDataFlows((prev) => prev.map((flow) => ({ ...flow, count: flow.count + Math.floor(Math.random() * 100), })), ) }, 3000) return () => clearInterval(interval) }, []) const refreshData = async () => { setIsRefreshing(true) await new Promise((r) => setTimeout(r, 1000)) setLastUpdate(new Date()) setIsRefreshing(false) } const formatNumber = (num: number): string => { if (num >= 1000000000) return `${(num / 1000000000).toFixed(2)}B` if (num >= 1000000) return `${(num / 1000000).toFixed(1)}M` if (num >= 1000) return `${(num / 1000).toFixed(1)}K` return num.toString() } // 5大功能模块快捷入口(按HTML文档重构) const modules = [ { title: "数据接入", icon: Database, color: "text-blue-600", bg: "bg-blue-100", href: "/data-ingestion/sources", desc: "数据源管理、清洗规则、任务调度、数据血缘", stats: `${stats.totalDataSources}个数据源`, }, { title: "标签画像", icon: Tags, color: "text-green-600", bg: "bg-green-100", href: "/tag-portrait/tags", desc: "标签体系、用户画像、人群圈选", stats: `${stats.totalTags}个标签`, }, { title: "AI Agent", icon: Brain, color: "text-purple-600", bg: "bg-purple-100", href: "/ai-agent/chat", desc: "智能对话、AI打标、AI清洗、自然语言查询", stats: "5大AI能力", }, { title: "数据输出", icon: Package, color: "text-orange-600", bg: "bg-orange-100", href: "/data-output/packages", desc: "流量包、API市场、数据订阅", stats: `${formatNumber(stats.totalApiCalls)}次调用`, }, { title: "系统监控", icon: LineChart, color: "text-cyan-600", bg: "bg-cyan-100", href: "/system/health", desc: "系统健康、告警中心、操作日志", stats: "实时监控", }, ] return (
{/* Header */}

数据驾驶舱

私域银行生态数据中枢实时监控

系统正常 更新于 {lastUpdate.toLocaleTimeString()}
{/* 核心OKR指标 */}
数据接入成功率 目标≥99.5%
{metrics.dataTaskSuccessRate}%
标签覆盖率 目标≥80%
{metrics.tagCoverageRate}%
价值预测准确率 目标≥85%
{metrics.valuePredictionAccuracy}%
API调用增长 目标≥30%QoQ
+{metrics.apiDailyCallGrowth}%
{/* 用户资产总览 */}
全平台用户资产
{formatNumber(stats.totalUsers)} 总用户数
+2.3%
日增长
{stats.totalProjects.toLocaleString()}
项目数
125.6B
估值(元)
{/* 实时数据流 */} 实时数据流入 {dataFlows.map((flow, i) => (
{flow.source}
{flow.type}
{flow.count.toLocaleString()}
条/分钟
))}
{/* 5大功能模块入口 */}

功能模块

{modules.map((module, index) => (

{module.title}

{module.desc}

{module.stats}
))}
{/* 系统关联图说明 */} 系统关联与数据流向
{/* 数据流入 */}

数据流入

{[ { name: "存客宝", desc: "用户基础信息、交易流水" }, { name: "触客宝", desc: "互动行为、活动参与" }, { name: "数智员工", desc: "账号信息、粉丝画像" }, { name: "外部系统", desc: "征信数据、行业数据" }, ].map((item, i) => (
{item.name}
{item.desc}
))}
{/* 神射手处理 */}

神射手处理

{[ { name: "数据治理", desc: "清洗、标准化、质量监控" }, { name: "标签计算", desc: "规则/模型/AI标签生成" }, { name: "价值评估", desc: "CLV、RFM、流失预测" }, { name: "AI洞察", desc: "智能分析、报告生成" }, ].map((item, i) => (
{item.name}
{item.desc}
))}
{/* 服务输出 */}

服务输出

{[ { name: "存客宝/触客宝", desc: "画像API、人群包推送" }, { name: "数智员工", desc: "账号价值评估API" }, { name: "聚宝盆", desc: "核心指标聚合接口" }, { name: "外部客户", desc: "行业报告、趋势分析包" }, ].map((item, i) => (
{item.name}
{item.desc}
))}
) }