Closed AnsonCode closed 3 years ago
最近微信升级了模板消息功能,什么时候能集成下呢?
`// Package template 模版消息 package subscribe
import ( // "fmt" "encoding/json" "errors" "net/http" "strings"
"github.com/medivhzhan/weapp" "github.com/medivhzhan/weapp/util"
)
const ( sendAPI = "/cgi-bin/message/subscribe/send" )
// Message 模版消息体 type Message map[string]interface{}
// Send 发送模板消息 // // @openid 接收者(用户)的 openid // @template 所需下发的模板消息的id // @page 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。 // @formID 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id // @data 模板内容,不填则下发空模板 // @emphasisKeyword 模板需要放大的关键词,不填则默认无放大 func Send(openid, template, page string, data Message,token string) error { api, err := util.TokenAPI(weapp.BaseURL+sendAPI, token) if err != nil { return err }
for key := range data { data[key] = Message{"value": data[key]} } body := map[string]interface{}{ "touser": openid, "template_id": template, "page": page, "data": data, } payload, err := json.Marshal(body) if err != nil { return err } res, err := http.Post(api, "application/json", strings.NewReader(string(payload))) if err != nil { return err } defer res.Body.Close() if res.StatusCode != 200 { err = errors.New(weapp.WeChatServerError) return err } var resp weapp.Response if err = json.NewDecoder(res.Body).Decode(&resp); err != nil { return err } // fmt.Println("订阅消息:",api,string(payload),resp) if resp.Errcode != 0 { return errors.New(resp.Errmsg) } return nil
} `
请注意,小程序模板消息接口将于2020年1月10日下线,
最近微信升级了模板消息功能,什么时候能集成下呢?
`// Package template 模版消息 package subscribe
import ( // "fmt" "encoding/json" "errors" "net/http" "strings"
)
const ( sendAPI = "/cgi-bin/message/subscribe/send" )
// Message 模版消息体 type Message map[string]interface{}
// Send 发送模板消息 // // @openid 接收者(用户)的 openid // @template 所需下发的模板消息的id // @page 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。 // @formID 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id // @data 模板内容,不填则下发空模板 // @emphasisKeyword 模板需要放大的关键词,不填则默认无放大 func Send(openid, template, page string, data Message,token string) error { api, err := util.TokenAPI(weapp.BaseURL+sendAPI, token) if err != nil { return err }
} `