mirror of
https://github.com/certd/certd.git
synced 2026-04-24 12:27:25 +08:00
chore: 优化插件的翻页查询
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user