|
@@ -1,7 +1,6 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
- "bytes"
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
"eta/eta_mini_crm_ht/models"
|
|
@@ -9,6 +8,7 @@ import (
|
|
|
"fmt"
|
|
|
"io"
|
|
|
"net/http"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -182,19 +182,25 @@ type SendWxTemplate struct {
|
|
|
}
|
|
|
|
|
|
func sendMsg(template SendWxTemplate) (err error) {
|
|
|
+ if utils.ETA_PUB_URL == `` {
|
|
|
+ // 找不到推送服务
|
|
|
+ return
|
|
|
+ }
|
|
|
// 设置请求 URL
|
|
|
// 设置 POST 请求的数据
|
|
|
data, err := json.Marshal(template)
|
|
|
if err != nil {
|
|
|
utils.FileLog.Error("发送消息模板失败,请求data json序列化失败,err:%v", err)
|
|
|
}
|
|
|
- req, _ := http.NewRequest("POST", utils.ETA_PUB_URL, bytes.NewBuffer(data))
|
|
|
+ body := io.NopCloser(strings.NewReader(string(data)))
|
|
|
+ req, _ := http.NewRequest("POST", utils.ETA_PUB_URL, body)
|
|
|
if err != nil {
|
|
|
fmt.Println("发送模板消息失败,创建请求失败:", err)
|
|
|
return
|
|
|
}
|
|
|
// 设置 Content-Type
|
|
|
- req.Header.Set("Content-Type", "application/json")
|
|
|
+ req.Header.Set("Authorization", utils.HT_MINI_APPID)
|
|
|
+ req.Header.Set("Content-Type", "application/json;charset=utf-8")
|
|
|
// 发送 POST 请求
|
|
|
client := &http.Client{}
|
|
|
resp, err := client.Do(req)
|
|
@@ -204,11 +210,14 @@ func sendMsg(template SendWxTemplate) (err error) {
|
|
|
}
|
|
|
defer resp.Body.Close()
|
|
|
// 处理响应
|
|
|
- body, _ := io.ReadAll(resp.Body)
|
|
|
+ repBody, err := io.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
if resp.StatusCode != http.StatusOK {
|
|
|
- utils.FileLog.Error("发送消息模板失败,请求失败,err:%v", string(body))
|
|
|
+ utils.FileLog.Error("发送消息模板失败,请求失败,err:%v", string(repBody))
|
|
|
return
|
|
|
}
|
|
|
- utils.FileLog.Info("发送消息模板成功,请求成功,body:%v", string(body))
|
|
|
+ utils.FileLog.Info("发送消息模板成功,请求成功,body:%v", string(repBody))
|
|
|
return
|
|
|
}
|