最近需要开发微信和小程序的推送功能,需要用java后台实现推送,自己本身java和小程序都做,所以就自己动手实现下小程序的模版推送功能推送。
实现思路
- 1 小程序获取用户openid,收集formid传给java后台
- 2 java推送消息给指定小程序用户
老规矩,还是先看效果图
我的这个是跑腿抢单推送,当用户新下单时,会给跑腿员推送消息。下面开始讲解实现步骤
一,微信小程序管理后台开通模版推送
这里的模版id很重要,接下来我们推送的都是这个模版。二,java后台实现推送所需字段
- 1 看微信官方推送消息所需要的字段
- 2 有了官方说明,我门接下来就去拿到官方所需要的这些字段,来组装请求数据就可以了。
三,下面讲解实现步骤
我的java后台是基于springboot开发的,如果你不了解spring boot,建议你先去了解下springboot再回来接着学习。 还有RestTemplate是我们java后台做get和post请求必须的,我们和微信服务器交互就用的RestTemplate
- 1 首先根据官方推送所需字段组装java-bean 这里用到两个javabean
/*
* 小程序推送所需数据
* qcl 微信:2501902696
* */
@Data
public class WxMssVo {
private String touser;//用户openid
private String template_id;//模版id
private String page = "index";//默认跳到小程序首页
private String form_id;//收集到的用户formid
private String emphasis_keyword = "keyword1.DATA";//放大那个推送字段
private Map<String, TemplateData> data;//推送文字
}
复制代码
/*
* 设置推送的文字和颜色
* qcl 微信:2501902696
* */
@Data
public class TemplateData {
//keyword1:订单类型,keyword2:下单金额,keyword3:配送地址,keyword4:取件地址,keyword5备注
private String value;//,,依次排下去
// private String color;//字段颜色(微信官方已废弃,设置没有效果)
}
复制代码
到这里请求推送的数据就组装好了,解下来我们去实现推送功能。 奥不对,还有一个重要的字段需要获取到:access_token
access_token的获取
/*
* 获取access_token
* appid和appsecret到小程序后台获取,当然也可以让小程序开发人员给你传过来
* */
public String getAccess_token(String appid, String appsecret) {
//获取access_token
String url =