高考考试网
当前位置: 首页 高考资讯

springboot实现推送(5行代码实现微信模版消息推送)

时间:2023-06-05 作者: 小编 阅读量: 5 栏目名: 高考资讯

今天来带大家学习下微信模版消息推送。正常我们企业开发,实现微信模版消息推送,必须要有微信公众号,备案的网址,并且最麻烦的一点是要获取到用户的openid,作为个人,这些条件基本上都不具备。t=sandbox/login扫码登录成功后,就会给我们生成微信公号的appid和appsecret2,微信扫码关注测试号二维码,微信给我们返回我们的openid,这个openid在推送时特别重要。这个openid就是我们要推送给那个用户的唯一标示。3,拿到这些以后,我们就可以去实现微信推送了。

今天来带大家学习下微信模版消息推送。

先看效果图:

核心代码只有下面几行,即可轻松实现微信模版消息推送

//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("https://30paotui.com/")//点击模版消息要访问的网址 .build(); try { wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); } catch (Exception e) { System.out.println("推送失败:"e.getMessage()); }

所用知识点

  • 1, springboot实现java后台
  • 2,微信测试账号的申请
  • 3,微信模版推送的配置
  • 接下来就带领大家来一步步实现微信模版消息推送。

一,springboot创建java后台

至于springboot怎么创建java后台,我这里就不再唠叨了,大家百度一下,一大堆的文章。这里只需要重点讲解下以下几点。

  • 1,在pom.xml文件里引入下面类库

<!--微信模版消息推送三方sdk--> <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>3.3.0</version> </dependency>

  • 2,写一个推送的controller

package 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.mp.bean.template.WxMpTemplateMessage;/** * Created by qcl on 2019-03-28 * 2501902696 * desc: 模版消息推送模拟 */@RestControllerpublic 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("https://30paotui.com/")//点击模版消息要访问的网址 .build(); //3,如果是正式版发送模版消息,这里需要配置你的信息 // templateMessage.addData(new WxMpTemplateData("name", "value", "#FF00FF")); // templateMessage.addData(new WxMpTemplateData(name2, value2, color2)); try { wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); } catch (Exception e) { System.out.println("推送失败:"e.getMessage()); e.printStackTrace(); } }}

二,接下来就来重点讲讲我们如何注册微信测试账号,并实现推送功能。

正常我们企业开发,实现微信模版消息推送,必须要有微信公众号,备案的网址,并且最麻烦的一点是要获取到用户的openid,作为个人,这些条件基本上都不具备。所以今天就来带大家注册微信开发测试账号,来轻松实现微信模版消息推送。

  • 1,微信扫码登录下面网址
  • https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
  • 扫码登录成功后,就会给我们生成微信公号的appid和appsecret
  • 2,微信扫码关注 测试号二维码,微信给我们返回我们的openid,这个openid在推送时特别重要。因为你推送肯定要知道推送给 谁啊,就比如你打电话,肯定要知道用户的电话号码吧。这个openid就是我们要推送给那个用户的唯一标示。
  • 3,拿到这些以后,我们就可以去实现微信推送了。推送的代码就只有下面这么点。

//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("https://30paotui.com/")//点击模版消息要访问的网址 .build(); //3,如果是正式版发送模版消息,这里需要配置你的信息 // templateMessage.addData(new WxMpTemplateData("name", "value", "#FF00FF")); // templateMessage.addData(new WxMpTemplateData(name2, value2, color2)); //发起推送 try { String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); System.out.println("推送成功:"msg); } catch (Exception e) { System.out.println("推送失败:"e.getMessage()); e.printStackTrace(); }

三,推送测试

代码都完成后,我们就可以来测试推送了。测试我们这个分两种

  • 1,java的单元测试
  • 2,运行springboot,通过get请求来触发推送

单元测试

package com.qiushi.wxpush;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import static org.junit.Assert.*;/** * Created by qcl on 2019-03-28 * 2501902696 * desc:测试用例 */@RunWith(SpringRunner.class)@SpringBootTestpublic class PushControllerTest { @Autowired PushController pushController; @Test public void push() { pushController.push(); }}

单元测试其实很简单,我们只需要点击箭头所指的绿色按钮,即可运行单元测试,运行通过后就可以看到发送消息成功了。

log里可以看出我们是10:46发起推送的,看下图我们微信接受到的推送消息也是10:46

运行springboot,通过get请求来触发推送

这个就更简单了,我们启动springboot项目,然后调用get请求:

可以看到我们也推送成功了。

到这里我们就轻松通过简单几行代码实现了微信模版消息推送的功能了。

我们在企业生产环境时,实现这个功能,步骤和这里是一样的。代码也和这里差不多,只不过多了一个获取用户openid的步骤,这个步骤微信要求比较严格,必须要有备案的网址作为回调,今天就不给大家深入讲解了,后期我会专门写一篇获取微信用户openid的文章出来。

