ソースを参照

template message

ls 3 年 前
コミット
f980e83d25
2 ファイル変更15 行追加8 行削除
  1. 3 2
      wechat/client.go
  2. 12 6
      wechat/structure.go

+ 3 - 2
wechat/client.go

@@ -1,6 +1,7 @@
 package wechat
 
 import (
+	"encoding/json"
 	"errors"
 	"fmt"
 	"net/url"
@@ -283,7 +284,7 @@ func (wc Client) GetSignPackage(uri, nonceStr string) (sign SignPackage, err err
 
 // SendTemplateMessage send template message
 // POST /cgi-bin/message/template/send?access_token=ACCESS_TOKEN
-func (wc Client) SendTemplateMessage(template TemplateMessage) (jq *myth.JSONQuery, err error) {
+func (wc Client) SendTemplateMessage(template TemplateMessage) (res TemplateResponse, err error) {
 	uri := BaseURL + "/cgi-bin/message/template/send?"
 
 	if wc.AccessToken, err = wc.getToken(); err != nil {
@@ -297,7 +298,7 @@ func (wc Client) SendTemplateMessage(template TemplateMessage) (jq *myth.JSONQue
 	var msg myth.HTTPMessage
 	msg, err = postJSON(uri, template)
 	if err == nil {
-		jq, err = msg.JSONQuery()
+		err = json.Unmarshal(msg.Body, &res)
 	}
 	return
 }

+ 12 - 6
wechat/structure.go

@@ -29,6 +29,12 @@ type MiniClient struct {
 	LastTokenTime int64
 }
 
+// ResponseMsg response
+type ResponseMsg struct {
+	ErrCode int    `json:"errcode"`
+	ErrMsg  string `json:"errmsg"`
+}
+
 // FormSignature signature
 type FormSignature struct {
 	TimeStamp string `form:"timestamp" json:"timestamp"`
@@ -65,12 +71,6 @@ type FormURLState struct {
 	State       string `form:"state" json:"state" xml:"state"`
 }
 
-// ResponseMsg response
-type ResponseMsg struct {
-	ErrCode int    `json:"errcode"`
-	ErrMsg  string `json:"errmsg"`
-}
-
 /*
 // Response response
 type Response struct {
@@ -362,6 +362,12 @@ type ValueColor struct {
 	Color string `json:"color,omitempty"`
 }
 
+// TemplateResponse 模版消息返回
+type TemplateResponse struct {
+	ResponseMsg
+	MessageID int64 `json:"msgid"`
+}
+
 // TemplateData data
 type TemplateData struct {
 	First     *ValueColor `json:"first"`