/** * 解析公开列表的 ?page= query:非有限数或 <1 时返回 1;否则返回正整数(float 向下取整)。 */ export function normalizePublicListPage(raw: unknown): number { const n = typeof raw === "string" ? Number.parseInt(raw, 10) : typeof raw === "number" ? raw : Number.NaN; if (!Number.isFinite(n) || n < 1) { return 1; } return Math.floor(n); }