"use client" import { useState } from "react" import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Database, Server, Link, RefreshCw, Download, Mail, FileText } from "lucide-react" import { Textarea } from "@/components/ui/textarea" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog" import { Badge } from "@/components/ui/badge" import { Checkbox } from "@/components/ui/checkbox" import { Label } from "@/components/ui/label" import { DataSourceList } from "@/components/data-integration/data-source-list" import { DataFieldMapping } from "@/components/data-integration/data-field-mapping" import { DataCollectionSettings } from "@/components/data-integration/data-collection-settings" import { ApiDocumentation } from "@/components/data-integration/api-documentation" interface DataSource { id: string name: string type: "mysql" | "postgresql" | "mongodb" | "oracle" | "sqlserver" | "api" | "file" status: "connected" | "disconnected" | "error" lastSync: string tables: number records: number } export default function DataPlatformPage() { const [activeTab, setActiveTab] = useState("data-integration") const [selectedUserSegment, setSelectedUserSegment] = useState("") const [analysisPrompt, setAnalysisPrompt] = useState("") const [selectedEmail, setSelectedEmail] = useState("") const [isAddingDataSource, setIsAddingDataSource] = useState(false) // 数据源列表 const dataSources: DataSource[] = [ { id: "1", name: "用户数据库", type: "mysql", status: "connected", lastSync: "2023-07-21 15:30", tables: 12, records: 1250000, }, { id: "2", name: "交易系统", type: "postgresql", status: "connected", lastSync: "2023-07-21 14:45", tables: 8, records: 3450000, }, { id: "3", name: "用户行为数据", type: "mongodb", status: "connected", lastSync: "2023-07-21 13:20", tables: 5, records: 7800000, }, { id: "4", name: "CRM系统", type: "oracle", status: "error", lastSync: "2023-07-20 09:15", tables: 15, records: 2100000, }, ] // 用户画像分群列表 const userSegments = [ { id: "high-value", name: "高价值用户", count: 12500 }, { id: "new-users", name: "新注册用户", count: 45600 }, { id: "inactive", name: "非活跃用户", count: 28900 }, { id: "potential", name: "潜在高转化用户", count: 18700 }, { id: "loyal", name: "忠诚用户", count: 9800 }, { id: "risk", name: "流失风险用户", count: 15400 }, ] // 邮箱列表 const emailList = [ { id: "1", email: "marketing@company.com", name: "营销团队" }, { id: "2", email: "sales@company.com", name: "销售团队" }, { id: "3", email: "product@company.com", name: "产品团队" }, { id: "4", email: "executive@company.com", name: "管理层" }, ] const getDataSourceIcon = (type: DataSource["type"]) => { switch (type) { case "mysql": case "postgresql": case "oracle": case "sqlserver": return case "mongodb": return case "api": case "file": return } } const getDataSourceTypeName = (type: DataSource["type"]) => { switch (type) { case "mysql": return "MySQL" case "postgresql": return "PostgreSQL" case "mongodb": return "MongoDB" case "oracle": return "Oracle" case "sqlserver": return "SQL Server" case "api": return "API" case "file": return "文件" } } const getStatusBadge = (status: DataSource["status"]) => { switch (status) { case "connected": return 已连接 case "disconnected": return 未连接 case "error": return 错误 } } return (

数据中台

数据集成、API管理与数据采集

数据集成 数据采集 数据映射 API管理 {/* 数据集成标签页 */} 数据源管理 管理和查看已连接的数据源 数据整合概览 基于ID、手机号、身份证号和IMEI设备号的数据整合

用户ID

1,245,678 条记录

手机号

987,543 条记录

身份证号

654,321 条记录

IMEI设备号

789,456 条记录

数据整合状态

最后更新: 2023-07-21 16:30

用户数据整合率 87%
数据质量评分 92/100
数据重复率 5.2%
{/* 数据采集标签页 */} {/* 数据映射标签页 */} {/* API管理标签页 */}
{/* 添加数据源对话框 */} 添加新数据源 选择数据源类型并填写连接信息
{/* AI数据分析对话框 */} AI数据分析 选择用户分群并输入分析需求