Files
team-api/web/admin/src/router/admin.ts
T

290 lines
8.8 KiB
TypeScript

import type { RouteRecordRaw } from 'vue-router'
const adminRoutes: RouteRecordRaw[] = [
{
path: '/admin/setup',
name: 'AdminSetup',
component: () => import('@/views/SetupPage.vue'),
meta: { requiresAuth: false, title: '系统初始化' },
},
{
path: '/admin/login',
name: 'AdminLogin',
component: () => import('@/views/LoginPage.vue'),
meta: { requiresAuth: false, title: '管理员登录' },
},
{
path: '/admin',
component: () => import('@/views/AdminLayout.vue'),
meta: { requiresAuth: true },
children: [
{
path: '',
name: 'AdminDashboard',
component: () => import('@/views/DashboardPage.vue'),
meta: { title: '仪表盘' },
},
{
path: 'profile',
name: 'AdminProfile',
component: () => import('@/views/system/ProfilePage.vue'),
meta: { title: '个人信息' },
},
{
path: 'users',
name: 'AdminUsers',
component: () => import('@/views/system/UsersPage.vue'),
meta: { title: '用户管理' },
},
{
path: 'plugins',
name: 'AdminPlugins',
component: () => import('@/views/system/PluginsPage.vue'),
meta: { title: '插件管理' },
},
{
path: 'models',
name: 'AdminModels',
component: () => import('@/views/ai/ModelsPage.vue'),
meta: { title: '模型管理' },
},
{
path: 'model-groups',
name: 'AdminModelGroups',
component: () => import('@/views/ai/ModelGroupsPage.vue'),
meta: { title: '模型分组' },
},
{
path: 'channels',
name: 'AdminChannels',
component: () => import('@/views/ai/ChannelsPage.vue'),
meta: { title: '渠道管理' },
},
{
path: 'channels/:id',
name: 'AdminChannelDetail',
component: () => import('@/views/ai/ChannelDetailPage.vue'),
meta: { title: '渠道详情' },
},
{
path: 'usage-logs',
name: 'AdminUsageLogs',
component: () => import('@/views/tenant/UsageLogsPage.vue'),
meta: { title: '用量日志' },
},
{
path: 'billing',
name: 'AdminBilling',
component: () => import('@/views/finance/BillingPage.vue'),
meta: { title: '计费管理' },
},
{
path: 'plans',
name: 'AdminPlans',
component: () => import('@/views/finance/PlansPage.vue'),
meta: { title: '套餐管理' },
},
{
path: 'orders',
name: 'AdminOrders',
component: () => import('@/views/finance/OrdersPage.vue'),
meta: { title: '订单管理' },
},
{
path: 'payment-settings',
name: 'AdminPaymentSettings',
component: () => import('@/views/finance/PaymentSettingsPage.vue'),
meta: { title: '支付设置' },
},
{
path: 'redemptions',
name: 'AdminRedemptions',
component: () => import('@/views/finance/RedemptionsPage.vue'),
meta: { title: '兑换码管理' },
},
{
path: 'promo-codes',
name: 'AdminPromoCodes',
component: () => import('@/views/finance/PromoCodesPage.vue'),
meta: { title: '优惠码管理' },
},
{
path: 'sessions',
name: 'AdminSessions',
component: () => import('@/views/security/SessionsPage.vue'),
meta: { title: '会话管理' },
},
{
path: 'permissions',
name: 'AdminPermissions',
component: () => import('@/views/security/PermissionsPage.vue'),
meta: { title: '权限管理' },
},
{
path: 'login-history',
name: 'AdminLoginHistory',
component: () => import('@/views/security/LoginHistoryPage.vue'),
meta: { title: '登录历史' },
},
{
path: 'tenant-login-history',
name: 'AdminTenantLoginHistory',
component: () => import('@/views/security/TenantLoginHistoryPage.vue'),
meta: { title: '租户登录历史' },
},
{
path: 'task-logs',
name: 'AdminTaskLogs',
component: () => import('@/views/ai/TaskLogsPage.vue'),
meta: { title: '任务日志' },
},
{
path: 'model-pricing',
name: 'AdminModelPricing',
component: () => import('@/views/ai/ModelPricingPage.vue'),
meta: { title: '模型定价' },
},
{
path: 'tenants',
name: 'AdminTenants',
component: () => import('@/views/tenant/TenantsPage.vue'),
meta: { title: '租户列表' },
},
{
path: 'tenants/:id',
name: 'AdminTenantDetail',
component: () => import('@/views/tenant/TenantDetailPage.vue'),
meta: { title: '租户详情' },
},
{
path: 'tenant-levels',
name: 'AdminTenantLevels',
component: () => import('@/views/tenant/TenantLevelsPage.vue'),
meta: { title: '租户级别' },
},
{
path: 'members',
name: 'AdminMembers',
component: () => import('@/views/tenant/MembersPage.vue'),
meta: { title: '成员列表' },
},
{
path: 'audit',
name: 'AdminAudit',
component: () => import('@/views/security/AuditPage.vue'),
meta: { title: '操作日志' },
},
{
path: 'request-audit-logs',
name: 'AdminRequestAuditLogs',
component: () => import('@/views/security/RequestAuditLogsPage.vue'),
meta: { title: '请求审计日志' },
},
{
path: 'notification-templates',
name: 'AdminNotificationTemplates',
component: () => import('@/views/operation/NotificationTemplatesPage.vue'),
meta: { title: '通知模板' },
},
{
path: 'messages',
name: 'AdminMessages',
component: () => import('@/views/operation/MessagesPage.vue'),
meta: { title: '消息管理' },
},
{
path: 'announcements',
name: 'AdminAnnouncements',
component: () => import('@/views/operation/AnnouncementsPage.vue'),
meta: { title: '公告管理' },
},
{
path: 'tickets',
name: 'AdminTickets',
component: () => import('@/views/operation/TicketsPage.vue'),
meta: { title: '工单管理' },
},
{
path: 'feedback',
name: 'AdminFeedback',
component: () => import('@/views/operation/FeedbackPage.vue'),
meta: { title: '反馈管理' },
},
{
path: 'settings',
name: 'AdminSettings',
component: () => import('@/views/system/SettingsPage.vue'),
meta: { title: '系统设置' },
},
{
path: 'help-categories',
name: 'AdminHelpCategories',
component: () => import('@/views/system/HelpCategoriesPage.vue'),
meta: { title: '帮助分类' },
},
{
path: 'help-articles',
name: 'AdminHelpArticles',
component: () => import('@/views/system/HelpArticlesPage.vue'),
meta: { title: '帮助文章' },
},
{
path: 'changelogs',
name: 'AdminChangelogs',
component: () => import('@/views/operation/ChangelogsPage.vue'),
meta: { title: '更新日志' },
},
{
path: 'realtime',
name: 'AdminRealtimeMonitor',
component: () => import('@/views/monitor/RealtimeMonitorPage.vue'),
meta: { title: '实时监控面板' },
},
{
path: 'monitor',
name: 'AdminMonitor',
component: () => import('@/views/monitor/MonitorPage.vue'),
meta: { title: '系统监控' },
},
{
path: 'alert-rules',
name: 'AdminAlertRules',
component: () => import('@/views/monitor/AlertRulesPage.vue'),
meta: { title: '告警规则' },
},
{
path: 'alert-events',
name: 'AdminAlertEvents',
component: () => import('@/views/monitor/AlertEventsPage.vue'),
meta: { title: '告警记录' },
},
{
path: 'error-logs',
name: 'AdminErrorLogs',
component: () => import('@/views/monitor/ErrorLogsPage.vue'),
meta: { title: '系统错误日志' },
},
{
path: 'channel-errors',
name: 'AdminChannelErrors',
component: () => import('@/views/monitor/ChannelErrorsPage.vue'),
meta: { title: '渠道错误监控' },
},
{
path: 'content-filter-logs',
name: 'AdminContentFilterLogs',
component: () => import('@/views/monitor/ContentFilterLogsPage.vue'),
meta: { title: '拦截日志' },
},
{
path: 'cron-jobs',
name: 'AdminCronJobs',
component: () => import('@/views/monitor/CronJobsPage.vue'),
meta: { title: '定时任务' },
},
],
},
]
export default adminRoutes