支持webhook中消息标题及消息内容替换逻辑

pull/185/head
mooring 2025-06-03 14:02:07 +08:00
parent 29a7579743
commit 3ad8797922
2 changed files with 21 additions and 3 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@
/data/ /data/
/logs/ /logs/
.idea .idea
**/.history/
/allinssl

View File

@ -184,6 +184,22 @@ func NotifyWebHook(params map[string]any) error {
return fmt.Errorf("解析配置失败: %v", err) return fmt.Errorf("解析配置失败: %v", err)
} }
if params["subject"] != nil && params["body"] != nil {
subjStr, ok1 := params["subject"].(string)
bodyStr, ok2 := params["body"].(string)
if ok1 && ok2 {
subjStr = strings.ReplaceAll(subjStr, `"`, `\"`)
bodyStr = strings.ReplaceAll(bodyStr, `"`, `\"`)
if strings.Contains(config.Data, "{subject}") {
config.Data = strings.ReplaceAll(config.Data, "{subject}", subjStr+"\n")
}
if strings.Contains(config.Data, "{body}") {
config.Data = strings.ReplaceAll(config.Data, "{body}", bodyStr)
}
config.Data = strings.ReplaceAll(config.Data, "\n", `\n`)
}
}
reporter := NewWebHookReporter(&config, logger) reporter := NewWebHookReporter(&config, logger)
httpctx := context.Background() httpctx := context.Background()
err = reporter.Send(httpctx) err = reporter.Send(httpctx)