- 全局替换 ApiKey → APIKey(类型、字段、方法、变量) - 修复所有 initialism 命名(API, SMTP, HTML, URL 等) - 添加所有缺失的包注释 - 修复导出符号的注释格式 主要修改: - ApiKey → APIKey(所有出现的地方) - ApiKeyID → APIKeyID - ApiKeyIDs → APIKeyIDs - TestSmtpConnection → TestSMTPConnection - HtmlURL → HTMLURL - 添加 20+ 个包注释 - 修复 10+ 个导出符号注释格式 验证结果: - ✓ golangci-lint: 0 issues - ✓ 单元测试: 通过 - ✓ 集成测试: 通过
44 lines
759 B
Go
44 lines
759 B
Go
// Package pagination provides types and helpers for paginated responses.
|
|
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
|
|
}
|