123 lines
2.6 KiB
JavaScript
123 lines
2.6 KiB
JavaScript
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 })
|
|
}
|
|
} |