【修复】webhook申请多域名证书时对同一个域名重复添加验证

【调整】bt-domain请求失败判断
This commit is contained in:
v-me-50
2025-09-30 10:56:19 +08:00
parent 6258555c47
commit 0bb09ae6e5
2 changed files with 11 additions and 6 deletions

View File

@@ -76,6 +76,9 @@ func (c *Config) MakeRequest(method, path string, data interface{}) (map[string]
if err := json.Unmarshal(respBytes, &result); err != nil { if err := json.Unmarshal(respBytes, &result); err != nil {
return nil, err return nil, err
} }
if !result["status"].(bool) {
return nil, fmt.Errorf("API 请求失败: %v", result["msg"])
}
return result, nil return result, nil
} }

View File

@@ -7,8 +7,6 @@ import (
"time" "time"
) )
var configData string
type Config struct { type Config struct {
WebhookConfig *public.WebhookConfig WebhookConfig *public.WebhookConfig
@@ -19,7 +17,8 @@ type Config struct {
} }
type DNSProvider struct { type DNSProvider struct {
config *Config config *Config
dataTemp string
} }
func NewConfig(WebhookConfigStr map[string]string) *Config { func NewConfig(WebhookConfigStr map[string]string) *Config {
@@ -45,7 +44,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
if config == nil { if config == nil {
return nil, fmt.Errorf("配置不能为空") 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) { 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 { 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") return d.send(domain, token, keyAuth, "present")
} }
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { 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") return d.send(domain, token, keyAuth, "cleanup")
} }