视频讲解:https://edu.csdn.net/course/detail/23750

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

先看效果图:

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

        //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: 模版消息推送模拟*/
@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("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");//appidwxStorage.setSecret("29bd368145806115ad6820133e62806e");//appsecretWxMpService 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)
@SpringBootTest
public class PushControllerTest {@AutowiredPushController pushController;@Testpublic void push() {pushController.push();}
}

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

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

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

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


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

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

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

如果你有微信或者java开发方面的问题,可以加我微信交流学习:2501902696。也可以加我微信获取完整源码。

视频讲解:https://edu.csdn.net/course/detail/23750

5行代码实现微信模版消息推送,springboot实现微信推送,java微信推送相关推荐

  1. 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

    微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...

  2. php网站为微信发信息,PHP发送微信模版消息代码

    做微信开发的人都知道微信模版消息的重要性,今天给大家分享一篇使用PHP来发送微信模版消息的demo,废话少说,进入正题. 1.创建一个发送模版消息的类,我这里命名为"templatesMes ...

  3. php redis微信发红包,高阶篇二 使用Redis队列发送微信模版消息

    # 高阶篇二 使用Redis队列发送微信模版消息 > 此命令行执行任务的方法类比较复杂 他需要命令行运行才会有效 > 命令行源码以及创建方法 参见上节 https://www.kanclo ...

  4. 微信模版消息 touser 能否多个 群发

    模版消息官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277 微信模版消息大家经常用到,但是官方文档中t ...

  5. 发微信模版消息换行用\n

    发微信模版消息换行用\n 发微信模版消息换行用\n 发微信模版消息换行用\n 发微信模版消息换行用\n 发微信模版消息换行用\n 转载于:https://blog.51cto.com/xuqin/19 ...

  6. 微信模版消息 errmsg: 'invalid weapp pagepath hint: [OtU1OA0868a394]

    我是想在公众号的模版消息中,点击直接跳转到体验版小程序的页面中,使用了官方的写法: miniprogram: {// 小程序appidappid: config.wapp.appid,// 打开页面p ...

  7. PHP微信模版消息有时收不到_PHP微信开发之模板消息回复

    微信公众平台上,有个模板消息回复接口:可以用来实现回复特定的消息-----比如用户下了订单之后,回复给用户您的订单正在处理中...比如下面这张图: 用户进行了一些操作之后,服务号能够返回特定的消息-- ...

  8. 微信模版消息errcode“:40165,“errmsg“:“invalid weapp pagepath

    问题一.消息模板跳转小程序碰到40165数据看这里{"errcode":40165,"errmsg":"invalid weapp pagepath} ...

  9. php微信模版消息中发送emoji表情

    编码地址:QQ地带Emoji表情代码大全 下面方式请使用 Softbank编码,其他发都不行,另外需要转换格式 举例:U+E04A 转换为 \ue04a 方式一 public function uni ...

最新文章

  1. ubuntu添加sudo权限
  2. win7 下配置 Qt5.1 for Android
  3. 膨胀的计算机仿真,制冷空调中的计算机仿真与控制
  4. fiddler如何设置过滤https_Google Analytics如何设置含有过滤器的帐户数据视图
  5. mysql sql执行过程_MySQL探秘(二):SQL语句执行过程详解
  6. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)
  7. 企业SpringBoot 教程(五)springboot整合beatlsql
  8. 精读《图解HTTP》
  9. ubuntu 14.04安装zabbix3.0以及汉化
  10. MySQL中的LIMIT 关键字
  11. 推荐几个机器学习的干货公众号!
  12. windows无法格式化u盘_U盘无法打开提示格式化?4种方法快速拯救它
  13. python人脸识别plc_实例详解Python人脸识别
  14. 福师计算机应用基础离线作业一答案,20年秋福师《计算机应用基础》在线作业一【标准答案】...
  15. ie不能加载flash html,IE11无法显示flash?IE11无法播放视频的解决方法
  16. Frequency Estimation
  17. mysql权限和使用注意事项及mysql 数据类型详解和innodb,myisam区别
  18. 天刀手游测试服服务器维护中,谈谈天涯明月刀手游吧。 因为开测四天,今天我想上线维护中。...
  19. mysql 查询语句超时_解决SQL查询总是 超时已过期
  20. 串口转以太网模块:WIZ105SR配置及测试(一)

热门文章

  1. 第五讲:2021年国赛B题-乙醇制备C4烯烃优化方案
  2. linux下%3e和%3e%3e的区别,华为Nova3e和Nova2s哪个好?华为Nova2s与3e区别对比
  3. 万圣节各种搞怪的南瓜
  4. 浙江大学墙裂推荐的超高人气《看漫画学Python》回来啦
  5. PPK 无人机空间定位的秘密武器
  6. html实现富文本编辑器,前端程序员福利,6款轻量级富文本编辑器,轻松实现富文本编辑...
  7. 2021年山东省安全员C证实操考试视频及山东省安全员C证操作证考试
  8. LabVIEW编程LabVIEW开发DAQ采集消除串扰 例程与相关资料
  9. 让表格里面的序列号自增
  10. 甘肃vr全景数字化展厅提高企业品牌认知度和销售效果