github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/blogweb_gin/controllers/home_controller.go (about) 1 package controllers 2 3 import ( 4 "github.com/gin-gonic/gin" 5 "github.com/qiuhoude/go-web/blogweb_gin/logs" 6 "github.com/qiuhoude/go-web/blogweb_gin/models" 7 "net/http" 8 "strconv" 9 ) 10 11 //主页 12 //可以通过翻页来获取该网页,也可以通过tag标签获取 13 //传page参数代表翻页,传tag参数代表标签 14 //首先判断page有值那么就是翻页,否则判断tag有值就是标签,否则就是默认的第一页 15 func HomeGet(c *gin.Context) { 16 //获取session,判断用户是否登录 17 islogin := GetSession(c) 18 19 tag := c.Query("tag") 20 logs.Info.Println("tag:", tag) 21 page, _ := strconv.Atoi(c.Query("page")) 22 23 var hasFooter bool 24 var artList []models.Article 25 26 if len(tag) > 0 { 27 //按照指定的标签搜索 28 artList, _ = models.QueryArticlesWithTag(tag) 29 hasFooter = false 30 } else { 31 if page <= 0 { 32 page = 1 33 } 34 artList, _ = models.FindArticleWithPage(page) 35 hasFooter = true 36 } 37 38 homeFooterPageCode := models.ConfigHomeFooterPageCode(page) 39 html := models.MakeHomeBlocks(artList, islogin) 40 41 c.HTML(http.StatusOK, "home.html", gin.H{"IsLogin": islogin, "Content": html, "HasFooter": hasFooter, "PageCode": homeFooterPageCode}) 42 }