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

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

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

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

,
    推荐阅读
  • 西海岸城市生活节主会场(庆回归促消费港风嘉年华)

    鲁网7月2日讯 为庆祝香港回归祖国25周年,山东省海外联谊会,香港特区政府驻山东联络处,济南市海外联谊会,济南恒隆广场共同举办“港风嘉年华”系列活动。泉城路两侧路灯杆安装道旗营造庆祝氛围。7月1日晚,启动仪式在恒隆广场精彩启幕。

  • 使命召唤手游新赛季更新的细节(版本任务及活动全分析)

    主要奖励有艾本-蓝萤碧海新皮肤、史诗级名片-三头犬、史诗级Echo新皮以及地表最强系列和魔术琴谱系列的枪皮返场等。目前名片和艾本的活动已经开启。作为艾本小姐姐的忠实粉丝,看这一袭浅蓝的配色就深知该活动必须完成。如果你的游戏时间并不充裕,可以放弃艾本的进阶试炼。即日起每天在商城中购买助力艾本宝箱来获取徽章,只需66金币,定能让你在活动结束之前拿到艾本新皮肤。

  • 大姨妈来了要注意哪些()

    月经,也就是女生们常说的“大姨妈”,是女性特有的生理现象,这一段时间里,由于激素变化,女性的身体和情绪也会发生变化,要注意大姨妈来了千万别做这些事。大姨妈来了要注意哪些1、月经期不宜进行性生活,由于这时的宫颈口松弛、开放,宫颈黏液稀薄,防御力低。细菌一旦进入就可能扩散开从而造成感染。

  • 用眼神表达想念的诗句(表示对某人想念的诗句)

    表示对某人想念的诗句我住长江头,君住长江尾日日思君不见君,共饮长江水此水几时休,此恨何时已只愿君心似我心,定不负相思意——出自宋代诗人李之仪的《卜算子·我住长江头》大意:我住在长江的上游,你却住在长江的下游天天都思念着你。

  • 长安天街购物地址(你知道在哪吗)

    接下来我们就一起去研究一下吧!长安天街购物地址长安天街购物地址位于北京市门头沟区新城大街。具体在西延线上,与双地铁S1及R1号线(规划中)上岸村换乘站直接接驳,是龙湖在北京打造的第四座天街综合体。长安天街项目占地约3.4万方,总建筑面积约15万方,由自持天街mall、销售型商铺及写字楼产品共同组成,?是龙湖北京第四座天街系产品,同时也是门头沟2017年全新上市的项目。

  • 鲁迅十大经典名言赏析(关于鲁迅的名言)

    我们一起去了解并探讨一下这个问题吧!鲁迅十大经典名言赏析时间就像海绵里的水,只要愿挤,总还是有的。我好象是一只牛,吃的是草,挤出的是牛奶。不满是向上的车轮,能够载着不自满的人前进。横眉冷对千夫指,俯首甘为孺子牛寄意寒星荃不察,我以我血荐轩辕愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者的话。其实地上本没有路,走的人多了,也便成了路。唯有民族魂是值得宝贵的,唯有它发扬起来,中国才有真进步。

  • 晚饭和夜宵啥意思(夜宵和宵夜分别是什么意思)

    以下内容希望对你有帮助!晚饭和夜宵啥意思一般说夜宵和宵夜指的都是同一件事,均可以指晚间的食物,夜宵是书面语,宵夜一般是口语,在广东中部南部用得比较多。夜宵,供夜里吃的酒食、点心等。

  • mac官网回收(闲置MacBook回收平台正二品网对比苹果官网的价格优势)

    随着互联网科技的发展,让MacBook回收这个行业逐渐演变到线上,但是由于线上回收平台众多,对MacBook回收没有一个标准的回收价格。“AppleTradeIn换购计划”一直是苹果官网实行的一种换新方式,一来可以进行旧机回收再利用,二来还能促进自己发布新机的销量,不过笔者也对比了苹果官网MacBook回收换购的价格,目前MacBook系列的最高抵扣价格是MacBookpro8700元。如果自己的苹果笔记本电脑选择在苹果官网进行换购,虽然价格对于很多用户来说非常不理想。

  • 莫斯科郊外的晚上歌词中文(关于莫斯科郊外的晚上歌词中文)

    莫斯科郊外的晚上歌词中文?当时的苏联评论界认为:“杜纳耶夫斯基的《祖国进行曲》中的爱国主义主题在索洛维约夫·谢多伊的《莫斯科郊外的晚上》中借另一种形式、以新的面貌出现。”近20年来,《莫斯科郊外的晚上》在中国流传得更广。

  • 何为三寸四寸(俗语三寸长寿)

    三寸长寿、四寸无忧“寸”是古代的一种长度单位,一寸相当于现在的3.3厘米,三寸就是10厘米不到,4寸就是13厘米左右。后来古人们经过长期的生活发现这个枕头的高度在三寸和四寸是最合适的,于是就有了“三寸长寿,四寸无忧”得说法。古代,宋瓷枕最为流行,比如现藏于云南省博物馆的三彩双狮花卉瓷枕,长22.2厘米,宽14厘米,高10厘米,正好符合“三寸长寿”的说法。