Files
Profeto/frontend/src/admin/routes.tsx
T
shangfangjianandnew-provider/LongCat-2.0 < ae89d0f04f feat: 数据采集管线基础设施接线 + 数据管线管理页
后端:
- bzzoiro 采集成功后写入 RawEvent(Bronze 层原始事件存档)
- 采集失败写入 IngestFailure(死信队列,支持重试)
- 写入 DataLineage(ETL 血缘追踪)
- 新增 DataQualityScheduler(每小时自动质量检查)
- 新增 /api/v1/admin/data-quality 端点(质量检查 + 手动触发)
- 新增 /api/v1/admin/ingest-failures 端点(失败记录 + 重试)
- 新增 /admin/llm/ping 端点(LLM 连通性测试,不依赖比赛)
- lifespan 启动 quality_scheduler

前端:
- 新增「数据管线」管理页(/admin/data-pipeline)
- 采集失败记录列表(状态/重试次数/错误类型)
- 数据质量检查结果(通过/未通过/严重度)
- 手动触发质量检查按钮
- 失败记录重试按钮
- 预测历史:比赛信息内嵌(日期/队名/主客徽标/赛果自动填充)
- 导航统一为 React Router Link
- AdminStats 类型扩展(matches/stats/standings 真实计数)

Co-Authored-By: new-provider/LongCat-2.0 <<EMAIL>>
2026-09-21 10:04:26 +08:00

42 lines
1.4 KiB
TypeScript

/**
* Admin 后台 - 路由配置
*
* 所有 Admin 页面的路由定义,使用嵌套路由。
* 挂载路径: /admin/*
*/
import { Navigate } from 'react-router-dom'
import AdminLayout from './AdminLayout'
import Dashboard from './pages/Dashboard'
import CollectionPage from './pages/Collection'
import DataCompletenessPage from './pages/DataCompleteness'
import PredictionsPage from './pages/PredictionHistory'
import BacktestPage from './pages/Backtest'
import MonitoringPage from './pages/Monitoring'
import SettingsPage from './pages/Settings'
import LogsPage from './pages/Logs'
import EvalPage from './pages/EvalPage'
import DataPipelinePage from './pages/DataPipeline'
export const adminRoutes = [
{
path: '/admin',
element: <AdminLayout />,
children: [
{ index: true, element: <Dashboard /> },
{ path: 'collection', element: <CollectionPage /> },
{ path: 'data-completeness', element: <DataCompletenessPage /> },
{ path: 'data-pipeline', element: <DataPipelinePage /> },
{ path: 'predictions', element: <PredictionsPage /> },
{ path: 'backtest', element: <BacktestPage /> },
{ path: 'monitoring', element: <MonitoringPage /> },
{ path: 'settings', element: <SettingsPage /> },
{ path: 'logs', element: <LogsPage /> },
{ path: 'eval', element: <EvalPage /> },
{ path: '*', element: <Navigate to="/admin" replace /> },
],
},
]
export { adminRoutes as default }