Files
NetworkAuth/controllers/home/home.go
skyle1995 3990ec01c6 Add public functions
Fix a large number of bugs
Optimize the description information
2025-10-27 21:06:41 +08:00

48 lines
1.5 KiB
Go

package home
import (
"net/http"
"networkDev/controllers"
"networkDev/database"
"networkDev/services"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
var homeBaseController = controllers.NewBaseController()
// getSettingValue 获取配置值,优先从数据库获取,不存在时使用默认值
func getSettingValue(settingName string, defaultValue string, db *gorm.DB) string {
if setting, err := services.FindSettingByName(settingName, db); err == nil {
return setting.Value
}
return defaultValue
}
// RootHandler 主页处理器
func RootHandler(c *gin.Context) {
// 获取数据库连接
db, err := database.GetDB()
if err != nil {
c.HTML(http.StatusInternalServerError, "error.html", gin.H{
"error": "数据库连接失败",
})
return
}
// 获取默认模板数据
data := homeBaseController.GetDefaultTemplateData()
// 从数据库读取设置,优先使用数据库配置,不存在时使用默认值
data["SystemName"] = getSettingValue("site_title", data["SystemName"].(string), db)
data["FooterText"] = getSettingValue("footer_text", data["FooterText"].(string), db)
data["ICPRecord"] = getSettingValue("icp_record", data["ICPRecord"].(string), db)
data["ICPRecordLink"] = getSettingValue("icp_record_link", data["ICPRecordLink"].(string), db)
data["PSBRecord"] = getSettingValue("psb_record", data["PSBRecord"].(string), db)
data["PSBRecordLink"] = getSettingValue("psb_record_link", data["PSBRecordLink"].(string), db)
data["title"] = "主页"
c.HTML(http.StatusOK, "index.html", data)
}