代码拉取完成,页面将自动刷新
package wechat
import (
"errors"
"fmt"
"gitee.com/fbbi/go-wechat/util"
)
// MPTemplateGetAll 服务号模板消息接口
const (
MPTemplateGetAll = WXAPI + "template/get_all_private_template?access_token="
MPTemplateAdd = WXAPI + "template/api_add_template?access_token="
MPTemplateDel = WXAPI + "template/del_private_template?access_token="
MPTemplateSendMsg = WXAPI + "message/template/send?access_token="
)
// MpTemplate 模板信息
type MpTemplate struct {
TemplateId string `json:"template_id"`
Title string `json:"title"`
PrimaryIndustry string `json:"primary_industry"`
DeputyIndustry string `json:"deputy_industry"`
Content string `json:"content"`
Example string `json:"example"`
}
// AddTemplate 获取模板
func (s *Server) AddTemplate(IdShort string) (id string, err error) {
form := map[string]interface{}{"template_id_short": IdShort}
ret := make(map[string]interface{})
err = util.PostJsonPtr(MPTemplateAdd+s.GetAccessToken(), form, ret)
if err != nil {
return
}
if fmt.Sprint(ret["errcode"]) != "0" {
return "", errors.New(fmt.Sprint(ret["errcode"]))
}
return ret["template_id"].(string), nil
}
// DelTemplate 删除模板
func (s *Server) DelTemplate(id string) (err error) {
form := map[string]interface{}{"template_id": id}
ret := make(map[string]interface{})
err = util.PostJsonPtr(MPTemplateDel+s.GetAccessToken(), form, ret)
if err != nil {
return
}
if fmt.Sprint(ret["errcode"]) != "0" {
return errors.New(fmt.Sprint(ret["errcode"]))
}
return
}
// GetAllTemplate 获取模板
func (s *Server) GetAllTemplate() (templist []MpTemplate, err error) {
ret := make(map[string]interface{})
err = util.GetJson(MPTemplateGetAll+s.GetAccessToken(), ret)
if err != nil {
return
}
if fmt.Sprint(ret["errcode"]) != "0" {
return nil, errors.New(fmt.Sprint(ret["errcode"]))
}
return ret["template_id"].([]MpTemplate), nil
}
// SendTemplate 发送模板消息,data通常是map[string]struct{value string,color string}
func (s *Server) SendTemplate(to, id, url, appid, pagepath string, data interface{}) *WxErr {
form := map[string]interface{}{
"touser": to,
"template_id": id,
"data": data,
}
if pagepath != "" {
form["miniprogram"] = map[string]string{
"appid": appid,
"pagepath": pagepath,
}
} else if url != "" {
form["url"] = url
}
ret := new(WxErr)
err := util.PostJsonPtr(MPTemplateSendMsg+s.GetAccessToken(), form, &ret)
if err != nil {
return &WxErr{ErrCode: -1, ErrMsg: err.Error()}
}
return ret
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。