瀏覽代碼

新增分页工具包

dcsunny 4 年之前
父節點
當前提交
c75b7183d5
共有 1 個文件被更改,包括 34 次插入0 次删除
  1. 34 0
      common/page.go

+ 34 - 0
common/page.go

@@ -0,0 +1,34 @@
+package common
+
+type PageParams struct {
+	Page  int  `json:"page"`
+	Num   int  `json:"pageSize"`
+	Total int  `json:"total"`
+	Last  bool `json:"last"`
+}
+
+//从0开始的分页
+func (this *PageParams) GetPageParams() (pageNum int, start int) {
+	start = this.Page * this.Num
+	if this.Total <= this.Num {
+		this.Page = 0
+		this.Last = true
+		return this.Total, 0
+	}
+	_start := (this.Page + 1) * this.Num
+
+	if this.Total-_start < 0 {
+		this.Last = true
+		pageCount := this.Total / this.Num
+		this.Page = pageCount
+		num := this.Total - pageCount*this.Num
+		if num == 0 {
+			pageCount = pageCount - 1
+			return this.Num, pageCount * this.Num
+		}
+		return num, pageCount * this.Num
+	} else if this.Total-_start == 0 {
+		this.Last = true
+	}
+	return this.Num, start
+}