|
@@ -2,6 +2,7 @@ package wechat
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"net/url"
|
|
|
"time"
|
|
|
|
|
@@ -132,6 +133,49 @@ func (mc *MiniClient) TemplateList(offset, count int) (body []byte, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// MiniPhoneInfo 手机信息
|
|
|
+type MiniPhoneInfo struct {
|
|
|
+ ResponseMsg
|
|
|
+ PhoneInfo struct {
|
|
|
+ PhoneNumber string `json:"phoneNumber"`
|
|
|
+ PurePhoneNumber string `json:"purePhoneNumber"`
|
|
|
+ CountryCode string `json:"countryCode"`
|
|
|
+ Watermark struct {
|
|
|
+ Timestamp int64 `json:"timestamp"`
|
|
|
+ AppID string `json:"appid"`
|
|
|
+ } `json:"watermark"`
|
|
|
+ } `json:"phone_info"`
|
|
|
+}
|
|
|
+
|
|
|
+// GetPhoneInfo 获取手机信息 /wxa/business/getuserphonenumber
|
|
|
+func (mc *MiniClient) GetPhoneInfo(frm FormCode) (res MiniPhoneInfo, err error) {
|
|
|
+ uri := BaseURL + "/wxa/business/getuserphonenumber?"
|
|
|
+
|
|
|
+ if mc.AccessToken, err = mc.getToken(); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ args := url.Values{}
|
|
|
+ args.Add("access_token", mc.AccessToken)
|
|
|
+
|
|
|
+ uri += args.Encode()
|
|
|
+
|
|
|
+ var msg myth.HTTPMessage
|
|
|
+ msg, err = postJSON(uri, frm)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = msg.JSON(&res)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if res.ErrCode != 0 {
|
|
|
+ err = errors.New(res.ErrMsg)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// TemplateSend /cgi-bin/message/wxopen/template/send
|
|
|
func (mc *MiniClient) TemplateSend(template MiniTemplateMessage) (jq *myth.JSONQuery, err error) {
|
|
|
uri := BaseURL + "/cgi-bin/message/wxopen/template/send?"
|