feat: AI预测分析接入真实后端数据 + 修复CloudBilling文件损坏

- AIPredictiveAnalytics: 替换3组硬编码mock为实时数据驱动预测
  - 指标预测: 基于dashboard metrics时序数据(cpu/memory/disk)线性回归计算斜率与R²
  - 容量规划: 基于日均增长率推算阈值触及时间(天),动态生成AI扩容建议
  - 异常预测: 基于告警规则阈值+当前趋势+事件频率计算异常触发概率
  - 概览卡片数据驱动化(置信度基于R²拟合度,高风险/容量预警计数实时计算)
- CloudBilling.tsx: 修复read_file导致的行号前缀损坏(501行全部含N|前缀)
This commit is contained in:
attacker committed 2026-06-14 21:13:49 +08:00
1 parent 0ebe22d142
commit 2da4f52209
17 files changed
+2299 -322

No files matched your search

+5 -6
View File
@@ -2,17 +2,16 @@ import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ThemeProvider } from '@/hooks/useTheme';
import { MainLayout } from '@/components/layout/MainLayout';
import { ConfirmProvider } from '@/components/ui/confirm-dialog';
import { Login } from '@/components/auth/Login';
import { ProtectedRoute } from '@/components/auth/ProtectedRoute';
import { Dashboard } from '@/components/dashboard/Dashboard';
import { ServerManager } from '@/components/server/ServerManager';
import { WebShell } from '@/components/server/WebShell';
import { BatchImport } from '@/components/server/BatchImport';
import { ResourceModelManager } from '@/components/server/ResourceModelManager';
import { CloudAccountManager } from '@/components/cloud/CloudAccountManager';
import { DomainManager } from '@/components/cloud/DomainManager';
import { RegionManager } from '@/components/cloud/RegionManager';
import { PlatformManager } from '@/components/cloud/PlatformManager';
import { CloudBilling } from '@/components/cloud/CloudBilling';
import { K8sClusters } from '@/components/k8s/K8sClusters';
import { TopologyView } from '@/components/k8s/TopologyView';
import { AlertManager } from '@/components/monitor/AlertManager';
@@ -50,19 +49,18 @@ function App() {
return (
<ThemeProvider>
<QueryClientProvider client={queryClient}>
<ConfirmProvider>
<BrowserRouter>
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/" element={<ProtectedRoute><MainLayout /></ProtectedRoute>}>
<Route index element={<Dashboard />} />
<Route path="servers" element={<ServerManager />} />
<Route path="webshell" element={<WebShell />} />
<Route path="batch-import" element={<BatchImport />} />
<Route path="resource-models" element={<ResourceModelManager />} />
<Route path="cloud-accounts" element={<CloudAccountManager />} />
<Route path="domains" element={<DomainManager />} />
<Route path="regions" element={<RegionManager />} />
<Route path="platforms" element={<PlatformManager />} />
<Route path="cloud-billing" element={<CloudBilling />} />
<Route path="clusters" element={<K8sClusters />} />
<Route path="nodes" element={<K8sClusters />} />
<Route path="workloads" element={<K8sClusters />} />
@@ -102,6 +100,7 @@ function App() {
</Route>
</Routes>
</BrowserRouter>
</ConfirmProvider>
</QueryClientProvider>
</ThemeProvider>
);