diff --git a/controller/option.go b/controller/option.go index f5b3bf6..424689b 100644 --- a/controller/option.go +++ b/controller/option.go @@ -40,24 +40,31 @@ func UpdateOption(c *gin.Context) { }) return } - if option.Key == "GitHubOAuthEnabled" && option.Value == "true" && common.GitHubClientId == "" { - c.JSON(http.StatusOK, gin.H{ - "success": false, - "message": "无法启用 GitHub OAuth,请先填入 GitHub Client ID 以及 GitHub Client Secret!", - }) - return - } else if option.Key == "WeChatAuthEnabled" && option.Value == "true" && common.WeChatServerAddress == "" { - c.JSON(http.StatusOK, gin.H{ - "success": false, - "message": "无法启用微信登录,请先填入微信登录相关配置信息!", - }) - return - } else if option.Key == "TurnstileCheckEnabled" && option.Value == "true" && common.TurnstileSiteKey == "" { - c.JSON(http.StatusOK, gin.H{ - "success": false, - "message": "无法启用 Turnstile 校验,请先填入 Turnstile 校验相关配置信息!", - }) - return + switch option.Key { + case "GitHubOAuthEnabled": + if option.Value == "true" && common.GitHubClientId == "" { + c.JSON(http.StatusOK, gin.H{ + "success": false, + "message": "无法启用 GitHub OAuth,请先填入 GitHub Client ID 以及 GitHub Client Secret!", + }) + return + } + case "WeChatAuthEnabled": + if option.Value == "true" && common.WeChatServerAddress == "" { + c.JSON(http.StatusOK, gin.H{ + "success": false, + "message": "无法启用微信登录,请先填入微信登录相关配置信息!", + }) + return + } + case "TurnstileCheckEnabled": + if option.Value == "true" && common.TurnstileSiteKey == "" { + c.JSON(http.StatusOK, gin.H{ + "success": false, + "message": "无法启用 Turnstile 校验,请先填入 Turnstile 校验相关配置信息!", + }) + return + } } err = model.UpdateOption(option.Key, option.Value) if err != nil { diff --git a/model/option.go b/model/option.go index 6437d8e..79f5b7d 100644 --- a/model/option.go +++ b/model/option.go @@ -1,7 +1,6 @@ package model import ( - "errors" "message-pusher/common" "strconv" "strings" @@ -55,10 +54,6 @@ func InitOptionMap() { } func UpdateOption(key string, value string) error { - if key == "StatEnabled" && value == "true" && !common.RedisEnabled { - return errors.New("未启用 Redis,无法启用统计功能") - } - // Save to database first option := Option{ Key: key,