微信公众号推送模板消息
程序员文章站
2024-03-15 14:32:41
...
微信支付成功之后需要将一些订单相关的信息发送到用户的微信上,这时候就需要使用微信【模板消息】
创建模板消息
进入【微信·公众平台】在【功能】->【添加功能插件】中找到【模板消息】,之后填入相关的信息并通过审核之后即可使用微信模板消息
先从【模板库】选择一个合适模板,之后添加到【我的模板】中
可以看到模板ID,接下来我们就需要使用这个ID去给指定的用户推送模板消息了
为指定的用户推送模板消息
执行此操作之前需要用户的openid和要用到的模板需要什么参数,这点可以通过模板的【详情】进行查看,我这里的模板需要三个参数first、orderMoneySum、orderProductName
接下来就需要进行推送信息了,首先我们需要获取用户的openid、模板ID、模板参数数据,将它们以JSON的格式放在String中,之后以POST的方式将这个String提交到https://api.weixin.qq.com/cgi-bin/message/template/send中,代码实现如下
//对该购买用户进行推送微信消息
//要推送的用户openId
String openId = tenant.getOpenId();
//订单支付成功推送信息模板ID
String templateId = "这是你的模板ID";
//点击之后的跳转页面,为空安卓不跳转、IOS空白页面
String url = "";
//首行信息-以下是一些推送信息
String first = "公寓房间【"+addr.getName()+room.getName()+"】订房成功";
//支付金额
String orderMoneySum = ""+indent.getMoney();
//商品信息
String startTime = (rent.getStartTime()+"");
startTime = startTime.substring(0, startTime.length()-2);
String endTime = rent.getEndTime() + "";
endTime = endTime.substring(0, endTime.length()-2);
//在推送信息中如果需要换行可以使用\\n(双斜杠n)来实现
String orderProductName = addr.getName()+room.getName()+"\\n大门密码:" + doorLock.getLockPwd() + "#\\n" +
"房门密码:" + roomLock.getLockPwd() + "#\\n" +
"密码有效期:" + startTime + "至" + endTime + "\\n" +
"还可以在这里写一些其他东西";
//将相关信息
String wxText = "{\"touser\":\""+openId+"\",\"template_id\":\""+templateId+"\",\"url\":\""+url+"\",\"data\":{\"first\":{\"value\":\""+first+"\",\"color\":\"#000000\"},\"orderMoneySum\":{\"value\":\""+orderMoneySum+"\",\"color\":\"#000000\"},\"orderProductName\":{\"value\":\""+orderProductName+"\",\"color\":\"#000000\"}}}";
//获取微信access_token
String accessToken = WxUtils.getAccess_token();
//发送post请求
String resultWx = AppTool.postJSON("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken, wxText);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
实现效果
上一篇: Web GIS多种方式发布动态地图服务及显示(2)
下一篇: golang实现微信模板消息推送