// Package req 公共请求参数。 package req // PageQuery 分页 + 关键词,所有列表接口通用。 type PageQuery struct { Page int `form:"page,default=1"` PageSize int `form:"page_size,default=10"` Keyword string `form:"keyword"` } // Normalize 约束分页边界。 func (q *PageQuery) Normalize() { if q.Page < 1 { q.Page = 1 } if q.PageSize < 1 { q.PageSize = 10 } if q.PageSize > 100 { q.PageSize = 100 } } // Offset 计算偏移量。 func (q *PageQuery) Offset() int { return (q.Page - 1) * q.PageSize }