admin-projects/src/services/mock-data.ts
WangDL b26bcba774
All checks were successful
Deploy Admin Frontend / build-and-deploy (push) Successful in 7s
fix: update mock data to match new DashboardStats type fields
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 17:39:41 +08:00

104 lines
2.9 KiB
TypeScript

import type { DashboardStats, AuditLog, TrendPoint } from '@/types/admin'
function makeTrend(days: number, base: number, variance: number): TrendPoint[] {
return Array.from({ length: days }, (_, i) => {
const d = new Date()
d.setDate(d.getDate() - (days - 1 - i))
return {
date: d.toISOString().split('T')[0],
value: Math.max(0, base + Math.round((Math.random() - 0.5) * variance)),
}
})
}
export const MOCK_DASHBOARD_STATS: DashboardStats = {
totalUsers: 1286,
newUsersToday: 23,
activeUsersToday: 347,
totalKnowledgeBases: 892,
newKbsToday: 15,
totalAiCallsToday: 4521,
totalFiles: 3412,
totalStorageBytes: 15_728_640_000,
userTrend: makeTrend(30, 40, 30),
aiCallTrend: makeTrend(30, 150, 100),
todayImportCount: 12,
failedImportCount: 2,
todayAiCost: 3.45,
failedTasks: 1,
upcomingExpirations: 0,
}
export const MOCK_AUDIT_LOGS: AuditLog[] = [
{
id: 'log-001',
adminUserId: 'admin-001',
adminUserEmail: 'admin@longde.cloud',
adminUserDisplayName: '超级管理员',
action: 'LOGIN',
resourceType: null,
resourceId: null,
beforeJson: null,
afterJson: null,
ip: '120.53.227.155',
userAgent: 'Chrome/130.0',
createdAt: new Date(Date.now() - 1000 * 60 * 5).toISOString(),
},
{
id: 'log-002',
adminUserId: 'admin-001',
adminUserEmail: 'admin@longde.cloud',
adminUserDisplayName: '超级管理员',
action: 'CREATE_ADMIN',
resourceType: 'AdminUser',
resourceId: 'admin-002',
beforeJson: null,
afterJson: { email: 'ops@longde.cloud', role: 'OPERATIONS' },
ip: '120.53.227.155',
userAgent: 'Chrome/130.0',
createdAt: new Date(Date.now() - 1000 * 60 * 30).toISOString(),
},
{
id: 'log-003',
adminUserId: 'admin-002',
adminUserEmail: 'ops@longde.cloud',
adminUserDisplayName: '运营小王',
action: 'UPDATE_USER_STATUS',
resourceType: 'User',
resourceId: 'user-123',
beforeJson: { status: 'active' },
afterJson: { status: 'disabled' },
ip: '120.53.227.156',
userAgent: 'Firefox/132.0',
createdAt: new Date(Date.now() - 1000 * 60 * 60).toISOString(),
},
{
id: 'log-004',
adminUserId: 'admin-001',
adminUserEmail: 'admin@longde.cloud',
adminUserDisplayName: '超级管理员',
action: 'DELETE_FILE',
resourceType: 'UploadedFile',
resourceId: 'file-456',
beforeJson: { filename: '违规内容.pdf' },
afterJson: null,
ip: '120.53.227.155',
userAgent: 'Chrome/130.0',
createdAt: new Date(Date.now() - 1000 * 60 * 60 * 2).toISOString(),
},
{
id: 'log-005',
adminUserId: 'admin-001',
adminUserEmail: 'admin@longde.cloud',
adminUserDisplayName: '超级管理员',
action: 'LOGIN_FAILED',
resourceType: null,
resourceId: null,
beforeJson: null,
afterJson: null,
ip: '10.0.0.1',
userAgent: null,
createdAt: new Date(Date.now() - 1000 * 60 * 60 * 3).toISOString(),
},
]