chore: 优化插件的翻页查询

This commit is contained in:
xiaojunnuo
2025-06-29 19:59:13 +08:00
parent 710e1fc278
commit 66d1886663
6 changed files with 51 additions and 57 deletions
+12 -18
View File
@@ -4,39 +4,33 @@ export type UserContext = IContext;
export type PipelineContext = IContext;
export type PageSearch = {
offset?: number;
limit?: number;
pageNo?: number;
pageSize?: number;
searchKey?: string;
// sortBy?: string;
// sortOrder?: "asc" | "desc";
};
export type PageRes = {
offset?: number;
limit?: number;
pageNo?: number;
pageSize?: number;
total?: string;
list: any[];
};
export class Pager {
offset: number;
limit: number;
pageNo: number;
pageSize: number;
constructor(req: PageSearch) {
this.offset = req.offset ?? 0;
this.limit = req.limit || 50;
this.pageNo = req.pageNo ?? 1;
this.pageSize = req.pageSize || 50;
}
getPageNo() {
const size = this.limit;
const offset = this.offset;
let page = Math.floor(offset / size);
if (offset % size === 0) {
page++;
}
return page;
getOffset() {
return (this.pageNo - 1) * (this.pageSize ?? 50);
}
setPageNo(pageNo: number) {
this.offset = (pageNo - 1) * (this.limit ?? 50);
setOffset(offset: number) {
this.pageNo = Math.ceil(offset / (this.pageSize ?? 50)) + 1;
}
}