qywx.go 958 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package send
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/errors/gerror"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "github.com/gogf/gf/v2/util/gconv"
  7. )
  8. type qywxCommonRes struct {
  9. Errcode int `json:"errcode"`
  10. Errmsg string `json:"errmsg"`
  11. }
  12. func SendSimpleMsg2ChatBot(content string, atList ...string) error {
  13. var qwRobotNotice = g.Cfg().MustGet(context.Background(), "qwRobotNotice").String()
  14. if qwRobotNotice == "" {
  15. return nil
  16. }
  17. res, err := g.Client().Header(g.MapStrStr{"Content-Type": "application/json"}).
  18. Post(context.TODO(), qwRobotNotice,
  19. g.Map{
  20. "msgtype": "text",
  21. "text": g.Map{
  22. "content": content,
  23. "mentioned_list": atList,
  24. },
  25. })
  26. if err != nil {
  27. return err
  28. }
  29. var commonRes qywxCommonRes
  30. if err := gconv.Struct(res.ReadAll(), &commonRes); err != nil {
  31. return gerror.Wrap(err, "读取企业微信消息异常")
  32. }
  33. if commonRes.Errcode == 0 {
  34. return nil
  35. }
  36. return gerror.New(commonRes.Errmsg)
  37. }