Browse Source

update wechat mini

ls 6 months ago
parent
commit
5e5f4c1093
1 changed files with 44 additions and 0 deletions
  1. 44 0
      wechat/mini.go

+ 44 - 0
wechat/mini.go

@@ -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?"