goweb/common/page/page.go

30 lines
521 B
Go

package page
import (
"strconv"
"github.com/gin-gonic/gin"
)
type PageData struct {
PageSize int `json:"page_size"`
PageNumber int `json:"page_number"`
Offset int `json:"-"`
Total interface{} `json:"total"`
Data interface{} `json:"data"`
}
func Build(ctx *gin.Context, pageSize int) PageData {
s := ctx.Query("p")
i, err := strconv.Atoi(s)
if err != nil {
i = 1
}
return PageData{
PageNumber: i,
PageSize: pageSize,
Offset: (i - 1) * pageSize,
}
}