后台独立登录页面,并加入权限控制。

This commit is contained in:
2026-08-11 18:04:02 +08:00
parent 808f2e7523
commit a1d57d6b44
12 changed files with 638 additions and 178 deletions
+23
View File
@@ -25,6 +25,16 @@ func loadSidebarData() (categories []models.Category, tags []models.Tag, postCou
return
}
// loginInfo 从上下文提取登录态信息(供侧边栏系统菜单区分已登录/未登录)
func loginInfo(c *gin.Context) (isLoggedIn bool, loginName string) {
if _, ok := c.Get("userID"); !ok {
return false, ""
}
name, _ := c.Get("username")
loginName, _ = name.(string)
return true, loginName
}
// 首页
type IndexData struct {
Title string
@@ -42,6 +52,9 @@ type IndexData struct {
PostCount int64
CategoryCount int64
TagCount int64
// 登录态(侧边栏系统菜单用)
IsLoggedIn bool
LoginName string
}
func IndexView(c *gin.Context) {
@@ -129,6 +142,7 @@ func IndexView(c *gin.Context) {
CategoryCount: categoryCount,
TagCount: tagCount,
}
data.IsLoggedIn, data.LoginName = loginInfo(c)
c.HTML(http.StatusOK, "index", data)
}
@@ -156,6 +170,9 @@ type PostDetailData struct {
PostCount int64
CategoryCount int64
TagCount int64
// 登录态(侧边栏系统菜单用)
IsLoggedIn bool
LoginName string
}
func PostView(c *gin.Context) {
@@ -280,6 +297,7 @@ func PostView(c *gin.Context) {
CategoryCount: categoryCount,
TagCount: tagCount,
}
data.IsLoggedIn, data.LoginName = loginInfo(c)
// 只有当查询成功时才赋值
if prevErr == nil {
@@ -307,6 +325,9 @@ type PageDetailData struct {
PostCount int64
CategoryCount int64
TagCount int64
// 登录态(侧边栏系统菜单用)
IsLoggedIn bool
LoginName string
}
func PageView(c *gin.Context) {
@@ -359,6 +380,7 @@ func PageView(c *gin.Context) {
CategoryCount: categoryCount,
TagCount: tagCount,
}
data.IsLoggedIn, data.LoginName = loginInfo(c)
c.HTML(http.StatusOK, "page", data)
}
@@ -464,6 +486,7 @@ func SearchView(c *gin.Context) {
CategoryCount: categoryCount,
TagCount: tagCount,
}
data.IsLoggedIn, data.LoginName = loginInfo(c)
c.HTML(http.StatusOK, "index", data)
}