将 web-admin 从子模块改为仓库内普通目录,便于单仓克隆与维护。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-05-12 16:41:08 +08:00
1 parent 2e9d020d50
commit c87732fcd5
515 files changed
+74372 -1

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
/**
* 分页循环请求直至拿全数据(接口需返回 { list, total })。
* 用于分类、单位、用户等列表接口,避免只取第一页导致下拉选项不全。
*/
export async function fetchAllPagedRecords<T>(
fetchPage: (page: number, pageSize: number) => Promise<{ list?: T[]; total?: number }>,
options?: { pageSize?: number; maxPages?: number }
): Promise<T[]> {
const pageSize = options?.pageSize ?? 100
const maxPages = options?.maxPages ?? 50
let page = 1
const all: T[] = []
let total = 0
while (page <= maxPages) {
const res = await fetchPage(page, pageSize)
total = res.total ?? 0
const list = res.list ?? []
all.push(...list)
if (list.length === 0 || all.length >= total || list.length < pageSize) break
page += 1
}
return all
}