/** * 运营日志 API * * @date 2026-01-28 */ import apiClient from '../../../common/api/axios' // ==================== 类型定义 ==================== export interface ActivityLog { id: string createdAt: string tenantId: string tenantName: string | null userId: string userName: string | null module: string feature: string action: string info: string | null } export interface Pagination { page: number pageSize: number total: number totalPages: number } export interface ActivityLogsResponse { success: boolean data: ActivityLog[] pagination: Pagination } export interface ActivityLogsParams { page?: number pageSize?: number startDate?: string endDate?: string module?: string action?: string keyword?: string } // ==================== API 函数 ==================== /** * 获取运营日志列表(分页) */ export async function fetchActivityLogs(params: ActivityLogsParams = {}): Promise<{ data: ActivityLog[] pagination: Pagination }> { const queryParams = new URLSearchParams() if (params.page) queryParams.append('page', String(params.page)) if (params.pageSize) queryParams.append('pageSize', String(params.pageSize)) if (params.startDate) queryParams.append('startDate', params.startDate) if (params.endDate) queryParams.append('endDate', params.endDate) if (params.module) queryParams.append('module', params.module) if (params.action) queryParams.append('action', params.action) if (params.keyword) queryParams.append('keyword', params.keyword) const url = `/api/admin/stats/logs${queryParams.toString() ? '?' + queryParams.toString() : ''}` const res = await apiClient.get(url) return { data: res.data.data, pagination: res.data.pagination, } }