Phase 6: Complete admin pages (Analytics, Monitor, Logs) and Phase 7: Asset management foundation
Phase 6 completion: - Add Analytics page with charts (user growth, revenue, retention) - Add SystemMonitor page (CPU, memory, services health) - Add LogViewer page (log search, filtering, details) - Update sidebar navigation with Admin submenu - Add recharts to package.json for data visualization Phase 7 Day 1-2: - Create Asset and AssetLibrary domain entities - Define AssetRepository and AssetLibraryRepository interfaces - Implement InMemory repositories for testing - Implement PostgreSQL repository adapter - Update SQLAlchemy models for assets and asset_libraries - Add database migration script 004_asset_management.sql Architecture: Strict Clean Architecture compliance Testing: InMemory adapters ready for unit tests Database: Migration script with indexes and foreign keys
This commit is contained in:
@@ -9,6 +9,10 @@ import {
|
||||
TeamOutlined,
|
||||
CrownOutlined,
|
||||
UserOutlined,
|
||||
DashboardOutlined,
|
||||
BarChartOutlined,
|
||||
MonitorOutlined,
|
||||
FileTextOutlined,
|
||||
} from '@ant-design/icons';
|
||||
import { useNavigate, useLocation } from 'react-router-dom';
|
||||
import type { MenuProps } from 'antd';
|
||||
@@ -48,6 +52,43 @@ const Sidebar: React.FC<SidebarProps> = ({ collapsed }) => {
|
||||
label: '订阅管理',
|
||||
onClick: () => navigate('/subscription'),
|
||||
},
|
||||
{
|
||||
key: '/admin',
|
||||
icon: <DashboardOutlined />,
|
||||
label: 'Admin',
|
||||
children: [
|
||||
{
|
||||
key: '/admin',
|
||||
icon: <DashboardOutlined />,
|
||||
label: 'Dashboard',
|
||||
onClick: () => navigate('/admin'),
|
||||
},
|
||||
{
|
||||
key: '/admin/users',
|
||||
icon: <TeamOutlined />,
|
||||
label: '用户管理',
|
||||
onClick: () => navigate('/admin/users'),
|
||||
},
|
||||
{
|
||||
key: '/admin/analytics',
|
||||
icon: <BarChartOutlined />,
|
||||
label: '数据分析',
|
||||
onClick: () => navigate('/admin/analytics'),
|
||||
},
|
||||
{
|
||||
key: '/admin/monitor',
|
||||
icon: <MonitorOutlined />,
|
||||
label: '系统监控',
|
||||
onClick: () => navigate('/admin/monitor'),
|
||||
},
|
||||
{
|
||||
key: '/admin/logs',
|
||||
icon: <FileTextOutlined />,
|
||||
label: '日志查看',
|
||||
onClick: () => navigate('/admin/logs'),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: '/profile',
|
||||
icon: <UserOutlined />,
|
||||
|
||||
Reference in New Issue
Block a user