From a0fe527047b857a9fb7ad6ce9e1372ceac606c85 Mon Sep 17 00:00:00 2001 From: "1808837298@qq.com" <1808837298@qq.com> Date: Tue, 4 Feb 2025 14:15:01 +0800 Subject: [PATCH] feat: add demo site configuration flag - Introduce `DemoSiteEnabled` variable in operation settings - Provide a configurable flag to enable/disable demo site functionality --- controller/misc.go | 1 + model/option.go | 3 +++ setting/operation_setting.go | 3 +++ web/src/components/OperationSetting.js | 1 + .../pages/Setting/Operation/SettingsGeneral.js | 18 ++++++++++++++++++ 5 files changed, 26 insertions(+) create mode 100644 setting/operation_setting.go diff --git a/controller/misc.go b/controller/misc.go index db94840d..1ea0c133 100644 --- a/controller/misc.go +++ b/controller/misc.go @@ -66,6 +66,7 @@ func GetStatus(c *gin.Context) { "enable_online_topup": setting.PayAddress != "" && setting.EpayId != "" && setting.EpayKey != "", "mj_notify_enabled": setting.MjNotifyEnabled, "chats": setting.Chats, + "demo_site_enabled": setting.DemoSiteEnabled, }, }) return diff --git a/model/option.go b/model/option.go index 1daf40fb..f1f2809d 100644 --- a/model/option.go +++ b/model/option.go @@ -104,6 +104,7 @@ func InitOptionMap() { common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(setting.MjForwardUrlEnabled) common.OptionMap["MjActionCheckSuccessEnabled"] = strconv.FormatBool(setting.MjActionCheckSuccessEnabled) common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(setting.CheckSensitiveEnabled) + common.OptionMap["DemoSiteEnabled"] = strconv.FormatBool(setting.DemoSiteEnabled) common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(setting.CheckSensitiveOnPromptEnabled) //common.OptionMap["CheckSensitiveOnCompletionEnabled"] = strconv.FormatBool(constant.CheckSensitiveOnCompletionEnabled) common.OptionMap["StopOnSensitiveEnabled"] = strconv.FormatBool(setting.StopOnSensitiveEnabled) @@ -220,6 +221,8 @@ func updateOptionMap(key string, value string) (err error) { setting.MjActionCheckSuccessEnabled = boolValue case "CheckSensitiveEnabled": setting.CheckSensitiveEnabled = boolValue + case "DemoSiteEnabled": + setting.DemoSiteEnabled = boolValue case "CheckSensitiveOnPromptEnabled": setting.CheckSensitiveOnPromptEnabled = boolValue //case "CheckSensitiveOnCompletionEnabled": diff --git a/setting/operation_setting.go b/setting/operation_setting.go new file mode 100644 index 00000000..0f2b4ffd --- /dev/null +++ b/setting/operation_setting.go @@ -0,0 +1,3 @@ +package setting + +var DemoSiteEnabled = false diff --git a/web/src/components/OperationSetting.js b/web/src/components/OperationSetting.js index eebff04f..98b67c67 100644 --- a/web/src/components/OperationSetting.js +++ b/web/src/components/OperationSetting.js @@ -58,6 +58,7 @@ const OperationSetting = () => { DefaultCollapseSidebar: false, // 默认折叠侧边栏 RetryTimes: 0, Chats: "[]", + DemoSiteEnabled: false, }); let [loading, setLoading] = useState(false); diff --git a/web/src/pages/Setting/Operation/SettingsGeneral.js b/web/src/pages/Setting/Operation/SettingsGeneral.js index 5ec54702..1c98d33e 100644 --- a/web/src/pages/Setting/Operation/SettingsGeneral.js +++ b/web/src/pages/Setting/Operation/SettingsGeneral.js @@ -21,6 +21,7 @@ export default function GeneralSettings(props) { DisplayInCurrencyEnabled: false, DisplayTokenStatEnabled: false, DefaultCollapseSidebar: false, + DemoSiteEnabled: false, }); const refForm = useRef(); const [inputsRow, setInputsRow] = useState(inputs); @@ -188,6 +189,23 @@ export default function GeneralSettings(props) { /> + + + + setInputs({ + ...inputs, + DemoSiteEnabled: value + }) + } + /> + +