修复后台表查询筛选与分页
使用单次哨兵查询统一计算扫描范围、匹配总数和截断状态 增加完整候选集服务端排序与越界页码钳制 增加固定分页栏、扫描上限提示和后端排序交互 补充大表响应边界文档与前后端回归测试
This commit is contained in:
@@ -764,6 +764,11 @@ function buildDatabaseTableRowsQuery(query: AdminDatabaseTableRowsQuery) {
|
||||
if (typeof query.limit === 'number' && Number.isFinite(query.limit)) {
|
||||
params.set('limit', String(query.limit));
|
||||
}
|
||||
if (typeof query.page === 'number' && Number.isFinite(query.page)) {
|
||||
params.set('page', String(query.page));
|
||||
}
|
||||
appendQueryParam(params, 'sortColumn', query.sortColumn);
|
||||
appendQueryParam(params, 'sortDirection', query.sortDirection);
|
||||
const queryString = params.toString();
|
||||
return queryString ? `?${queryString}` : '';
|
||||
}
|
||||
|
||||
@@ -150,8 +150,11 @@ export interface AdminDatabaseTableListResponse {
|
||||
|
||||
export interface AdminDatabaseTableRowsQuery {
|
||||
limit?: number;
|
||||
page?: number;
|
||||
search?: string;
|
||||
filters?: string;
|
||||
sortColumn?: string;
|
||||
sortDirection?: 'asc' | 'desc';
|
||||
}
|
||||
|
||||
export interface AdminDatabaseTableRowPayload {
|
||||
@@ -165,6 +168,11 @@ export interface AdminDatabaseTableRowsResponse {
|
||||
rows: AdminDatabaseTableRowPayload[];
|
||||
totalReturned: number;
|
||||
limit: number;
|
||||
page: number;
|
||||
totalMatched: number;
|
||||
scannedCount: number;
|
||||
scanLimit: number;
|
||||
scanLimitReached: boolean;
|
||||
}
|
||||
|
||||
export interface AdminDatabaseTableStatPayload {
|
||||
|
||||
Reference in New Issue
Block a user