50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
package controllers
|
|
|
|
import (
|
|
"html/template"
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// ShowAdminIndexPage 渲染后台首页
|
|
func ShowAdminIndexPage(c *gin.Context) {
|
|
// 直接加载 web/admin 目录下的 index.tmpl 模板(需确保文件存在)
|
|
tpl, err := template.ParseFiles("web/admin/index.tmpl")
|
|
if err != nil {
|
|
c.String(http.StatusInternalServerError, "加载模板失败: "+err.Error())
|
|
return
|
|
}
|
|
|
|
c.Header("Content-Type", "text/html; charset=utf-8")
|
|
err = tpl.Execute(c.Writer, gin.H{
|
|
"Title": "后台管理首页",
|
|
})
|
|
if err != nil {
|
|
c.String(http.StatusInternalServerError, "渲染模板失败: "+err.Error())
|
|
}
|
|
}
|
|
|
|
// ShowThemeSwitchPage 渲染主题切换页面
|
|
func ShowThemeSwitchPage(c *gin.Context) {
|
|
// 假设主题列表存储在固定路径或需要手动维护(示例数据,需根据实际情况修改)
|
|
themes := []string{"default", "dark", "light"} // 示例主题列表
|
|
currentTheme := "default" // 示例当前主题(需根据实际存储方式获取)
|
|
|
|
// 直接加载 web/admin 目录下的 themes.tmpl 模板(需确保文件存在)
|
|
tpl, err := template.ParseFiles("web/admin/themes.tmpl")
|
|
if err != nil {
|
|
c.String(http.StatusInternalServerError, "加载模板失败: "+err.Error())
|
|
return
|
|
}
|
|
|
|
c.Header("Content-Type", "text/html; charset=utf-8")
|
|
err = tpl.Execute(c.Writer, gin.H{
|
|
"CurrentTheme": currentTheme,
|
|
"Themes": themes,
|
|
})
|
|
if err != nil {
|
|
c.String(http.StatusInternalServerError, "渲染模板失败: "+err.Error())
|
|
}
|
|
}
|