2ND
This commit is contained in:
114
frontend/src/services/admin.js
Normal file
114
frontend/src/services/admin.js
Normal file
@@ -0,0 +1,114 @@
|
||||
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')
|
||||
},
|
||||
|
||||
/**
|
||||
* 清理舊檔案
|
||||
*/
|
||||
cleanupOldFiles() {
|
||||
return request.post('/admin/cleanup')
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user