主要更新: - 更新 go.mod/go.sum 依赖 - 重新生成 Ent ORM 代码 - 更新 Wire 依赖注入配置 - 添加 docker-compose.override.yml 到 .gitignore - 更新 README 文档(Simple Mode 说明和已知问题) - 清理调试日志 - 其他代码优化和格式修复
43 lines
685 B
Go
43 lines
685 B
Go
package pagination
|
|
|
|
// PaginationParams 分页参数
|
|
type PaginationParams struct {
|
|
Page int
|
|
PageSize int
|
|
}
|
|
|
|
// PaginationResult 分页结果
|
|
type PaginationResult struct {
|
|
Total int64
|
|
Page int
|
|
PageSize int
|
|
Pages int
|
|
}
|
|
|
|
// DefaultPagination 默认分页参数
|
|
func DefaultPagination() PaginationParams {
|
|
return PaginationParams{
|
|
Page: 1,
|
|
PageSize: 20,
|
|
}
|
|
}
|
|
|
|
// Offset 计算偏移量
|
|
func (p PaginationParams) Offset() int {
|
|
if p.Page < 1 {
|
|
p.Page = 1
|
|
}
|
|
return (p.Page - 1) * p.PageSize
|
|
}
|
|
|
|
// Limit 获取限制数
|
|
func (p PaginationParams) Limit() int {
|
|
if p.PageSize < 1 {
|
|
return 20
|
|
}
|
|
if p.PageSize > 100 {
|
|
return 100
|
|
}
|
|
return p.PageSize
|
|
}
|