5⾏代码实现模版消息推送,springboot实现推送,java推
送
今天来带⼤家学习下模版消息推送。
先看效果图:
核⼼代码只有下⾯⼏⾏,即可轻松实现模版消息推送
所⽤知识点1, springboot实现java后台2,测试账号的申请
3,模版推送的配置
接下来就带领⼤家来⼀步步实现模版消息推送。
⼀,springboot创建java后台⾄于springboot怎么创建java后台,我这⾥就不再唠叨了,⼤家百度⼀下,⼀⼤堆的⽂章。这⾥只需要重点讲解下以下⼏点。1,在l⽂件⾥引⼊下⾯类库 //1,配置 WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage(); wxStorage.setAppId("wx77bb69292323a000"); wxStorage.setSecret("29bd368145806115ad6820133e62806e"); WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxStorage); //2,推送消息 WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() .toUser("o5kho6DgC7SDry8zCmXuvHJGvrgI")//要推送的⽤户openid .templateId("Tpln-Eue2obJ0B-8JNkgkiRJaDMPgVeIgGxna982xrg")//模版id .url("30paotui/")//点击模版消息要访问的⽹址 .build(); try { TemplateMsgService().sendTemplateMsg(templateMessage); } catch (Exception e) { System.out.println("推送失败:" + e.getMessage()); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2,写⼀个推送的controller
⼆,接下来就来重点讲讲我们如何注册测试账号,并实现推送功能。 <!--模版消息推送三⽅sdk--> <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>3.3.0</version> </dependency>
1
2
3
4
5
6package com.qiushi.wxpush;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;import me.chanjar.weixin.mp.api.WxMpService;import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;import me.chanjar.weixin.plate.WxMpTemplateMessage;/** * Created by qcl on 2019-03-28 * :2501902696 * desc: 模版消息推送模拟 */@RestController public class PushController { /* * 测试账号推送 * */ @GetMapping("/push") public void push() { //1,配置 WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage(); wxStorage.setAppId("wx77bb69292323a000"); wxStorage.setSecret("29bd368145806115ad6820133e62806e"); WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxStorage); //2,推送消息
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() .toUser("o5kho6DgC7SDry8zCmXuvHJGvrgI")//要推送的⽤户openid .templateId("Tpln-Eue2obJ0B-8JNkgkiRJaDMPgVeIgGxna982xrg")//模版id .url("30paotui/")//点击模版消息要访问的⽹址 .build(); //3,如果是正式版发送模版消息,这⾥需要配置你的信息 // templateMessage.addData(new WxMpTemplateData("name", "value", "#FF00FF")); // templateMessage.addData(new WxMpTemplateData(name2, value2, color2)); try { TemplateMsgService().sendTemplateMsg(templateMessage); } catch (Exception e) { System.out.println("推送失败:" + e.getMessage()); e.printStackTrace(); } }}
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
正常我们企业开发,实现模版消息推送,必须要有,备案的⽹址,并且最⿇烦的⼀点是要获取到⽤户的openid,作为个⼈,这些条件基本上都不具备。所以今天就来带⼤家注册开发测试账号,来轻松实现模版消息推送。
2,扫码关注 测试号⼆维码,给我们返回我们的openid,这个openid在推送时特别重要。因为你推送肯定要知道推送给 谁
啊,就⽐如你打电话,肯定要知道⽤户的电话号码吧。这个openid就是我们要推送给那个⽤户的唯⼀标⽰。
3,拿到这些以后,我们就可以去实现推送了。推送的代码就只有下⾯这么点。
三,推送测试代码都完成后,我们就可以来测试推送了。测试我们这个分两种1,java的单元测试
2,运⾏springboot,通过get请求来触发推送
单元测试 //1,配置 WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage(); wxStorage.setAppId("wx77bb69292323a000");//appid wxStorage.setSecret("29bd368145806115ad6820133e62806e");//appsecret WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxStorage); //2,推送消息 WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() .toUser("o5kho6DgC7SDry8zCmXuvHJGvrgI")//要推送的⽤户openid .templateId("Tpln-Eue2obJ0B-8JNkgkiRJaDMPgVeIgGxna982xrg")//模版id .url("30paotui/")//点击模版消息要访问的⽹址 .build(); //3,如果是正式版发送模版消息,这⾥需要配置你的信息 // templateMessage.addData(new WxMpTemplateData("name", "value", "#FF00FF")); // templateMessage.addData(new WxMpTemplateData(name2, value2, color2)); //发起推送 try { String msg = TemplateMsgService().sendTemplateMsg(templateMessage); System.out.pri
ntln("推送成功:" + msg); } catch (Exception e) { System.out.println("推送失败:" + e.getMessage()); e.printStackTrace(); }
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
package com.qiushi.wxpush;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.st.context.SpringBootTest;import st.context.junit4.SpringRunner;import static org.junit.Assert.*;/** * Created by qcl on 2019-03-28 * :2501902696 * desc:测试⽤例 */@RunWith(SpringRunner.class)@SpringBootTest public class PushControllerTest { @Autowired PushController pushController; @Test public void push() { pushController.push(); }}
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
单元测试其实很简单,我们只需要点击箭头所指的绿⾊按钮,即可运⾏单元测试,运⾏通过后就可以看到发送消息成功了。
log⾥可以看出我们是10:46发起推送的,看下图我们接受到的推送消息也是10:46
运⾏spr ingbo o t,通过get请求来触发推送
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论