refactor: mock清理+安全配置+通用组件+菜单优化

P0安全: SECRET_KEY/ADMIN_PASSWORD/CORS环境变量化, seed仅admin

P1Mock: mock.ts 301->88行, 删8数据mock+5generateMock, net-1300行

P2组件: useToast/useFetchList+ConfirmDialog/FormDialog

P3菜单: menuSections/menuItems->constants/menu.ts

P4API: NotificationsPage/WorkflowPage重写+RolesPage演示

测试: 1050passed, tsc clean
This commit is contained in:
logan committed 2026-05-24 02:42:29 +08:00
1 parent ec3a03cf38
commit 8b921c6c83
33 files changed
+1734 -2006

No files matched your search

+3 -2
View File
@@ -7,7 +7,8 @@ import {
Filter, Eye, BarChart3,
} from 'lucide-react';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { dbInstances, statusMap, statusColorMap, dbTypeColorMap, tickets, announcements } from '@/lib/mock';
import { statusMap, statusColorMap, dbTypeColorMap } from '@/lib/mock';
import type { DBInstance } from '@/types';
import { useTheme } from '@/hooks/useTheme';
import { useAuth } from '@/hooks/useAuth';
import { dashboardApi } from '@/api/dashboard';
@@ -64,7 +65,7 @@ const trendDatasets: Record<TrendRange, TrendDataset> = {
/* ------------------------------------------------------------------ */
/* Helpers */
/* ------------------------------------------------------------------ */
function calcHealthScore(inst: typeof dbInstances[0]): number {
function calcHealthScore(inst: DBInstance): number {
if (inst.status === 'offline') return 0;
let score = 100;
if (inst.cpu > 80) score -= 25;