package message import ( "encoding/json" "github.com/imroc/req" "github.com/tidwall/gjson" "search_server/pkg/config" "strings" ) //发送钉钉消息的包 type DingDingRequest struct { MsgType string `json:"msgtype"` Text map[string]string `json:"text"` IsAtAll bool `json:"isAtAll"` } type DingDingResponse struct { Errcode int `json:"errcode"` Errmsg string `json:"errmsg"` } func DingDingPush(content string) (result DingDingResponse, err error) { accessToken := config.Get("DINGDING.SEARCH_API_MONITOR").String() webhook := "https://oapi.dingtalk.com/robot/send?access_token=" + accessToken data := make(map[string]interface{}) data["msgtype"] = "text" data["text"] = map[string]string{ "content": content, } req.Debug = false dataStrByte, _ := json.Marshal(data) dataStr := string(dataStrByte) dataStr = strings.Replace(dataStr, "\\", "\\\\", -1) params := req.BodyJSON(dataStr) resp, err := req.Post(webhook, params, req.Header{ "Content-Type": "application/json", "charset": "UTF-8", }) if resp == nil { return } result.Errcode = int(gjson.Get(resp.String(), "errcode").Int()) result.Errmsg = gjson.Get(resp.String(), "errmsg").String() return }