import { request } from '@/utils/request' /** * 管理員相關 API */ export const adminAPI = { /** * 取得系統統計資訊 * @param {string} period - 統計週期 (day/week/month/year) */ getStats(period = 'month') { return request.get('/admin/stats', { params: { period } }) }, /** * 取得所有使用者任務 * @param {Object} params - 查詢參數 */ getAllJobs(params = {}) { const defaultParams = { page: 1, per_page: 50, user_id: 'all', status: 'all' } return request.get('/admin/jobs', { params: { ...defaultParams, ...params } }) }, /** * 取得使用者列表 */ getUsers() { return request.get('/admin/users') }, /** * 取得使用者詳細資訊 * @param {number} userId - 使用者 ID */ getUserDetail(userId) { return request.get(`/admin/users/${userId}`) }, /** * 更新使用者狀態 * @param {number} userId - 使用者 ID * @param {Object} data - 更新資料 */ updateUser(userId, data) { return request.put(`/admin/users/${userId}`, data) }, /** * 取得 API 使用統計 * @param {Object} params - 查詢參數 */ getApiUsageStats(params = {}) { return request.get('/admin/api-usage', { params }) }, /** * 取得系統日誌 * @param {Object} params - 查詢參數 */ getSystemLogs(params = {}) { const defaultParams = { page: 1, per_page: 100, level: 'all' } return request.get('/admin/logs', { params: { ...defaultParams, ...params } }) }, /** * 取得成本報表 * @param {Object} params - 查詢參數 */ getCostReport(params = {}) { return request.get('/admin/cost-report', { params }) }, /** * 匯出報表 * @param {string} type - 報表類型 * @param {Object} params - 查詢參數 */ exportReport(type, params = {}) { return request.get(`/admin/export/${type}`, { params, responseType: 'blob' }) }, /** * 系統健康檢查 */ getSystemHealth() { return request.get('/admin/health') }, /** * 取得系統指標 */ getSystemMetrics() { return request.get('/admin/metrics') }, /** * 清理舊檔案 * @param {Object} options - 清理選項 */ cleanupOldFiles(options = {}) { const defaultOptions = { cleanup_files: true, cleanup_logs: false, cleanup_cache: false, files_days: 7, logs_days: 30, cache_days: 90 } return request.post('/admin/maintenance/cleanup', { ...defaultOptions, ...options }) } }