- 前端: 所有界面显示、i18n 文本、组件中的品牌名称 - 后端: 服务层、设置默认值、邮件模板、安装向导 - 数据库: 迁移脚本注释 - 保持功能完全一致,仅更改品牌名称 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
43 lines
727 B
Go
43 lines
727 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
|
|
}
|