import { unwrapApiPayload } from './usAppApiRequest' /** 解析分页 JSON:兼容 items / Items、camelCase / PascalCase、ABP 包装 */ export function extractPagedItems(responseBody: unknown): { items: T[] totalCount: number pageIndex: number pageSize: number } { const raw = unwrapApiPayload>(responseBody) if (raw == null || typeof raw !== 'object') { return { items: [], totalCount: 0, pageIndex: 1, pageSize: 0 } } const itemsRaw = raw.items ?? raw.Items const items = Array.isArray(itemsRaw) ? (itemsRaw as T[]) : [] const totalCount = Number(raw.totalCount ?? raw.TotalCount ?? items.length) || 0 const pageIndex = Number(raw.pageIndex ?? raw.PageIndex ?? 1) || 1 const pageSize = Number(raw.pageSize ?? raw.PageSize ?? items.length) || 0 return { items, totalCount, pageIndex, pageSize } }