PS:开发微信的东西是真的心累,一大堆坑!文档写的乱七八糟的,找个东西都得半天。
为了发一条模板消息翻了无数个博客,很多都是把代码一放,其实代码这块很好弄,不就组装个数据调一下API吗,主要是前期工作。我把我遇到的坑给大家总结一下,希望后来人可以少走一些弯路。
微信发送模板消息文档:点击查看
- 超级大坑!发送接口问题
文档上是这个接口:
1 | https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN |
实际不是的!!!!!是下面这个,看见没,多了一个wxopen,如果你碰到 48001 返回码,看看是不是这出问题了。
1 | https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN |
- 域名问题
他们这个必须要配置合法域名,必须是https的,要有SSL证书的,在微信开发工具上可以看到你目前配置的合法域名
- 内网穿透问题
因为formID必须要在真机上才可以获取,所以你最好设置一个内网穿透,让手机能访问到你本地的服务。
内网穿透工具可以去下面网站上下载,有免费的
https://www.ngrok.cc
- 证书问题
在腾讯云上下载的证书是下面这个样子的:
这时你在go语言就不知道用哪个里面的证书了。。。我用的gofram框架,可以这样搞,
将Apache里面的
这两个东西,通过下面网站生成一个 .pem
证书然后再用到go语言中就好使了。
https://www.myssl.cn/tools/merge-pem-cert.html
go语言中这样用
1 | s.EnableHTTPS("https/ssl.pem", "https/3_pibigstar.com.key") |
还有一个坑就是,端口不能是443,可能是我本机是Windows,把443端口屏蔽了,如果你一直出现404情况,换个端口!
大概就些坑,如果你碰到其他的坑可以给我留言,或关注我的微信公众号,希望可以帮到你。
放代码
go后端
1 | import ( |
controller例子
仅仅是个例子,供大家参考
1 | func init() { |
小程序端
1 | <view> |
1 | templateSend: function (e) { |