小程序中使用公众号模板消息思路整理

起因

最近做的一个小程序里面有一个预约功能,成功提醒用户预约成功,同时通知被预约者

过程

因为在小程序中,第一想法用“订阅消息”
此时出现问题:订阅消息的模板使用受小程序的服务类目影响,当前服务类目只能使用一次性订阅,每次发送消息都要用户授权
这不是想要的结果!!!

于是寻找替代,邮件太扯,短信不与时俱进,公众号有个模板消息,但还没有对应公众号注册,那用什么呢?百度的同时发了篇博客求问
可以拿什么替代订阅消息呢?

在这里衷心感谢热心朋友们的解答:sparkles: :hibiscus: :pray:

最终还是选择用公众号的模板消息:joy: :joy::joy:
好 注册公众号 将公众号与小程序关联上 开整

接下来过程中出现第二个问题:sweat_smile::小程序登录,用code置换session时,拿不到unionID
从网上得知原因是没有在微信开放平台进行关联配置,为了得到确认,又发了篇博客:joy:小程序登录时获取不到unionID 再次衷心感谢:sparkles: :hibiscus: :pray:

通过这样两篇博客,得出了两种完成功能的方式,并都亲自测试成功。接下来贴方式思路:see_no_evil:

思路

  • 通过unionID
  1. 保证公众号与小程序相互关联成功
  2. 配置开放平台的关联

    小程序客户是澳门的,于是在给客户注册开放平台时的一次认证费用是99美元,美元增值,现在折合人民币七百多客户:腾讯牛逼!!!:see_no_evil:

  3. 关联做好后,小程序用户登录时能获取到unionID,将它存下
  4. 此时无法直接通过unionID获取到公众号的openID,于是用了一个麻烦的方式(还不知道别的好方式):see_no_evil::arrow_double_down::arrow_double_down::arrow_double_down:
  5. 首先获取公众号的粉丝列表(如何获取请参考官方开发文档),存入各粉丝用户的openID到数据表,此时无法分辨哪个粉丝就是关注了公众号的用户:see_no_evil:
  6. 那么接下来要通过openID去获取到对应的unionID再保存到对应粉丝用户的数据下。此时获取的unionID与之前保存的unionID相同
  7. 接下来便是通过比对unionID来拿到对应openID:joy::joy:

这里粉丝表总是要更新的,对于此方式,内心不知什么作祟,总不舒坦:see_no_evil::see_no_evil::see_no_evil:

接下来第二种,说起来十分简单,做起来对于后端确实也非常简单:joy:

  • 利用公众号登录的静默授权

此时需要你懂得前端,或者你有一个百分百愿意配合你的前端盆友:see_no_evil:

大致思路:
此项目前端是uniapp,好,首先用web-view调官方的授权接口,注意一定是静默授权哦!此时会拿到code,然后通过这个code请求后端……便能拿到openID了……有了openID便能发送模板消息了……

大抵如此:rabbit: :monkey_face::frog: :wolf: :koala: :pig: :tiger: :cow: :sheep: :elephant: :hatching_chick: :penguin:

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

给你提供另一种思路

首先小程序和公众号绑定到开放平台

然后小程序端用户登录了可以获取当前用户的openid,这时可以直接通过接口使用公众号的模板消息,也就是使用小程序用户openid发送公众号的模板消息

对应接口: developers.weixin.qq.com/miniprogr...

1年前 评论
隐德莱希 (楼主) 1年前
DonnyLiu

说实话第二种确实省很多事

1年前 评论
隐德莱希 (楼主) 1年前

给你提供另一种思路

首先小程序和公众号绑定到开放平台

然后小程序端用户登录了可以获取当前用户的openid,这时可以直接通过接口使用公众号的模板消息,也就是使用小程序用户openid发送公众号的模板消息

对应接口: developers.weixin.qq.com/miniprogr...

1年前 评论
隐德莱希 (楼主) 1年前

楼主一开始是不是没搞懂开放平台是干啥的 另外补充一点这个更好用 服务号订阅通知按钮:wx-open-subscribe developers.weixin.qq.com/doc/offia...

订阅后,已关注服务号的用户,消息通知下发到服务号内,未关注的下发到服务通知

关注事件也做一下,没关注的可以跳过发送消息

1年前 评论
隐德莱希 (楼主) 1年前

"errcode":45103,"errmsg":"This API has been unsupported rid: 6437614f-42a831e5-2fedf962

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!