|
@@ -0,0 +1,58 @@
|
|
|
|
+package third
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "encoding/json"
|
|
|
|
+ "errors"
|
|
|
|
+ "eta/eta_api/models"
|
|
|
|
+ "eta/eta_api/utils"
|
|
|
|
+ "fmt"
|
|
|
|
+ "io"
|
|
|
|
+ "net/http"
|
|
|
|
+ "time"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func HttpGet(url string) (body []byte, err error) {
|
|
|
|
+ client := &http.Client{}
|
|
|
|
+ req, err := http.NewRequest("GET", url, nil)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ nonce := utils.GetRandStringNoSpecialChar(16)
|
|
|
|
+ timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
|
|
|
|
+ signature := utils.GetSign(nonce, timestamp, utils.ETA_MINI_APPID, utils.ETA_MINI_APP_SECRET)
|
|
|
|
+ //增加header选项
|
|
|
|
+ req.Header.Add("Nonce", nonce)
|
|
|
|
+ req.Header.Add("Timestamp", timestamp)
|
|
|
|
+ req.Header.Add("Appid", utils.ETA_MINI_APPID)
|
|
|
|
+ req.Header.Add("Signature", signature)
|
|
|
|
+ req.Header.Set("Content-Type", "application/json")
|
|
|
|
+
|
|
|
|
+ response, err := client.Do(req)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer response.Body.Close()
|
|
|
|
+
|
|
|
|
+ body, err = io.ReadAll(response.Body)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func DwSendTemplatedMsg(reportId int) error {
|
|
|
|
+ url := fmt.Sprintf("%swechat/send_template_msg?ReportId=%d", utils.ETAMiniBridgeUrl, reportId)
|
|
|
|
+ body, err := HttpGet(url)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ result := new(models.BaseResponse)
|
|
|
|
+ if err := json.Unmarshal(body, &result); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if result.Ret != 200 {
|
|
|
|
+ err = errors.New(string(body))
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ return nil
|
|
|
|
+}
|