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

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

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

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

,
    推荐阅读
  • 巨齿鲨和史前巨鲨(史前巨兽变成了海中大鱼)

    故事的前导是一项由中国主导的国际科研项目,科研人员正在马里亚纳海沟深处进行探索时,遭遇未知生物攻击,被困海底。然而这次营救行动却意外造成了巨齿鲨逃离深海。这头史前巨兽返回浅海,导致一系列海上事故,苏茵及同行研究人员所在的海洋基地也遭到了这头巨兽的攻击。作为一个中外合资拍摄的影视,虽然以美国电影冠称,但中国元素在其中频频出现。男主乔纳斯·泰勒和女主苏茵的相处情感变化估计是这部影视唯一贯穿的感情线。

  • 大雪节气要注意什么(大雪节气注意事项)

    宜保暖冬属阴,故冬“去寒就温”,预防寒冷侵袭是必要的但不可暴暖,尤忌厚衣重裘,向火醉酒,烘烤腹背,暴暖大汗,现在小编就来说说关于大雪节气要注意什么?大雪节气要注意什么宜保暖冬属阴,故冬“去寒就温”,预防寒冷侵袭是必要的。宜多饮冬日虽排汗排尿减少,但大脑与身体各器官的细胞仍需水分滋养,以保证正常的新陈代谢。宜通风冬季室内空气污染程度比室外严重数十倍,应注意常开门窗通风换气,以清洁空气,健脑提神。

  • 荣耀honor7x参数(千元机的体验HUAWEI华为)

    千元机的市场一直都是竞争最激烈的地方,随着硬件更新换代的加速,性能越来越好,便宜好用的机型越发成为人们的首选,今天就来看看荣耀畅玩7X。正面上方是听筒、摄像头和感应器,没有采用正面双摄的配置,毕竟还算千元机里,什么都配齐了对高端型号打击太大。例行的跑分大作战,虽然个人感觉千元机配置够用,但是一上跑分就直观的分高下了。千元机还有一个特点,就是没什么大特点。。。

  • 给别人当伴娘需要要点什么(做贴心伴娘10个雷区不要踩)

    3、不要错过婚礼开场的仪式婚礼开场的仪式是很重要的,需要你陪伴新娘一起在场,新娘选择了你在她的婚礼上做伴娘这个重要的角色,这表明她珍惜你的友谊。

  • 纹一段告别的话(如果你必须纹一句话在你身上)

    ——灵遁者《从今往后》4、这个世界只有傻子才能成为真正的哲人,而自认为聪明的人永远是憋屈者。——灵遁者《从今往后》8、原罪只等于忘记原罪的人。——灵遁者《从今往后》10、当今晚的月亮再升起时,所有的一切都是跳动的火焰含着泪的微笑。——灵遁者《从今往后》15、所有的母亲,都会知道,孩子啼哭,能让所有孕育的疼,化为幸福的笑,幸福的泪。——灵遁者《从今往后》17、大自然是神奇的,大自然没有贫瘠的土地。

  • 我有爱人了剧情简介(我有爱人了主要讲什么)

    我有爱人了剧情简介我有爱人了剧情简介:制药集团的独生子、著名的医药学博士崔真言,同时也是与失踪且失忆的妻子再次相遇后重新陷入爱情的痴情丈夫。失忆的妻子与曾被其深恶痛绝的前夫重归于好再度陷入爱情,与自己的另一半双胞胎命运般的重逢并重新开始人生。《我有爱人了》是IWILLMEDIA出品的电视剧,由崔文锡导演,裴由美编剧,池珍熙、金贤珠、朴韩星、李奎汉主演。

  • 半岁宝宝吃的蒸蛋怎么弄(半岁宝宝吃的蒸蛋做法)

    半岁宝宝吃的蒸蛋怎么弄由于宝宝不满一岁不能额外补充食盐,所以只需准备两颗土鸡蛋,不需要再准备其他调味料。将鸡蛋打入盆中,并搅拌均匀。在蒸笼中蒸10分钟,蛋液凝结后即可出锅。蒸熟后,可以直接喂婴儿食用,或滴一滴香油和婴儿酱油。6个月内每天中午添加一顿辅食就可以了,可以给宝宝吃一顿米粉,在给宝宝做米粉的时候,还可以加入一些瘦肉泥,蔬菜末或水果泥,从每天添加一顿慢慢的增加到两顿。

  • 有没有什么字很难写的(字难道就这么难写吗)

    没有钱买毛笔和墨汁,我就向老师讨要了一只已经用到秃了头的一支旧毛笔。墨汁是我自己发明的,抢下大铁锅上的锅灰兑上水,当时在我看来就是很好的墨汁了。有了这些就给我练习写毛笔字,增强了很大的信心。不管是春夏秋冬,白天晚上,你有时间就练写字。不过,自己还是很满意的。总认为自己是用传统的笔,写的传统的字,没有愧对老祖宗的发明和创造。在这里展示一下,请大家给予评价吧。同时也感谢大家给予指点。

  • 一起来感受冰雪奇缘(冰雪奇缘的公主)

    ,今天小编就来说说关于一起来感受冰雪奇缘?下面更多详细答案一起来看看吧!一起来感受冰雪奇缘艾莎公主,简笔画,迪斯尼,艾莎公主怎么画,艾莎公主简笔画如何画

  • 亚洲的哪个国家是发达国家(亚洲的发达国家除了日本)

    发达国家的普遍特征是较高的人类发展指数、人均国民生产总值、工业化水准和生活品质。主体民族为大和族,通用日语,总人口约1.26亿。2018年,日本人均国内生产总值为39287美元,而以购买力平均来计算的话,到目前为止,日本国内生产总值位居世界第3位,仅次于中国和美国。2018年,新加坡人均国内生产总值为6.46万美元,位居世界前十。以色列是中东地区唯一一个自由民主制国家。2018年,以色列人均国内生产总值为4.17万美元。