微信小程序通过服务号推送模板消息
前言
公司要做一款新的微信小程序,因为业务需求要加入消息推送。因为之前APP是通过服务号推送给用户消息的,所以微信小程序要做消息推送也是首先想到了通过服务号推送。事实上在使用过程中服务号推送还是非常好用的,简洁又大方,用户接受度高。
逻辑选型
通过百度大法了解到了一些情况,微信小程序通过服务号是需要服务号先授权获取到openid才能推送,针对授权方式了解到了两种不同的方法
方法一
把微信小程序和微信服务号绑定都绑定在微信开放平台上(需要主体相同),在小程序登录时获取用户信息就可以获取微信用户双平台唯一id——unionid。
这个方法应该是微信官方比较推荐的,条例清晰,比较容易理解。但是使用这个方法有一个问题需要用到服务器配置,一旦启用服务器配置就不能用微信公众号平台提供的自定义菜单,就很烦。官方文档链接。
方法二
微信小程序使用web-view加载web网页使用js的方式调起授权再返回到小程序。听起来有点绕操作起来可行性还是比较高的。服务号授权是可以通过网页js的方式来调起的。附上官方文档链接。
开始动手
配置阶段
考虑到公司后续可能会用服务号做自定义菜单导航,所以我选用了第二种方法。使用微信服务号推送需要在微信开放平台上做很多配置,我尽量一一都讲清楚。首先微信服务号的配置如下图所示:
模板消息是需要申请的 可以提前申请一下。
注意,小程序也要配置一下。
这是配置在小程序中允许加载的域名,目前支持配置https域名。
代码阶段
小程序端直接新建一个页面,里面只有一个web-view包含着授权的url,其中state是可以自定义的参数,可以带一些必要的参数传过去。
<web-view src="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc4c9d383cedd4e81&redirect_uri=https://sdcminiprogramsever.1cno.com/wechat/authorization/view&response_type=code&scope=snsapi_userinfo&state={{state}}"></web-view>
sever端需要一个跳转到小程序的页面,我也是为了省事直接用了spring boot的template做了一个跳转的页面。代码如下:
此处是从web-view跳转到小程序中,需要注意两点:1.需要引入微信的JSSDK,附上链接。
2.跳转回小程序页时在网上看了很多都是使用的redirectTo在url上带着授权后的openid回到小程序的,但是我跳转的小程序页面包含tabBar的,故只能使用switchTab方法跳转(此处调试了很久,- . -!)。
由于switchTab的url无法携带参数我就直接把小程序openid和服务号openid的绑定部分直接放到了授权这里。代码如下:
剩下的就只是发送模板消息了,比较简单,官方文档也很清楚,后面贴上文档链接大家可以直接去看,我就写了。链接附上。
完结
希望文章能够帮助到大家,二牛与大家共同进步!
微信小程序通过服务号推送模板消息相关推荐
- 微信小程序云开发定时推送订阅消息
微信小程序云开发定时推送订阅消息 1.找到自己想要的模板 (1)点击订阅消息 (2)点击公共模板库,然后找到想要选用的模板,点击选用. (3)在我的模板里面,复制模板id. 如果找不到想要用的模板,可 ...
- uniApp 微信小程序 授权 公众号推送信息
准本工作 1.首先小程序 更公众号关联起来 2.配置相应的域名(也就是你请求后端接口的公共地址) 3.需要写一个h5 页面 用于跳板 公众号 的授权 公众号如何关联小程序? 打开微信公众号后台,选择 ...
- 微信小程序向公众号推送消息超详细教程
官方教程 官方教程 开通一下服务号公众号 超级管理员登录服务号公众号后台 登录地址 开通模板消息 申请一个模板消息,获取模板ID 注意此处的参数,后续接口需要使用 绑定公众号与小程序 官方教程 1.登 ...
- 教你设置微信小程序的服务通知推送!搜狗文章
场景碎碎念:嗨喽,小伙伴闷,今天的学习到咯.通过咱们快一个月的学习,已经把平台的组件学习的差不多了,当然咱闷这个功能组件是在不停更新.不断完善的.今天咱们来学下"模板消息"推送功能 ...
- 小程序消息主动推送php,微信小程序有几种推送消息的方式
微信小程序有5种推送消息的方式,分别为:1.小票机订单提醒,实现对商家的消息提醒:2.短信提醒:3.模板消息,各种动态可及时掌握:4.公众号订单提醒:5.消息主动推送,商家主动出击.推销自己的最好手段 ...
- 公众号推送模板消息(JAVA版)
公众号推送模板消息(JAVA版) 先贴上官方文档 步骤不多:组装请求体,调用接口 接口:(POST)https://api.weixin.qq.com/cgi-bin/message/template ...
- 小程序关联公众号推送公众号消息
最近项目有个需求要把小程序和公众号关联到一起,发布商品,下单的时候的时候给用户推送消息 小程序要跟微信公众号(服务号认证300块,订阅号不行)绑定到一起,要先绑定到微信开放平台(需要认证300块) 绑 ...
- 关于微信小程序uniapp版的推送消息
1.按钮触发推送消息 <button type="primary" size="mini" @tap="pushMesage"> ...
- 微信公众号推送模板消息工具类
微信公众平台: 开通 模板消息功能 : 添加消息模板: 将模板id复制作为后台参数: 后台(java): 使用时直接调用WechatModelMessage.sendWechatmsgToUser() ...
最新文章
- 100万奖金池,这不仅仅是场比赛
- 微软称使用 Edge 而非 Chrome 能提升电池续航
- 交叉表 列字段排序_PowerBI创建日期表
- mysql5.6数据库位置_MYSQL5.6数据库存放位置
- python读写xlsx文件_python读写Excel文件--使用xlrd模块读取,xlwt模块写入
- BestCoder Round #91 1001 Lotus and Characters
- JavaScript人脸检测的实现方法
- Vue:中向对象中添加数据
- java姓名转拼音加处理多音字
- windows 清理助手 3.1
- 2023杭州电子科技大学考研分析
- 数据库的ACID是什么
- 块数据3.0:秩序互联网与主权区块链
- Android P应用显示宽高比maxAspectRatio使用及原理
- Jenkins与DevOps持续交付详解
- visio取消英文首字母大写
- 泰勒公式求解极限(泰勒展不开)
- 苦涩又难理解的IO<2>
- 文件夹文件自动生成目录的方法-保存到txt
- python一只青蛙一次可以_python算法题 python123网站单元四题目
热门文章
- 2022年毕业生求职找工作青睐哪个行业?
- python熊猫图案_熊猫Python数据分析库和SQL教会了我如何取平均数
- Modern love 年度最暖心美剧
- oracle与sql语句
- 老司机带你从源码开始撸Spring生命周期!!!
- android内存显示修改,涨姿势:修改这个系统选项Android手机再也不用清内存!速度飞起...
- html-css-边框样式
- 《管理长歌行》——乌龟的另一种能力
- 统计字符号串“aaaabbbccccddfggh”中字母个数或统计最多字母数;
- explain用法和结果的含义