"use client" import { useState, useEffect } from "react" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Package, Server, Download, Upload, Users, Activity, ArrowRight, CheckCircle2, Zap } from "lucide-react" import Link from "next/link" const assetOverview = { totalPackages: 156, apiServices: 28, totalCalls: 12580000, activeSubscribers: 89, } const trafficPackages = [ { id: 1, name: "高价值用户包", users: 125800, status: "active", updated: "2小时前", downloads: 23 }, { id: 2, name: "流失预警用户包", users: 23400, status: "active", updated: "1小时前", downloads: 15 }, { id: 3, name: "潜力转化用户包", users: 89000, status: "active", updated: "30分钟前", downloads: 45 }, { id: 4, name: "沉默用户唤醒包", users: 156000, status: "pending", updated: "生成中", downloads: 0 }, ] const apiServices = [ { id: 1, name: "用户画像查询API", calls: 2580000, qps: 1200, status: "running", latency: "32ms" }, { id: 2, name: "价值评估API", calls: 1890000, qps: 800, status: "running", latency: "45ms" }, { id: 3, name: "标签推荐API", calls: 980000, qps: 500, status: "running", latency: "28ms" }, { id: 4, name: "流失预测API", calls: 560000, qps: 300, status: "running", latency: "120ms" }, ] export default function DataAssetPage() { const [todayCalls, setTodayCalls] = useState(258000) useEffect(() => { const interval = setInterval(() => { setTodayCalls((prev) => prev + Math.floor(Math.random() * 1000)) }, 2000) return () => clearInterval(interval) }, []) return (
流量包管理、API服务市场、数据输出
流量包总数
{assetOverview.totalPackages}
本月新增 12
API服务数
{assetOverview.apiServices}
全部运行中
今日API调用
{todayCalls.toLocaleString()}
较昨日 +15.2%
活跃订阅方
{assetOverview.activeSubscribers}
本月新增 8
创建、管理、导出用户流量包
API服务发布、订阅、监控
{pkg.name}
{pkg.users.toLocaleString()} 用户
{pkg.updated}
{pkg.downloads > 0 && (
{api.name}
QPS: {api.qps} | 延迟: {api.latency}
{(api.calls / 1000000).toFixed(1)}M
总调用