-
Notifications
You must be signed in to change notification settings - Fork 147
/
client.go
109 lines (77 loc) · 3.84 KB
/
client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package subscribeMessage
import (
"fmt"
"github.com/ArtisanCloud/PowerLibs/v2/object"
"github.com/ArtisanCloud/PowerWeChat/v2/src/basicService/subscribeMessage/request"
response3 "github.com/ArtisanCloud/PowerWeChat/v2/src/basicService/subscribeMessage/response"
"github.com/ArtisanCloud/PowerWeChat/v2/src/kernel"
response2 "github.com/ArtisanCloud/PowerWeChat/v2/src/kernel/response"
)
type Client struct {
*kernel.BaseClient
}
// 组合模板并添加至帐号下的个人模板库
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.addTemplate.html
func (comp *Client) AddTemplate(tid string, kidList []int, sceneDesc string) (*response3.ResponseSubscribeMessageAddTemplate, error) {
result := &response3.ResponseSubscribeMessageAddTemplate{}
data := &object.HashMap{
"tid": tid,
"kidList": kidList,
"sceneDesc": sceneDesc,
}
_, err := comp.HttpPostJson("wxaapi/newtmpl/addtemplate", data, nil, nil, result)
return result, err
}
// 删除帐号下的个人模板
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.deleteTemplate.html
func (comp *Client) DeleteTemplate(priTmplID string) (*response2.ResponseMiniProgram, error) {
result := &response2.ResponseMiniProgram{}
data := &object.HashMap{
"priTmplId": priTmplID,
}
_, err := comp.HttpPostJson("wxaapi/newtmpl/deltemplate", data, nil, nil, result)
return result, err
}
// 获取小程序账号的类目
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getCategory.html
func (comp *Client) GetCategory() (*response3.ResponseSubscribeMessageGetCategory, error) {
result := &response3.ResponseSubscribeMessageGetCategory{}
_, err := comp.HttpGet("wxaapi/newtmpl/getcategory", nil, nil, result)
return result, err
}
// 获取模板标题下的关键词列表
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getPubTemplateKeyWordsById.html
func (comp *Client) GetPubTemplateKeyWordsByID(tid string) (*response3.ResponseSubscribeMessageGetPubTemplateKeyWordsByID, error) {
result := &response3.ResponseSubscribeMessageGetPubTemplateKeyWordsByID{}
params := &object.StringMap{
"tid": tid,
}
_, err := comp.HttpGet("wxaapi/newtmpl/getpubtemplatekeywords", params, nil, result)
return result, err
}
// 获取帐号所属类目下的公共模板标题
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getPubTemplateTitleList.html
func (comp *Client) GetPubTemplateTitleList(ids string, start int, limit int) (*response3.ResponseSubscribeMessageGetPubTemplateTitleList, error) {
result := &response3.ResponseSubscribeMessageGetPubTemplateTitleList{}
params := &object.StringMap{
"ids": ids,
"start": fmt.Sprintf("%d", start),
"limit": fmt.Sprintf("%d", limit),
}
_, err := comp.HttpGet("wxaapi/newtmpl/getpubtemplatetitles", params, nil, result)
return result, err
}
// 获取当前帐号下的个人模板列表
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.getTemplateList.html
func (comp *Client) GetTemplateList() (*response3.ResponseSubscribeMessageGetTemplateList, error) {
result := &response3.ResponseSubscribeMessageGetTemplateList{}
_, err := comp.HttpGet("wxaapi/newtmpl/gettemplate", nil, nil, result)
return result, err
}
// 发送订阅消息
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
func (comp *Client) Send(data *request.RequestSubscribeMessageSend) (*response2.ResponseMiniProgram, error) {
result := &response2.ResponseMiniProgram{}
_, err := comp.HttpPostJson("cgi-bin/message/subscribe/send", data, nil, nil, result)
return result, err
}