,
    推荐阅读
  • like什么意思(like怎么造句)

    like,prep.相似;类似;像;…才会;v.喜欢;喜爱;喜欢做;喜欢;想;要;希望;conj.像…一样,如,像;,我来为大家科普一下关于like什么意思?下面希望有你要的答案,我们一起来看看吧!一样;如同;好像;仿佛;似乎;n.喜好;爱好;类似的人(或物);种类,类型;adj.类似的;相似的;adv.大概,可能;我说,他说,她说;和…[其他]第三人称单数:likes复数:likes现在分词:liking过去式:liked过去分词:liked。

  • 荣耀earbuds3pro支持无线充电吗 荣耀earbuds2se盒用什么充电器充电

    作为荣耀首款旗舰级TWS耳机产品,荣耀Earbuds3Pro发布之后就受到了业内和用户的广泛关注。荣耀Earbuds3Pro支持无线充电。它是全球首款搭载5C快充技术的真无线蓝牙耳机,5分钟可以给耳机充电35%。荣耀Earbuds3Pro单个耳机内置42mAh电池容量,正常实用时,开启降噪后单次续航4小时,关闭降噪后单次续航6小时,搭配充电盒可以达到24小时的总续航时长,一周充一次电就可以。本文以荣耀Earbuds3Pro&&荣耀Magic4Pro为例适用于MagicUI6.0系统

  • 轿车独立悬挂好吗(轿车独立悬挂好吗视频)

    汽车上使用的悬架是保证乘坐舒适性最重要的部件,汽车使用的悬架同时也是保证汽车安全最重要的部分,悬架同时作为衡量轿车质量的指标之一。需要注意的是,并不是所有的汽车都适合使用独立悬架。

  • 豆腐西施杨七巧大结局(大结局的剧情是怎样的)

    崔小山又找到七巧,道出挂鞋一事是自己干的,请求七巧原谅,希望她不计前嫌,让自己也入一股,加入合作社,七巧欣然应允。七巧感概万千,她坚信一定能用自己的行动回报乡亲,回报这片养育她、让她成长的土壤。

  • 科龙空调保内维修师傅结算标准(20000名安装工严阵以待)

    在这方面科龙空调拥有绝对的优势,“目前已有20000名安装人员,7000名维修人员,他们全都经过规范培训,等到销量引爆时保障旺季安装上量。”科龙售后服务人员表示。科龙空调旨在用专业的安装技术解决消费者的后顾之忧。此次科龙空调加强安装、维修人员的储备,在服务方面为广大的消费者做足了准备。显然,科龙凭借独到的前瞻性眼光,已经处在空调行业的领先地位。

  • 潼关之战是什么季节

    我们一起去了解并探讨一下这个问题吧!潼关之战是什么季节潼关之战是在冬季。唐天宝十四年二月,范阳节度使安禄山以诛杨国忠为名,率兵15万西进反唐。唐玄宗派大将封常清、高仙芝领兵征讨,相继败退,洛阳、陕郡失守。于是,唐玄宗派监军宦官边令诚监斩封常清、高仙芝,以示惩戒。继以宿将哥舒翰为兵马副元帅,统蕃、汉兵20万众,扼守潼关。安禄山闻常山太守颜杲卿起兵讨伐,即退兵范阳。

  • 绿水青山带笑颜女二(绿水青山带笑颜女二是马苏)

    绿水青山带笑颜女二《绿水青山带笑颜》女二是马苏。《绿水青山带笑颜》是由刘流总导演、周英男执导,杨烁、潘之琳领衔主演,马苏、于洋、刘流、辛雨锡、阿楠、范明、景岗山等主演的农村扶贫剧。在大学生村官郑菲和乡亲们的帮助下,两人最终投身生态文明建设,在克服重重挑战之后,带领山村摆脱贫困,走向绿色致富之路的故事。该剧于2020年3月18日在湖南卫视首播,并在爱奇艺、优酷和腾讯视频同步播出。

  • 族序数是什么意思(族序数的意思)

    下面内容希望能帮助到你,我们来一起看看吧!族序数是什么意思族序数:由短周期元素和长周期元素共同构成的族叫做主族。主族序数=最外层电子数=最高正价=8-|负化合价|=价电子数族序数等于周期数的元素:H、Be、Al。周期数是族序数3倍的元素:Na。

  • 世界十大抑郁国(世界预防自杀日)

    世界十大抑郁国9月10日是世界预防自杀日来自世界卫生组织的数据显示,全球每年大约有80万人死于自杀。小李拒绝了咨询员小韦的要求。关于自杀行为的分布特征,全球范围内都是自杀死亡男性高于女性,自杀未遂女性高于男性。一般认为,这与男性使用更为暴力、致死性更高的自杀方法有关。老年人应当成为自杀干预和自杀预防的重点人群。而对于确诊患有精神障碍的人,应该及时诊治。

  • 黑龙江省2022年高考模拟志愿填报系统几号开放?

    答:2022年6月18日-6月20日开通“2022年黑龙江省普通高校招生网上填报志愿系统(模拟版)”。具体流程及说明如下:1.登录黑龙江招生考试信息港,进入“网报中心”,选择“2022年黑龙江省高考网上填报志愿入口(模拟版)”,进入填报志愿系统。