import { http } from './http' import { unwrap } from './envelope' /** 单用户一行:三类密钥调用次数 + 合计(口径=真实对外请求次数)。 */ export interface AdminUserSecretUsageRow { userId: number username: string groups: string[] similarAsinCount: number appearancePatentCount: number proxyCount: number totalCount: number } export interface AdminUserSecretUsagePage { items: AdminUserSecretUsageRow[] total: number page: number pageSize: number /** 所选范围内(不分页)三类总次数。 */ totalCalls: number similarAsinCalls: number appearancePatentCalls: number proxyCalls: number groupOptions?: Array<{ id: number; groupName: string }> } export interface UserSecretUsageQuery { startDate?: string endDate?: string keyword?: string /** 按数据权限分组筛选(仅超管生效);后端参数为 snake_case。 */ groupId?: number page: number pageSize: number } /** 分页查询密钥用量:GET /api/admin/user-secret-usage(group_id 必须 snake_case)。 */ export async function fetchUserSecretUsage(params: UserSecretUsageQuery): Promise { const query: Record = { page: params.page, pageSize: params.pageSize } if (params.startDate) query.startDate = params.startDate if (params.endDate) query.endDate = params.endDate if (params.keyword) query.keyword = params.keyword if (params.groupId) query.group_id = params.groupId const { data } = await http.get('/api/admin/user-secret-usage', { params: query }) return unwrap(data) }