package response import "hongze/hongze_yb/utils" type PagingItem struct { IsStart bool `description:"是否首页" json:"is_start"` IsEnd bool `description:"是否最后一页" json:"is_end"` PreviousIndex int `description:"上一页页码" json:"previous_index"` NextIndex int `description:"下一页页码" json:"next_index"` CurrentIndex int `description:"当前页页码" json:"current_index"` Pages int `description:"总页数" json:"pages"` Totals int `description:"总数据量" json:"totals"` PageSize int `description:"每页数据条数" json:"page_size"` } func GetPaging(currentIndex,pageSize,total int)(item *PagingItem) { if pageSize<=0 { pageSize=utils.PageSize20 } if currentIndex<=0 { currentIndex=1 } item=new(PagingItem) item.PageSize=pageSize item.Totals=total item.CurrentIndex=currentIndex if total<=0 { item.IsStart=true item.IsEnd=true return } pages:=utils.PageCount(total,pageSize) item.Pages=pages if pages<=1 { item.IsStart=true item.IsEnd=true item.PreviousIndex=1 item.NextIndex=1 return } if pages == currentIndex { item.IsStart=false item.IsEnd=true item.PreviousIndex=currentIndex-1 item.NextIndex=currentIndex return } if currentIndex==1 { item.IsStart=true item.IsEnd=false item.PreviousIndex=1 item.NextIndex=currentIndex+1 return } item.IsStart=false item.IsEnd=false item.PreviousIndex=currentIndex-1 item.NextIndex=currentIndex+1 return }