import api from './api' interface SystemSettings { site: { title: string description: string keywords: string favicon?: string logo?: string copyright: string contactEmail: string } upload: { maxFileSize: number allowedTypes: string[] compressionQuality: number watermarkEnabled: boolean watermarkText: string watermarkPosition: string } security: { jwtSecret: string jwtExpiration: number enableTwoFactor: boolean enableAuditLog: boolean maxLoginAttempts: number lockoutDuration: number } performance: { cacheEnabled: boolean cacheExpiration: number imageCacheSize: number enableCompression: boolean maxConcurrentUploads: number } notifications: { emailEnabled: boolean emailHost: string emailPort: number emailUser: string emailPassword: string enableUserNotifications: boolean enableSystemAlerts: boolean } backup: { autoBackupEnabled: boolean backupInterval: number maxBackupFiles: number backupLocation: string } } interface SystemStatus { server: { status: 'online' | 'offline' uptime: string version: string lastRestart: string } database: { status: 'connected' | 'disconnected' | 'error' version: string size: string lastBackup: string } storage: { total: string used: string free: string usage: number } performance: { cpu: number memory: number activeConnections: number responseTime: number } } interface SystemOperation { operation: string } export const settingsService = { // 获取系统设置 getSettings: async (): Promise => { const response = await api.get('/settings') return response.data }, // 更新系统设置 updateSettings: async (settings: Partial): Promise => { const response = await api.put('/settings', settings) return response.data }, // 获取系统状态 getSystemStatus: async (): Promise => { const response = await api.get('/system/status') return response.data }, // 执行系统操作 performSystemOperation: async (operation: SystemOperation): Promise => { const response = await api.post('/system/operation', operation) return response.data }, // 获取配置项 getConfig: async (key: string): Promise => { const response = await api.get(`/settings/config/${key}`) return response.data }, // 更新配置项 updateConfig: async (key: string, value: any): Promise => { await api.put(`/settings/config/${key}`, { value }) }, // 重置配置 resetConfig: async (section?: string): Promise => { await api.post('/settings/reset', { section }) }, // 导出配置 exportConfig: async (): Promise => { const response = await api.get('/settings/export', { responseType: 'blob' }) return response.data }, // 导入配置 importConfig: async (file: File): Promise => { const formData = new FormData() formData.append('config', file) await api.post('/settings/import', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) }, // 获取系统日志 getSystemLogs: async (params: { level?: string; limit?: number; offset?: number }): Promise => { const response = await api.get('/system/logs', { params }) return response.data }, // 清理系统日志 clearSystemLogs: async (): Promise => { await api.delete('/system/logs') }, // 获取系统健康检查 getHealthCheck: async (): Promise => { const response = await api.get('/system/health') return response.data }, // 获取系统信息 getSystemInfo: async (): Promise => { const response = await api.get('/system/info') return response.data }, // 获取备份列表 getBackups: async (): Promise => { const response = await api.get('/system/backups') return response.data }, // 创建备份 createBackup: async (): Promise => { const response = await api.post('/system/backups') return response.data }, // 删除备份 deleteBackup: async (id: string): Promise => { await api.delete(`/system/backups/${id}`) }, // 恢复备份 restoreBackup: async (id: string): Promise => { await api.post(`/system/backups/${id}/restore`) }, // 下载备份 downloadBackup: async (id: string): Promise => { const response = await api.get(`/system/backups/${id}/download`, { responseType: 'blob' }) return response.data }, // 获取缓存统计 getCacheStats: async (): Promise => { const response = await api.get('/system/cache/stats') return response.data }, // 清理缓存 clearCache: async (type?: string): Promise => { await api.delete('/system/cache', { params: { type } }) }, // 获取存储统计 getStorageStats: async (): Promise => { const response = await api.get('/system/storage/stats') return response.data }, // 清理存储 cleanStorage: async (type?: string): Promise => { await api.delete('/system/storage/cleanup', { params: { type } }) }, // 获取任务列表 getTasks: async (): Promise => { const response = await api.get('/system/tasks') return response.data }, // 创建任务 createTask: async (task: any): Promise => { const response = await api.post('/system/tasks', task) return response.data }, // 删除任务 deleteTask: async (id: string): Promise => { await api.delete(`/system/tasks/${id}`) }, // 执行任务 executeTask: async (id: string): Promise => { await api.post(`/system/tasks/${id}/execute`) }, // 获取任务日志 getTaskLogs: async (id: string): Promise => { const response = await api.get(`/system/tasks/${id}/logs`) return response.data } }