Initial commit

This commit is contained in:
2026-06-30 15:14:37 +08:00
commit 15dab96872
311 changed files with 95639 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
package handler
import (
"net/http"
"git.zkcoi.com/zkcoi/meshray/internal/service"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
// SettingsHandler 系统设置 Handler
type SettingsHandler struct {
logger *zap.Logger
settingsService *service.SettingsService
}
// NewSettingsHandler 创建系统设置 Handler
func NewSettingsHandler(settingsService *service.SettingsService, logger *zap.Logger) *SettingsHandler {
return &SettingsHandler{
logger: logger,
settingsService: settingsService,
}
}
// GetSettings 获取系统设置
func (h *SettingsHandler) GetSettings(c *gin.Context) {
setting, err := h.settingsService.GetSettings()
if err != nil {
h.logger.Error("获取系统设置失败", zap.Error(err))
c.JSON(http.StatusInternalServerError, gin.H{
"error": "获取设置失败",
})
return
}
c.JSON(http.StatusOK, gin.H{
"data": setting,
})
}
// UpdateSettings 更新系统设置
func (h *SettingsHandler) UpdateSettings(c *gin.Context) {
var updates map[string]interface{}
if err := c.ShouldBindJSON(&updates); err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": "参数错误",
})
return
}
updatedSetting, err := h.settingsService.UpdateSettings(updates)
if err != nil {
h.logger.Error("更新系统设置失败", zap.Error(err))
c.JSON(http.StatusInternalServerError, gin.H{
"error": "更新失败",
})
return
}
h.logger.Info("系统设置已更新", zap.Any("updates", updates))
c.JSON(http.StatusOK, gin.H{
"message": "设置已保存",
"data": updatedSetting,
})
}