小程序中使用公众号模板消息思路整理
起因
最近做的一个小程序里面有一个预约功能,成功提醒用户预约成功,同时通知被预约者
过程
因为在小程序中,第一想法用“订阅消息”
此时出现问题:订阅消息的模板使用受小程序的服务类目影响,当前服务类目只能使用一次性订阅,每次发送消息都要用户授权
这不是想要的结果!!!
于是寻找替代,邮件太扯,短信不与时俱进,公众号有个模板消息,但还没有对应公众号注册,那用什么呢?百度的同时发了篇博客求问
可以拿什么替代订阅消息呢?
在这里衷心感谢热心朋友们的解答
![]()
![]()
最终还是选择用公众号的模板消息
![]()
好 注册公众号 将公众号与小程序关联上 开整
接下来过程中出现第二个问题
:小程序登录,用code置换session时,拿不到
unionID
从网上得知原因是没有在微信开放平台进行关联配置,为了得到确认,又发了篇博客小程序登录时获取不到unionID 再次衷心感谢
![]()
![]()
通过这样两篇博客,得出了两种完成功能的方式,并都亲自测试成功。接下来贴方式思路
![]()
思路
- 通过unionID
- 保证公众号与小程序相互关联成功
- 配置开放平台的关联
小程序客户是澳门的,于是在给客户注册开放平台时的
一次
认证费用是99美元
,美元增值,现在折合人民币七百多
,客户:腾讯牛逼!!!
- 关联做好后,小程序用户登录时能获取到
unionID
,将它存下 - 此时无法直接通过
unionID
获取到公众号的openID
,于是用了一个麻烦的方式(还不知道别的好方式) - 首先获取公众号的粉丝列表(如何获取请参考官方开发文档),存入各粉丝用户的
openID
到数据表,此时无法分辨哪个粉丝就是关注了公众号的用户 - 那么接下来要通过
openID
去获取到对应的unionID
再保存到对应粉丝用户的数据下。此时获取的unionID
与之前保存的unionID
是相同
的 - 接下来便是通过比对
unionID
来拿到对应openID
了
这里粉丝表总是要更新的,对于此方式,内心不知什么作祟,总不舒坦
接下来第二种,说起来十分简单,做起来对于后端确实也非常简单
- 利用公众号登录的
静默授权
此时需要你懂得前端,或者你有一个百分百愿意配合你的前端盆友
大致思路:
此项目前端是uniapp
,好,首先用web-view
调官方的授权接口,注意一定是静默授权哦!此时会拿到code,然后通过这个code请求后端……便能拿到openID了……有了openID便能发送模板消息了……
大抵如此
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
本作品采用《CC 协议》,转载必须注明作者和本文链接
高认可度评论:
给你提供另一种思路
首先小程序和公众号绑定到开放平台
然后小程序端用户登录了可以获取当前用户的openid,这时可以直接通过接口使用公众号的模板消息,也就是使用小程序用户openid发送公众号的模板消息
对应接口: developers.weixin.qq.com/miniprogr...
说实话第二种确实省很多事
给你提供另一种思路
首先小程序和公众号绑定到开放平台
然后小程序端用户登录了可以获取当前用户的openid,这时可以直接通过接口使用公众号的模板消息,也就是使用小程序用户openid发送公众号的模板消息
对应接口: developers.weixin.qq.com/miniprogr...
楼主一开始是不是没搞懂开放平台是干啥的 另外补充一点这个更好用 服务号订阅通知按钮:wx-open-subscribe developers.weixin.qq.com/doc/offia...
订阅后,已关注服务号的用户,消息通知下发到服务号内,未关注的下发到服务通知
关注事件也做一下,没关注的可以跳过发送消息
"errcode":45103,"errmsg":"This API has been unsupported rid: 6437614f-42a831e5-2fedf962