From 6106b57bc7c7abe2bc3950f380fa114d876c89cc Mon Sep 17 00:00:00 2001 From: WittF Date: Sun, 29 Jun 2025 10:14:26 +0800 Subject: [PATCH] feat(captcha): update static asset source option (#2589) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(captcha): Add captcha_cap_asset_server configuration option to support static asset server settings (#2584) * fix(captcha): Backend default: cdn → jsdelivr --- inventory/setting.go | 1 + pkg/setting/provider.go | 1 + pkg/setting/types.go | 1 + service/basic/site.go | 2 ++ 4 files changed, 5 insertions(+) diff --git a/inventory/setting.go b/inventory/setting.go index a07b35c..d8dd0b5 100644 --- a/inventory/setting.go +++ b/inventory/setting.go @@ -395,6 +395,7 @@ var DefaultSettings = map[string]string{ "captcha_cap_instance_url": "", "captcha_cap_site_key": "", "captcha_cap_secret_key": "", + "captcha_cap_asset_server": "jsdelivr", "thumb_width": "400", "thumb_height": "300", "thumb_entity_suffix": "._thumb", diff --git a/pkg/setting/provider.go b/pkg/setting/provider.go index 3d0b79a..09aacbe 100644 --- a/pkg/setting/provider.go +++ b/pkg/setting/provider.go @@ -671,6 +671,7 @@ func (s *settingProvider) CapCaptcha(ctx context.Context) *Cap { InstanceURL: s.getString(ctx, "captcha_cap_instance_url", ""), SiteKey: s.getString(ctx, "captcha_cap_site_key", ""), SecretKey: s.getString(ctx, "captcha_cap_secret_key", ""), + AssetServer: s.getString(ctx, "captcha_cap_asset_server", "jsdelivr"), } } diff --git a/pkg/setting/types.go b/pkg/setting/types.go index 69ecfba..6c389c2 100644 --- a/pkg/setting/types.go +++ b/pkg/setting/types.go @@ -52,6 +52,7 @@ type Cap struct { InstanceURL string SiteKey string SecretKey string + AssetServer string } type SMTP struct { diff --git a/service/basic/site.go b/service/basic/site.go index 1f1ffe9..aface24 100644 --- a/service/basic/site.go +++ b/service/basic/site.go @@ -31,6 +31,7 @@ type SiteConfig struct { TurnstileSiteID string `json:"turnstile_site_id,omitempty"` CapInstanceURL string `json:"captcha_cap_instance_url,omitempty"` CapSiteKey string `json:"captcha_cap_site_key,omitempty"` + CapAssetServer string `json:"captcha_cap_asset_server,omitempty"` RegisterEnabled bool `json:"register_enabled,omitempty"` TosUrl string `json:"tos_url,omitempty"` PrivacyPolicyUrl string `json:"privacy_policy_url,omitempty"` @@ -138,6 +139,7 @@ func (s *GetSettingService) GetSiteConfig(c *gin.Context) (*SiteConfig, error) { ReCaptchaKey: reCaptcha.Key, CapInstanceURL: capCaptcha.InstanceURL, CapSiteKey: capCaptcha.SiteKey, + CapAssetServer: capCaptcha.AssetServer, AppPromotion: appSetting.Promotion, }, nil }