修复webhook前后端字段类型不一致导致工作流失败的问题

1.1.0 v1.1.0
v-me-50 2025-09-04 17:57:22 +08:00
parent f1544ecd8b
commit 51548f6788
2 changed files with 26 additions and 5 deletions

View File

@ -23,16 +23,14 @@ type DNSProvider struct {
}
func NewConfig(WebhookConfigStr map[string]string) *Config {
fmt.Println(WebhookConfigStr)
WebhookConfig := &public.WebhookConfig{
Url: WebhookConfigStr["url"],
Data: WebhookConfigStr["data"],
Method: WebhookConfigStr["method"],
Headers: WebhookConfigStr["headers"],
IgnoreSSL: WebhookConfigStr["ignore_ssl"] == "true",
IgnoreSSL: WebhookConfigStr["ignore_ssl"] == "1",
}
fmt.Println(WebhookConfig.Url)
return &Config{
WebhookConfig: WebhookConfig,

View File

@ -32,12 +32,35 @@ func Deploy(cfg map[string]any) error {
return fmt.Errorf("api配置错误")
}
// 解析 JSON 配置
var providerConfig public.WebhookConfig
err = json.Unmarshal([]byte(providerConfigStr), &providerConfig)
var providerConfigMap map[string]interface{}
err = json.Unmarshal([]byte(providerConfigStr), &providerConfigMap)
if err != nil {
return err
}
var ignoreSSL bool
switch v := providerConfigMap["ignore_ssl"].(type) {
case string:
if v == "1" {
ignoreSSL = true
}
case float64:
if v != 0 {
ignoreSSL = true
}
case bool:
ignoreSSL = v
}
providerConfig := public.WebhookConfig{
Url: providerConfigMap["url"].(string),
Data: providerConfigMap["data"].(string),
Method: providerConfigMap["method"].(string),
Headers: providerConfigMap["headers"].(string),
IgnoreSSL: ignoreSSL,
}
certStr, ok := cert["cert"].(string)
if !ok || certStr == "" {
return fmt.Errorf("cert is required and must be a string")