From 0bb09ae6e5b9808397e3de97d3b6e3b1cdb5430c Mon Sep 17 00:00:00 2001 From: v-me-50 Date: Tue, 30 Sep 2025 10:56:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91webhook?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=A4=9A=E5=9F=9F=E5=90=8D=E8=AF=81=E4=B9=A6?= =?UTF-8?q?=E6=97=B6=E5=AF=B9=E5=90=8C=E4=B8=80=E4=B8=AA=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=B7=BB=E5=8A=A0=E9=AA=8C=E8=AF=81=20?= =?UTF-8?q?=E3=80=90=E8=B0=83=E6=95=B4=E3=80=91bt-domain=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/cert/apply/lego/bt/client.go | 3 +++ backend/internal/cert/apply/lego/webhook/lego.go | 14 ++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/internal/cert/apply/lego/bt/client.go b/backend/internal/cert/apply/lego/bt/client.go index a1280f8..f8b7453 100644 --- a/backend/internal/cert/apply/lego/bt/client.go +++ b/backend/internal/cert/apply/lego/bt/client.go @@ -76,6 +76,9 @@ func (c *Config) MakeRequest(method, path string, data interface{}) (map[string] if err := json.Unmarshal(respBytes, &result); err != nil { return nil, err } + if !result["status"].(bool) { + return nil, fmt.Errorf("API 请求失败: %v", result["msg"]) + } return result, nil } diff --git a/backend/internal/cert/apply/lego/webhook/lego.go b/backend/internal/cert/apply/lego/webhook/lego.go index 3487918..2f37fd4 100644 --- a/backend/internal/cert/apply/lego/webhook/lego.go +++ b/backend/internal/cert/apply/lego/webhook/lego.go @@ -7,8 +7,6 @@ import ( "time" ) -var configData string - type Config struct { WebhookConfig *public.WebhookConfig @@ -19,7 +17,8 @@ type Config struct { } type DNSProvider struct { - config *Config + config *Config + dataTemp string } func NewConfig(WebhookConfigStr map[string]string) *Config { @@ -45,7 +44,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { if config == nil { return nil, fmt.Errorf("配置不能为空") } - return &DNSProvider{config: config}, nil + return &DNSProvider{ + config: config, + dataTemp: config.WebhookConfig.Data, + }, nil } func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { @@ -53,12 +55,12 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) Present(domain, token, keyAuth string) error { - configData = d.config.WebhookConfig.Data + d.config.WebhookConfig.Data = d.dataTemp return d.send(domain, token, keyAuth, "present") } func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { - d.config.WebhookConfig.Data = configData + d.config.WebhookConfig.Data = d.dataTemp return d.send(domain, token, keyAuth, "cleanup") }