From a18fe5b58aeec17f75a98773fd9497bab9574e00 Mon Sep 17 00:00:00 2001 From: huangx Date: Mon, 17 Aug 2020 15:29:59 +0800 Subject: [PATCH] add miniprogram/subscribe listTemplates (#314) Co-authored-by: huangxiang --- miniprogram/subscribe/subscribe.go | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/miniprogram/subscribe/subscribe.go b/miniprogram/subscribe/subscribe.go index 89a0ad0..ba34d85 100644 --- a/miniprogram/subscribe/subscribe.go +++ b/miniprogram/subscribe/subscribe.go @@ -11,6 +11,10 @@ const ( //发送订阅消息 //https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html subscribeSendURL = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send" + + // 获取当前帐号下的个人模板列表 + // https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getTemplateList.html + getTemplateURL = "https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate" ) // Subscribe 订阅消息 @@ -38,6 +42,19 @@ type DataItem struct { Value string `json:"value"` } +type TemplateItem struct { + PriTmplID string `json:"priTmplId"` + Title string `json:"title"` + Content string `json:"content"` + Example string `json:"example"` + Type int64 `json:"type"` +} + +type TemplateList struct { + util.CommonError + Data []TemplateItem `json:"data"` +} + // Send 发送订阅消息 func (s *Subscribe) Send(msg *Message) (err error) { var accessToken string @@ -52,3 +69,23 @@ func (s *Subscribe) Send(msg *Message) (err error) { } return util.DecodeWithCommonError(response, "Send") } + +// 获取当前帐号下的个人模板列表 +// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getTemplateList.html +func (s *Subscribe) ListTemplates() (*TemplateList, error) { + accessToken, err := s.GetAccessToken() + if err != nil { + return nil, err + } + uri := fmt.Sprintf("%s?access_token=%s", getTemplateURL, accessToken) + response, err := util.HTTPGet(uri) + if err != nil { + return nil, err + } + templateList := TemplateList{} + err = util.DecodeWithError(response, &templateList, "ListTemplates") + if err != nil { + return nil, err + } + return &templateList, nil +}