|
|
@@ -2,6 +2,7 @@ package wechat
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"fmt"
|
|
|
"net/url"
|
|
|
"time"
|
|
|
@@ -188,7 +189,7 @@ func (mc *MiniClient) GetPhoneInfo(frm FormCode) (res MiniPhoneInfo, err error)
|
|
|
}
|
|
|
|
|
|
// TemplateSend /cgi-bin/message/wxopen/template/send
|
|
|
-func (mc *MiniClient) TemplateSend(template MiniTemplateMessage) (jq *myth.JSONQuery, err error) {
|
|
|
+func (mc *MiniClient) TemplateSend(template MiniTemplateMessage) (res TemplateResponse, err error) {
|
|
|
uri := BaseURL + "/cgi-bin/message/wxopen/template/send?"
|
|
|
|
|
|
if mc.AccessToken, err = mc.getToken(); err != nil {
|
|
|
@@ -201,14 +202,24 @@ func (mc *MiniClient) TemplateSend(template MiniTemplateMessage) (jq *myth.JSONQ
|
|
|
|
|
|
var msg myth.HTTPMessage
|
|
|
msg, err = postJSON(uri, template)
|
|
|
- if err == nil {
|
|
|
- jq, err = msg.JSONQuery()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
}
|
|
|
+ err = msg.JSON(&res)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if !res.Ok() {
|
|
|
+ err = errors.New(res.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// UniformSend /cgi-bin/message/wxopen/template/uniform_send
|
|
|
-func (mc *MiniClient) UniformSend(template MiniUniformMessage) (jq *myth.JSONQuery, err error) {
|
|
|
+func (mc *MiniClient) UniformSend(template MiniUniformMessage) (res TemplateResponse, err error) {
|
|
|
uri := BaseURL + "/cgi-bin/message/wxopen/template/uniform_send?"
|
|
|
|
|
|
if mc.AccessToken, err = mc.getToken(); err != nil {
|
|
|
@@ -221,8 +232,17 @@ func (mc *MiniClient) UniformSend(template MiniUniformMessage) (jq *myth.JSONQue
|
|
|
|
|
|
var msg myth.HTTPMessage
|
|
|
msg, err = postJSON(uri, template)
|
|
|
- if err == nil {
|
|
|
- jq, err = msg.JSONQuery()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = msg.JSON(&res)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if !res.Ok() {
|
|
|
+ err = errors.New(res.ErrMsg)
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
return
|