From 67a20f60eb735153365eed211e50126b0d16e8be Mon Sep 17 00:00:00 2001 From: zhangchao Date: Mon, 11 Nov 2024 19:35:24 +0800 Subject: [PATCH] add page --- go.mod | 2 +- main.go | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e1c59ef..7d04f00 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module go_blog go 1.20 require ( + github.com/fsnotify/fsnotify v1.7.0 github.com/gin-gonic/gin v1.9.1 github.com/go-ini/ini v1.67.0 github.com/golang-jwt/jwt v3.2.2+incompatible @@ -12,7 +13,6 @@ require ( ) require ( - github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect diff --git a/main.go b/main.go index bbc2bb0..393cc53 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "go_blog/conf" "go_blog/controllers" "go_blog/models" + "go_blog/serializers" "log" "net/http" "strconv" @@ -74,9 +75,20 @@ func esSSE(c *gin.Context) { func registerRoutes(r *gin.Engine) { - var items []models.Content - models.DB.Select("*").Limit(5).Find(&items, "type = ?", "post") r.GET("/", func(c *gin.Context) { + var items []models.Content + models.DB.Select("*").Limit(5).Find(&items, "type = ?", "post") + c.HTML(http.StatusOK, "index.tmpl", gin.H{ + "Items": items, + }) + }) + + r.GET("/page", func(c *gin.Context) { + var items []models.Content + var pager serializers.Pager + pager.InitPager(c) + offset := (pager.page - 1) * pager.pageSize + models.DB.Select("*").Offset(offset).Limit(pager.pageSize).Find(&items, "type = ?", "post") c.HTML(http.StatusOK, "index.tmpl", gin.H{ "Items": items, })