From 1162683b4d134d7979f08e615064584660a4ce4d Mon Sep 17 00:00:00 2001 From: CaIon <1808837298@qq.com> Date: Thu, 18 Apr 2024 18:02:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=AF=E8=AE=BE=E7=BD=AE=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E8=BD=AC=E5=8F=91=E4=B8=8A=E6=B8=B8mj=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- constant/midjourney.go | 2 +- controller/midjourney.go | 10 ++++++++-- model/option.go | 3 +++ relay/relay-mj.go | 4 +++- web/src/components/OperationSetting.js | 7 +++++++ 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/constant/midjourney.go b/constant/midjourney.go index 6d0b5ac..cd38d5f 100644 --- a/constant/midjourney.go +++ b/constant/midjourney.go @@ -1,8 +1,8 @@ package constant var MjNotifyEnabled = false - var MjModeClearEnabled = false +var MjForwardUrlEnabled = true const ( MjErrorUnknown = 5 diff --git a/controller/midjourney.go b/controller/midjourney.go index b5b832b..3d779c8 100644 --- a/controller/midjourney.go +++ b/controller/midjourney.go @@ -10,11 +10,11 @@ import ( "log" "net/http" "one-api/common" + "one-api/constant" "one-api/dto" "one-api/model" "one-api/service" "strconv" - "strings" "time" ) @@ -233,6 +233,12 @@ func GetAllMidjourney(c *gin.Context) { if logs == nil { logs = make([]*model.Midjourney, 0) } + if constant.MjForwardUrlEnabled { + for i, midjourney := range logs { + midjourney.ImageUrl = common.ServerAddress + "/mj/image/" + midjourney.MjId + logs[i] = midjourney + } + } c.JSON(200, gin.H{ "success": true, "message": "", @@ -259,7 +265,7 @@ func GetUserMidjourney(c *gin.Context) { if logs == nil { logs = make([]*model.Midjourney, 0) } - if !strings.Contains(common.ServerAddress, "localhost") { + if constant.MjForwardUrlEnabled { for i, midjourney := range logs { midjourney.ImageUrl = common.ServerAddress + "/mj/image/" + midjourney.MjId logs[i] = midjourney diff --git a/model/option.go b/model/option.go index 91a7ea7..57bbc38 100644 --- a/model/option.go +++ b/model/option.go @@ -93,6 +93,7 @@ func InitOptionMap() { common.OptionMap["DefaultCollapseSidebar"] = strconv.FormatBool(common.DefaultCollapseSidebar) common.OptionMap["MjNotifyEnabled"] = strconv.FormatBool(constant.MjNotifyEnabled) common.OptionMap["MjModeClearEnabled"] = strconv.FormatBool(constant.MjModeClearEnabled) + common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(constant.MjForwardUrlEnabled) common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(constant.CheckSensitiveEnabled) common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnPromptEnabled) //common.OptionMap["CheckSensitiveOnCompletionEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnCompletionEnabled) @@ -198,6 +199,8 @@ func updateOptionMap(key string, value string) (err error) { constant.MjNotifyEnabled = boolValue case "MjModeClearEnabled": constant.MjModeClearEnabled = boolValue + case "MjForwardUrlEnabled": + constant.MjForwardUrlEnabled = boolValue case "CheckSensitiveEnabled": constant.CheckSensitiveEnabled = boolValue case "CheckSensitiveOnPromptEnabled": diff --git a/relay/relay-mj.go b/relay/relay-mj.go index 7b3a4e2..27b4c6d 100644 --- a/relay/relay-mj.go +++ b/relay/relay-mj.go @@ -110,11 +110,13 @@ func coverMidjourneyTaskDto(c *gin.Context, originTask *model.Midjourney) (midjo midjourneyTask.StartTime = originTask.StartTime midjourneyTask.FinishTime = originTask.FinishTime midjourneyTask.ImageUrl = "" - if originTask.ImageUrl != "" { + if originTask.ImageUrl != "" && constant.MjForwardUrlEnabled { midjourneyTask.ImageUrl = common.ServerAddress + "/mj/image/" + originTask.MjId if originTask.Status != "SUCCESS" { midjourneyTask.ImageUrl += "?rand=" + strconv.FormatInt(time.Now().UnixNano(), 10) } + } else { + midjourneyTask.ImageUrl = originTask.ImageUrl } midjourneyTask.Status = originTask.Status midjourneyTask.FailReason = originTask.FailReason diff --git a/web/src/components/OperationSetting.js b/web/src/components/OperationSetting.js index 7a112e5..44b6214 100644 --- a/web/src/components/OperationSetting.js +++ b/web/src/components/OperationSetting.js @@ -39,6 +39,7 @@ const OperationSetting = () => { SensitiveWords: '', MjNotifyEnabled: '', MjModeClearEnabled: '', + MjForwardUrlEnabled: '', DrawingEnabled: '', DataExportEnabled: '', DataExportDefaultTime: 'hour', @@ -322,6 +323,12 @@ const OperationSetting = () => { name='MjNotifyEnabled' onChange={handleInputChange} /> +