diff --git a/constant/context_key.go b/constant/context_key.go new file mode 100644 index 00000000..3f2495e1 --- /dev/null +++ b/constant/context_key.go @@ -0,0 +1 @@ +package constant diff --git a/constant/midjourney.go b/constant/midjourney.go index 4fba4794..1bf4d549 100644 --- a/constant/midjourney.go +++ b/constant/midjourney.go @@ -1,11 +1,5 @@ package constant -var MjNotifyEnabled = false -var MjAccountFilterEnabled = false -var MjModeClearEnabled = false -var MjForwardUrlEnabled = true -var MjActionCheckSuccessEnabled = true - const ( MjErrorUnknown = 5 MjRequestError = 4 diff --git a/controller/midjourney.go b/controller/midjourney.go index 01ddb2f2..2e351535 100644 --- a/controller/midjourney.go +++ b/controller/midjourney.go @@ -10,10 +10,10 @@ import ( "log" "net/http" "one-api/common" - "one-api/constant" "one-api/dto" "one-api/model" "one-api/service" + "one-api/setting" "strconv" "time" ) @@ -231,9 +231,9 @@ func GetAllMidjourney(c *gin.Context) { if logs == nil { logs = make([]*model.Midjourney, 0) } - if constant.MjForwardUrlEnabled { + if setting.MjForwardUrlEnabled { for i, midjourney := range logs { - midjourney.ImageUrl = constant.ServerAddress + "/mj/image/" + midjourney.MjId + midjourney.ImageUrl = setting.ServerAddress + "/mj/image/" + midjourney.MjId logs[i] = midjourney } } @@ -263,9 +263,9 @@ func GetUserMidjourney(c *gin.Context) { if logs == nil { logs = make([]*model.Midjourney, 0) } - if constant.MjForwardUrlEnabled { + if setting.MjForwardUrlEnabled { for i, midjourney := range logs { - midjourney.ImageUrl = constant.ServerAddress + "/mj/image/" + midjourney.MjId + midjourney.ImageUrl = setting.ServerAddress + "/mj/image/" + midjourney.MjId logs[i] = midjourney } } diff --git a/controller/misc.go b/controller/misc.go index ffcbd174..db94840d 100644 --- a/controller/misc.go +++ b/controller/misc.go @@ -5,8 +5,8 @@ import ( "fmt" "net/http" "one-api/common" - "one-api/constant" "one-api/model" + "one-api/setting" "strings" "github.com/gin-gonic/gin" @@ -47,9 +47,9 @@ func GetStatus(c *gin.Context) { "footer_html": common.Footer, "wechat_qrcode": common.WeChatAccountQRCodeImageURL, "wechat_login": common.WeChatAuthEnabled, - "server_address": constant.ServerAddress, - "price": constant.Price, - "min_topup": constant.MinTopUp, + "server_address": setting.ServerAddress, + "price": setting.Price, + "min_topup": setting.MinTopUp, "turnstile_check": common.TurnstileCheckEnabled, "turnstile_site_key": common.TurnstileSiteKey, "top_up_link": common.TopUpLink, @@ -63,9 +63,9 @@ func GetStatus(c *gin.Context) { "enable_data_export": common.DataExportEnabled, "data_export_default_time": common.DataExportDefaultTime, "default_collapse_sidebar": common.DefaultCollapseSidebar, - "enable_online_topup": constant.PayAddress != "" && constant.EpayId != "" && constant.EpayKey != "", - "mj_notify_enabled": constant.MjNotifyEnabled, - "chats": constant.Chats, + "enable_online_topup": setting.PayAddress != "" && setting.EpayId != "" && setting.EpayKey != "", + "mj_notify_enabled": setting.MjNotifyEnabled, + "chats": setting.Chats, }, }) return @@ -207,7 +207,7 @@ func SendPasswordResetEmail(c *gin.Context) { } code := common.GenerateVerificationCode(0) common.RegisterVerificationCodeWithKey(email, code, common.PasswordResetPurpose) - link := fmt.Sprintf("%s/user/reset?email=%s&token=%s", constant.ServerAddress, email, code) + link := fmt.Sprintf("%s/user/reset?email=%s&token=%s", setting.ServerAddress, email, code) subject := fmt.Sprintf("%s密码重置", common.SystemName) content := fmt.Sprintf("
您好,你正在进行%s密码重置。
"+ "点击 此处 进行密码重置。
"+ diff --git a/controller/topup.go b/controller/topup.go index b2bbf1a8..85a12a1a 100644 --- a/controller/topup.go +++ b/controller/topup.go @@ -8,9 +8,9 @@ import ( "log" "net/url" "one-api/common" - "one-api/constant" "one-api/model" "one-api/service" + "one-api/setting" "strconv" "sync" "time" @@ -28,13 +28,13 @@ type AmountRequest struct { } func GetEpayClient() *epay.Client { - if constant.PayAddress == "" || constant.EpayId == "" || constant.EpayKey == "" { + if setting.PayAddress == "" || setting.EpayId == "" || setting.EpayKey == "" { return nil } withUrl, err := epay.NewClient(&epay.Config{ - PartnerID: constant.EpayId, - Key: constant.EpayKey, - }, constant.PayAddress) + PartnerID: setting.EpayId, + Key: setting.EpayKey, + }, setting.PayAddress) if err != nil { return nil } @@ -50,12 +50,12 @@ func getPayMoney(amount float64, group string) float64 { if topupGroupRatio == 0 { topupGroupRatio = 1 } - payMoney := amount * constant.Price * topupGroupRatio + payMoney := amount * setting.Price * topupGroupRatio return payMoney } func getMinTopup() int { - minTopup := constant.MinTopUp + minTopup := setting.MinTopUp if !common.DisplayInCurrencyEnabled { minTopup = minTopup * int(common.QuotaPerUnit) } @@ -94,7 +94,7 @@ func RequestEpay(c *gin.Context) { payType = "wxpay" } callBackAddress := service.GetCallbackAddress() - returnUrl, _ := url.Parse(constant.ServerAddress + "/log") + returnUrl, _ := url.Parse(setting.ServerAddress + "/log") notifyUrl, _ := url.Parse(callBackAddress + "/api/user/epay/notify") tradeNo := fmt.Sprintf("%s%d", common.GetRandomString(6), time.Now().Unix()) tradeNo = fmt.Sprintf("USR%dNO%s", id, tradeNo) diff --git a/model/option.go b/model/option.go index 7dd2e185..fd6afa03 100644 --- a/model/option.go +++ b/model/option.go @@ -2,7 +2,7 @@ package model import ( "one-api/common" - "one-api/constant" + "one-api/setting" "strconv" "strings" "time" @@ -61,16 +61,16 @@ func InitOptionMap() { common.OptionMap["SystemName"] = common.SystemName common.OptionMap["Logo"] = common.Logo common.OptionMap["ServerAddress"] = "" - common.OptionMap["WorkerUrl"] = constant.WorkerUrl - common.OptionMap["WorkerValidKey"] = constant.WorkerValidKey + common.OptionMap["WorkerUrl"] = setting.WorkerUrl + common.OptionMap["WorkerValidKey"] = setting.WorkerValidKey common.OptionMap["PayAddress"] = "" common.OptionMap["CustomCallbackAddress"] = "" common.OptionMap["EpayId"] = "" common.OptionMap["EpayKey"] = "" - common.OptionMap["Price"] = strconv.FormatFloat(constant.Price, 'f', -1, 64) - common.OptionMap["MinTopUp"] = strconv.Itoa(constant.MinTopUp) + common.OptionMap["Price"] = strconv.FormatFloat(setting.Price, 'f', -1, 64) + common.OptionMap["MinTopUp"] = strconv.Itoa(setting.MinTopUp) common.OptionMap["TopupGroupRatio"] = common.TopupGroupRatio2JSONString() - common.OptionMap["Chats"] = constant.Chats2JsonString() + common.OptionMap["Chats"] = setting.Chats2JsonString() common.OptionMap["GitHubClientId"] = "" common.OptionMap["GitHubClientSecret"] = "" common.OptionMap["TelegramBotToken"] = "" @@ -98,17 +98,17 @@ func InitOptionMap() { common.OptionMap["DataExportInterval"] = strconv.Itoa(common.DataExportInterval) common.OptionMap["DataExportDefaultTime"] = common.DataExportDefaultTime common.OptionMap["DefaultCollapseSidebar"] = strconv.FormatBool(common.DefaultCollapseSidebar) - common.OptionMap["MjNotifyEnabled"] = strconv.FormatBool(constant.MjNotifyEnabled) - common.OptionMap["MjAccountFilterEnabled"] = strconv.FormatBool(constant.MjAccountFilterEnabled) - common.OptionMap["MjModeClearEnabled"] = strconv.FormatBool(constant.MjModeClearEnabled) - common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(constant.MjForwardUrlEnabled) - common.OptionMap["MjActionCheckSuccessEnabled"] = strconv.FormatBool(constant.MjActionCheckSuccessEnabled) - common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(constant.CheckSensitiveEnabled) - common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnPromptEnabled) + common.OptionMap["MjNotifyEnabled"] = strconv.FormatBool(setting.MjNotifyEnabled) + common.OptionMap["MjAccountFilterEnabled"] = strconv.FormatBool(setting.MjAccountFilterEnabled) + common.OptionMap["MjModeClearEnabled"] = strconv.FormatBool(setting.MjModeClearEnabled) + common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(setting.MjForwardUrlEnabled) + common.OptionMap["MjActionCheckSuccessEnabled"] = strconv.FormatBool(setting.MjActionCheckSuccessEnabled) + common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(setting.CheckSensitiveEnabled) + common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(setting.CheckSensitiveOnPromptEnabled) //common.OptionMap["CheckSensitiveOnCompletionEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnCompletionEnabled) - common.OptionMap["StopOnSensitiveEnabled"] = strconv.FormatBool(constant.StopOnSensitiveEnabled) - common.OptionMap["SensitiveWords"] = constant.SensitiveWordsToString() - common.OptionMap["StreamCacheQueueLength"] = strconv.Itoa(constant.StreamCacheQueueLength) + common.OptionMap["StopOnSensitiveEnabled"] = strconv.FormatBool(setting.StopOnSensitiveEnabled) + common.OptionMap["SensitiveWords"] = setting.SensitiveWordsToString() + common.OptionMap["StreamCacheQueueLength"] = strconv.Itoa(setting.StreamCacheQueueLength) common.OptionMapRWMutex.Unlock() loadOptionsFromDatabase() @@ -209,23 +209,23 @@ func updateOptionMap(key string, value string) (err error) { case "DefaultCollapseSidebar": common.DefaultCollapseSidebar = boolValue case "MjNotifyEnabled": - constant.MjNotifyEnabled = boolValue + setting.MjNotifyEnabled = boolValue case "MjAccountFilterEnabled": - constant.MjAccountFilterEnabled = boolValue + setting.MjAccountFilterEnabled = boolValue case "MjModeClearEnabled": - constant.MjModeClearEnabled = boolValue + setting.MjModeClearEnabled = boolValue case "MjForwardUrlEnabled": - constant.MjForwardUrlEnabled = boolValue + setting.MjForwardUrlEnabled = boolValue case "MjActionCheckSuccessEnabled": - constant.MjActionCheckSuccessEnabled = boolValue + setting.MjActionCheckSuccessEnabled = boolValue case "CheckSensitiveEnabled": - constant.CheckSensitiveEnabled = boolValue + setting.CheckSensitiveEnabled = boolValue case "CheckSensitiveOnPromptEnabled": - constant.CheckSensitiveOnPromptEnabled = boolValue + setting.CheckSensitiveOnPromptEnabled = boolValue //case "CheckSensitiveOnCompletionEnabled": // constant.CheckSensitiveOnCompletionEnabled = boolValue case "StopOnSensitiveEnabled": - constant.StopOnSensitiveEnabled = boolValue + setting.StopOnSensitiveEnabled = boolValue case "SMTPSSLEnabled": common.SMTPSSLEnabled = boolValue } @@ -245,25 +245,25 @@ func updateOptionMap(key string, value string) (err error) { case "SMTPToken": common.SMTPToken = value case "ServerAddress": - constant.ServerAddress = value + setting.ServerAddress = value case "WorkerUrl": - constant.WorkerUrl = value + setting.WorkerUrl = value case "WorkerValidKey": - constant.WorkerValidKey = value + setting.WorkerValidKey = value case "PayAddress": - constant.PayAddress = value + setting.PayAddress = value case "Chats": - err = constant.UpdateChatsByJsonString(value) + err = setting.UpdateChatsByJsonString(value) case "CustomCallbackAddress": - constant.CustomCallbackAddress = value + setting.CustomCallbackAddress = value case "EpayId": - constant.EpayId = value + setting.EpayId = value case "EpayKey": - constant.EpayKey = value + setting.EpayKey = value case "Price": - constant.Price, _ = strconv.ParseFloat(value, 64) + setting.Price, _ = strconv.ParseFloat(value, 64) case "MinTopUp": - constant.MinTopUp, _ = strconv.Atoi(value) + setting.MinTopUp, _ = strconv.Atoi(value) case "TopupGroupRatio": err = common.UpdateTopupGroupRatioByJSONString(value) case "GitHubClientId": @@ -331,9 +331,9 @@ func updateOptionMap(key string, value string) (err error) { case "QuotaPerUnit": common.QuotaPerUnit, _ = strconv.ParseFloat(value, 64) case "SensitiveWords": - constant.SensitiveWordsFromString(value) + setting.SensitiveWordsFromString(value) case "StreamCacheQueueLength": - constant.StreamCacheQueueLength, _ = strconv.Atoi(value) + setting.StreamCacheQueueLength, _ = strconv.Atoi(value) } return err } diff --git a/model/token.go b/model/token.go index a620a486..0f5a87cc 100644 --- a/model/token.go +++ b/model/token.go @@ -5,8 +5,8 @@ import ( "fmt" "gorm.io/gorm" "one-api/common" - "one-api/constant" relaycommon "one-api/relay/common" + "one-api/setting" "strconv" "strings" ) @@ -325,7 +325,7 @@ func PostConsumeTokenQuota(relayInfo *relaycommon.RelayInfo, userQuota int, quot prompt = "您的额度已用尽" } if email != "" { - topUpLink := fmt.Sprintf("%s/topup", constant.ServerAddress) + topUpLink := fmt.Sprintf("%s/topup", setting.ServerAddress) err = common.SendEmail(prompt, email, fmt.Sprintf("%s,当前剩余额度为 %d,为了不影响您的使用,请及时充值。