package handlers import ( "net/http" "github.com/gin-gonic/gin" "go_blog/models" "gorm.io/gorm" ) // AdminDashboard 渲染受保护的管理后台首页。 func AdminDashboard(db *gorm.DB) gin.HandlerFunc { return func(c *gin.Context) { tr := getTr(c) username, _ := c.Get("username") data := DefaultData(c) data["Title"] = tr["dash_page_title"] data["Username"] = username // 文章数量:总数与已发布数。 var postCount, publishedCount int64 db.Model(&models.Article{}).Count(&postCount) db.Model(&models.Article{}).Where("status = ?", models.ArticlePublished).Count(&publishedCount) data["PostCount"] = postCount data["PublishedCount"] = publishedCount // 统计卡片中的用户数。 var userCount int64 db.Model(&models.User{}).Count(&userCount) data["UserCount"] = userCount c.HTML(http.StatusOK, "dashboard", data) } }