package core // PageReq 分页请求参数 type PageReq struct { RawPage int `json:"page"` RawSize int `json:"size"` } func (p *PageReq) GetPage() int { if p.RawPage < 1 { return 1 } return p.RawPage } func (p *PageReq) GetSize() int { if p.RawSize < 1 { return 10 } if p.RawSize > 100 { return 100 } return p.RawSize } func (p *PageReq) GetOffset() int { return (p.GetPage() - 1) * p.GetSize() } func (p *PageReq) GetLimit() int { return p.GetSize() } // PageResp 分页响应参数 type PageResp struct { Total int `json:"total"` Page int `json:"page"` Size int `json:"size"` List any `json:"list"` }