page

package
v7.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Assert

func Assert(pa IPageArg)

Assert 校验分页参数

func GetLimit

func GetLimit(pa IPageArg) int

GetLimit 计算 limit

func GetOffset

func GetOffset(pa IPageArg) int

GetOffset 计算 offset

Types

type IPageArg

type IPageArg interface {
	GetPageNum() int  //必须大于等于1
	GetPageSize() int //必须大于等于1
}

IPageArg 分页参数接口

type IPageResult

type IPageResult interface {
	SetTotalCount(totalCount int64)   //不分页情况下的总行数
	SetPageCount(pageCount int)       //总页数
	SetDisplayCount(displayCount int) //当前页行数

}

IPageResult 分页结果

type PageArg

type PageArg struct {
	PageNum  int `json:"page_num"`
	PageSize int `json:"page_size"`
}

PageArg 分页参数实现. 业务层可自定义, 需要实现 IPageArg 接口

func (PageArg) GetPageNum

func (p PageArg) GetPageNum() int

GetPageNum 获取第几页, 从1开始, 接收器不能使用指针

func (PageArg) GetPageSize

func (p PageArg) GetPageSize() int

GetPageSize 获取页大小, 从1开始, 接收器不能使用指针

type PageResult

type PageResult[T any] struct {
	TotalCount   int64 `json:"total_count"`
	PageCount    int   `json:"page_count"`
	DisplayCount int   `json:"display_count"`
	List         []T   `json:"list"`
}

PageResult 分页结果实现. 业务层可自定义, 需要实现 IPageResult 接口并添加 SetList([]T) 方法

func (*PageResult[T]) SetDisplayCount

func (p *PageResult[T]) SetDisplayCount(displayCount int)

SetDisplayCount 设置当前页行数, 接收器必须使用指针

func (*PageResult[T]) SetList

func (p *PageResult[T]) SetList(list []T)

SetList 设置当前页数据, 接收器必须使用指针 [!!!自定义实现时必须有该方法!!!]

func (*PageResult[T]) SetPageCount

func (p *PageResult[T]) SetPageCount(pageCount int)

SetPageCount 设置总页数, 接收器必须使用指针

func (*PageResult[T]) SetTotalCount

func (p *PageResult[T]) SetTotalCount(totalCount int64)

SetTotalCount 设置总行数, 接收器必须使用指针

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL