提交 aecf6594 authored 作者: mooncake9527's avatar mooncake9527

pagination

上级 5645b76b
...@@ -23,7 +23,10 @@ const CustomErrorCode = 0 ...@@ -23,7 +23,10 @@ const CustomErrorCode = 0
type BasePageReply struct { type BasePageReply struct {
BaseListReply BaseListReply
Total int64 `json:"total" comment:"total" encomment:"total" form:"total" example:"2000"` // Total int64 `json:"total" comment:"total" encomment:"total" form:"total" example:"2000"` // 总行数
PageSize int64 `json:"pageSize" comment:"pageSize" encomment:"pageSize" form:"pageSize" example:"1"` // 页大小
PageIndex int64 `json:"pageIndex" comment:"pageIndex" encomment:"pageIndex" form:"pageIndex" example:"1"` // 当前页码
PageCount int64 `json:"pageCount" comment:"pageCount" encomment:"pageCount" form:"pageCount" example:"99"` // 总页数
} }
type BaseListReply struct { type BaseListReply struct {
...@@ -204,26 +207,26 @@ func Success(c *gin.Context, data ...interface{}) { ...@@ -204,26 +207,26 @@ func Success(c *gin.Context, data ...interface{}) {
// SuccessWithPage return success // SuccessWithPage return success
func SuccessWithPage[T any](c *gin.Context, list []*T, total int64) { func SuccessWithPage[T any](c *gin.Context, list []*T, total int64) {
currPage := 1 pageIndex := 1
pageSize := 10 pageSize := 10
if req, ok := c.Get(ctxUtils.KeyPagination); ok { if req, ok := c.Get(ctxUtils.KeyPagination); ok {
if pagination, ok := req.(query.Pagination); ok { if pagination, ok := req.(query.Pagination); ok {
currPage = pagination.PageIndex pageIndex = pagination.PageIndex
if pagination.PageSize > 0 { if pagination.PageSize > 0 {
pageSize = pagination.PageSize pageSize = pagination.PageSize
} }
} }
} }
totalPage := total / int64(pageSize) pageCount := total / int64(pageSize)
if total%int64(pageSize) > 0 { if total%int64(pageSize) > 0 {
totalPage = totalPage + 1 pageCount = pageCount + 1
} }
c.Set(ctxUtils.KeyRspCode, 1) c.Set(ctxUtils.KeyRspCode, 1)
if list == nil { if list == nil {
list = []*T{} list = []*T{}
} }
respJSONWith200(c, errcode.Success.Code(), errcode.Success.Msg(), gin.H{ respJSONWith200(c, errcode.Success.Code(), errcode.Success.Msg(), gin.H{
"list": list, "total": total, "curPage": currPage, "totalPage": totalPage, "list": list, "total": total, "pageIndex": pageIndex, "pageCount": pageCount, "pageSize": pageSize,
}) })
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论