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

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

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

今天来带大家学习下微信模版消息推送。正常我们企业开发,实现微信模版消息推送,必须要有微信公众号,备案的网址,并且最麻烦的一点是要获取到用户的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的文章出来。

,
    推荐阅读
  • 网红奶茶店是真的还是假的(花1个亿打假7000家山寨店)

    在正式开店之前的2017年8月1日,邱茂庭就提交了第43类商标注册申请。到2019年12月,赵女士赔了大概一百三四十万元。7000多家冒牌鹿角巷的背后,有无数被山寨品牌骗得血本无归的加盟商。犯罪嫌疑人为牟取非法利益,成立某餐饮公司,在未经权利公司授权许可的情况下,搭建多个虚假知名品牌奶茶招商加盟网站,设计发布带有“品牌加盟”字样的招商广告。随后,收购或注册50余个奶茶品牌,通过设计宣传话术,安排话务员对外推销加盟业务。

  • 广东省有哪些市县(广东省介绍)

    隋唐以后,“粤”字意义收窄,指岭南地区,或称“南粤”。此外,粤西有一部分属象郡和桂林郡,粤北部分地区属长沙郡。秦末,南海郡尉任嚣病危,委任龙川县令赵佗代职。这是岭南首次大规模造币,促进了岭南地区商品流通。积极开展对外商务活动;又与邻国创造良好外交关系。南汉国的建立,促进了岭南地区经济文化的发展。今广东省境包括广南东路14州和广南西路境内的7州,共61县。

  • 为什么女性月经推迟? 为什么女性月经推迟的原因

    月经推迟是什么原因一般来说,月经推迟一周左右是正常情况。正常的月经周期为28天左右,排卵发生在月经开始的2周后和下一次月经开始的2周前。几乎任何事情都会导致月经周期不规则,包括紧张、疾病、最近服用的药物或激素避孕等。

  • ppt目录分为好多种怎么弄的(ppt下生成目录的方法步骤)

    大概PPT最初的开发者也没有想到,PowerPoint甚至会应用到工作汇报以及咨询报告这种场合。所以不管是没有考虑还是有意为之,开发者没有为PowerPoint添加生成目录的功能。确实,在演讲类的PPT中,这样的功能没有什么意义,但无论对于教学课件,还是长达几十页的文档报告,我们都常常需要为PPT生成目录,以方便读者自己查阅PPT中的内容,特别是在PPT被打印在纸张上之后。③在PowerPoint2003中,本插件未作测试。

  • 无锡,经典必去和人文古迹都在哪?这七个地方,你都去对了吗?

    无锡市北塘区古华山路惠山古镇景区文物古迹众多、山水林泉俱佳。拥有千年古刹“惠山寺”和“天下第二泉”的景观。无锡市锡山区鹅湖镇鹅湖湖西荡口古名丁舍,相传是东汉孝子丁兰故里,因位于鹅肫荡口而得名。在蠡园的东部有蠡湖公园的摩天轮。蠡园交通也很方便,市内多部公交可以到达,来无锡旅游的千万不要错过这么一个人少景美的江南园林。尽可能地避免室内聚集活动。部分图片来自网络,如有侵权,联系删除。

  • 母猪产房分娩用具和药品的准备有哪些

    应准备如下分娩用具和药品:洁净的毛巾或拭布2条,剪刀1把,5%捵酊,高锰酸钾,凡士林油,称仔猪的秤,耳号钳,分娩记录卡等。

  • 泰拉瑞亚如何打肉山最轻松(泰拉瑞亚肉山大魔王详细攻略)

    泰拉瑞亚是一款自由度非常高的沙盒类游戏,我们会在游戏中遇到很多boss,可是我们有必须打败他们才能通关,所以今天笨手机小编就给大家介绍的是肉山大魔王,希望大家喜欢。

  • 天龙八部剧情介绍(讲的是什么故事)

    天龙八部剧情介绍?天龙八部剧情介绍大理王子段誉从小酷爱琴棋书画,却对家中的武林绝学毫无兴趣。他不满家人介绍的对象,于是逃走,遇见了可爱少女钟灵,随后开始他传奇的江湖生活。丐帮帮主乔峰义薄云天,武功盖世,率领丐帮,威震中原武林。无奈一个长老的离奇死亡,揭开了乔峰不为人知的身世之谜。一次随着师傅的出游,歪打正着解开了一个几十年未有人解开的棋局,竟得到武林前辈的一生绝学,更遇上让他一生难忘的女人。

  • 吃饭的时候该不该喝水(吃饭时到底能不能喝水)

    北京协和医院消化内科主任医师李景南就明确表示:吃饭时喝水,真的会影响你的肠胃功能!北京协和医院李景南主任是这样解释的:1、直接影响初级消化功能人体的消化功能主要依靠胃液里的胃酸进行运作,胃酸作为人体最初始消化功能之一,能将我们吃入体内的蛋白质、脂肪和淀粉做一次初级消化。当胃酸的初步浓度降低以后,人体的初级消化功能也自然会受到波及。进食期间,我们依靠唾液的润滑作用,帮助食物更好的咀嚼和吞咽。

  • 初中几何证明100题讲解(掌握几何常用证明方法)

    初中几何证明100题讲解?一)、由已知想求证,今天小编就来聊一聊关于初中几何证明100题讲解?接下来我们就一起去研究一下吧!