Эх сурвалжийг харах

fix(common): 修改分页逻辑以避免重置页码

- 当前页超出最大页码时不再重置为最后一页
- 超出范围时返回空数据并标记最后一页
- 保留原始偏移量以确保查询结果为空
dcsunny 1 долоо хоног өмнө
parent
commit
6096327db7
1 өөрчлөгдсөн 3 нэмэгдсэн , 3 устгасан
  1. 3 3
      common/page.go

+ 3 - 3
common/page.go

@@ -27,10 +27,10 @@ func (p *PageParams) GetPageParams() (limit int, offset int) {
 	offset64 := p.Page * p.PageSize
 	maxPage := (p.Total - 1) / p.PageSize // 最后一页的页码(从0开始)
 
-	// 4. 如果当前页超出最大页码,强制跳转到最后一页
+	// 4. 如果当前页超出最大页码,返回空数据,不重置页码
 	if p.Page > maxPage {
-		p.Page = maxPage
-		offset64 = p.Page * p.PageSize
+		p.Last = true
+		return 0, int(offset64) // 返回0条数据和原始offset,查询结果为空
 	}
 
 	// 5. 计算实际返回的条数(最后一页可能不足一页)