111 lines
5.8 KiB
TypeScript
111 lines
5.8 KiB
TypeScript
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 { 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';
|
|
import { AppReleaseManager } from '@/components/deploy/AppRelease';
|
|
import { ApprovalFlowManager } from '@/components/approval/ApprovalFlow';
|
|
import { NavigationPage } from '@/components/navigation/NavigationPage';
|
|
import { ScriptManager } from '@/components/automation/ScriptManager';
|
|
import { SystemManager } from '@/components/system/SystemManager';
|
|
import { PipelineManager } from '@/components/deploy/PipelineManager';
|
|
import { ReleaseManager } from '@/components/deploy/ReleaseManager';
|
|
import { CronJobManager } from '@/components/automation/CronJobManager';
|
|
import AnsibleManager from '@/components/automation/AnsibleManager';
|
|
import SQLAuditManager from '@/components/audit/SQLAuditManager';
|
|
import { AIOpsAssistant } from '@/components/aiops/AIOpsAssistant';
|
|
import { AIOpsHub } from '@/components/aiops/AIOpsHub';
|
|
import { AIAlertAnalyzer } from '@/components/aiops/AIAlertAnalyzer';
|
|
import { AIScriptGenerator } from '@/components/aiops/AIScriptGenerator';
|
|
import { AIFaultDiagnosis } from '@/components/aiops/AIFaultDiagnosis';
|
|
import { AIPredictiveAnalytics } from '@/components/aiops/AIPredictiveAnalytics';
|
|
import AlertCenter from '@/components/monitor/alert-center/AlertCenter';
|
|
import TraceManager from '@/components/monitor/trace/TraceManager';
|
|
import GrafanaDashboard from '@/components/monitor/dashboard/GrafanaDashboard';
|
|
import { AgentMonitor } from '@/components/agent/AgentMonitor';
|
|
import { AgentAlerts } from '@/components/agent/AgentAlerts';
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 5 * 60 * 1000,
|
|
retry: 1,
|
|
},
|
|
},
|
|
});
|
|
|
|
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="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="agent-monitor" element={<AgentMonitor />} />
|
|
<Route path="clusters" element={<K8sClusters />} />
|
|
<Route path="nodes" element={<K8sClusters />} />
|
|
<Route path="workloads" element={<K8sClusters />} />
|
|
<Route path="topology" element={<TopologyView />} />
|
|
{/* 应用发布 */}
|
|
<Route path="pipelines" element={<PipelineManager />} />
|
|
<Route path="releases" element={<ReleaseManager />} />
|
|
<Route path="deploy" element={<AppReleaseManager />} />
|
|
{/* 监控告警 */}
|
|
<Route path="metrics" element={<AlertManager />} />
|
|
<Route path="alert-center" element={<AlertCenter />} />
|
|
<Route path="trace" element={<TraceManager />} />
|
|
<Route path="grafana" element={<GrafanaDashboard />} />
|
|
<Route path="agent-alerts" element={<AgentAlerts />} />
|
|
<Route path="alerts" element={<AlertManager />} />
|
|
<Route path="logs" element={<AlertManager />} />
|
|
<Route path="approval" element={<ApprovalFlowManager />} />
|
|
<Route path="navigation" element={<NavigationPage />} />
|
|
{/* 自动化运维 */}
|
|
<Route path="cronjobs" element={<CronJobManager />} />
|
|
<Route path="scripts" element={<ScriptManager />} />
|
|
<Route path="ansible" element={<AnsibleManager />} />
|
|
<Route path="sql-audit" element={<SQLAuditManager />} />
|
|
{/* AIOps智能 */}
|
|
<Route path="ai-hub" element={<AIOpsHub />} />
|
|
<Route path="ai-assistant" element={<AIOpsAssistant />} />
|
|
<Route path="ai-alert-analyzer" element={<AIAlertAnalyzer />} />
|
|
<Route path="ai-script-generator" element={<AIScriptGenerator />} />
|
|
<Route path="ai-fault-diagnosis" element={<AIFaultDiagnosis />} />
|
|
<Route path="ai-predictive" element={<AIPredictiveAnalytics />} />
|
|
<Route path="users" element={<SystemManager />} />
|
|
<Route path="roles" element={<SystemManager />} />
|
|
<Route path="logs-audit" element={<SystemManager />} />
|
|
<Route path="settings" element={<SystemManager />} />
|
|
<Route path="*" element={<Navigate to="/" replace />} />
|
|
</Route>
|
|
</Routes>
|
|
</BrowserRouter>
|
|
</ConfirmProvider>
|
|
</QueryClientProvider>
|
|
</ThemeProvider>
|
|
);
|
|
}
|
|
|
|
export default App;
|