数据结构优化

This commit is contained in:
李琦
2026-01-20 11:00:42 +08:00
parent 29a642c285
commit b088ba48be
17 changed files with 1073 additions and 49 deletions

View File

@@ -1101,6 +1101,55 @@ export const getOperationLogs = async (page: number = 1, pageSize: number = 10):
}
}
// 访问日志类型
export interface AccessLog {
id: number
ip: string
userAgent: string
path: string
method: string
statusCode: number
responseTime: number
region: string
createdAt: string
}
// 访问日志API
export const getAccessLogs = async (page: number = 1, pageSize: number = 10): Promise<PaginationResponse<AccessLog>> => {
try {
const response = await fetch(`${API_BASE}/admin/access-logs?page=${page}&pageSize=${pageSize}`, {
headers: getAuthHeaders()
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.message || '获取访问日志失败')
}
const data = await response.json()
return data.result
} catch (error) {
console.error('Get access logs error:', error)
throw error
}
}
// 获取指定文章的访问记录
export const getPostAccessLogs = async (postId: number, page: number = 1, pageSize: number = 20): Promise<PaginationResponse<AccessLog>> => {
try {
const response = await fetch(`${API_BASE}/admin/posts/${postId}/access-logs?page=${page}&pageSize=${pageSize}`, {
headers: getAuthHeaders()
})
if (!response.ok) {
const errorData = await response.json()
throw new Error(errorData.message || '获取文章访问记录失败')
}
const data = await response.json()
return data.result
} catch (error) {
console.error('Get post access logs error:', error)
throw error
}
}
// 仪表盘数据类型
export interface DashboardStats {
users: number