mirror of
https://github.com/skyle1995/NetworkAuth.git
synced 2026-05-25 02:24:05 +08:00
48 lines
1.5 KiB
Go
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)
|
|
}
|