refactor: 标准化项目结构 frontend/ + backend/ + SQLite + run.sh

- 目录重构: app/ -> frontend/,与 backend/ 并列
- 数据库: 默认 SQLite(零配置),修复 DSN() bug
- run.sh: 一键启动前后端,支持 start/stop/restart/status
- Makefile: install/dev/build/lint/clean 快捷命令
- vite.config.ts: 配置 dev server 端口 5173 + API 代理到 8080
- config.yaml: SQLite 默认配置,开箱即用
- docs/: 完整开发文档(项目结构/API/数据库/规范/部署)
- 修复: GORM foreign key 关联声明
- 修复: go get gorm.io/driver/sqlite 依赖
This commit is contained in:
attacker committed 2026-06-13 23:34:23 +08:00
1 parent 7d6674bddd
commit 97c4207ff8
132 files changed
+1572 -34

No files matched your search

+104
View File
@@ -0,0 +1,104 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { MainLayout } from '@/components/layout/MainLayout';
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 { 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 { AutomationManager } from '@/components/automation/Automation';
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 { 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 SQLAuditManager from '@/components/audit/SQLAuditManager';
import LogManager from '@/components/monitor/logs/LogManager';
import AlertCenter from '@/components/monitor/alert-center/AlertCenter';
import TraceManager from '@/components/monitor/trace/TraceManager';
import GrafanaDashboard from '@/components/monitor/dashboard/GrafanaDashboard';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 5 * 60 * 1000,
retry: 1,
},
},
});
function App() {
return (
<QueryClientProvider client={queryClient}>
<BrowserRouter>
<Routes>
<Route path="/" element={<MainLayout />}>
<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="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="logs-monitor" element={<LogManager />} />
<Route path="trace" element={<TraceManager />} />
<Route path="grafana" element={<GrafanaDashboard />} />
<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={<AutomationManager />} />
<Route path="ansible" element={<AnsibleManager />} />
<Route path="playbooks" element={<AutomationManager />} />
{/* 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="sql-audit" element={<SQLAuditManager />} />
<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>
</QueryClientProvider>
);
}
export default App;