SpringBoot?實(shí)現(xiàn)微信推送模板的示例代碼
導(dǎo)讀
由于最近手頭上需要做個(gè)Message Gateway,涉及到:郵件(點(diǎn)我直達(dá))、短信、公眾號(hào)等推送功能,網(wǎng)上學(xué)習(xí)下,整理下來以備以后使用。
添加依賴
在SpringBoot項(xiàng)目中添加依賴
<!--微信模版消息推送三方sdk-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.3.0</version>
</dependency>
控制層代碼
package com.ybchen.springbootwechart.controller;
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.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName:PushController
* @Description:微信推送
* @Author:chenyb
* @Date:2020/11/27 10:33 上午
* @Versiion:1.0
*/
@RestController
public class PushController {
/*
* 微信測(cè)試賬號(hào)推送
* */
@GetMapping("/push")
public String push() {
//1,配置
WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
wxStorage.setAppId("AppId");
wxStorage.setSecret("Secret");
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxStorage);
//2,推送消息
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
.toUser("ojPPk54RcFkCgGVP3m66v1RM2mvA")//要推送的用戶openid
.templateId("a7RPsASc7fw33zFo7zEfWKE0vrPnUo7VZ82fX3tTfMg")//模版id
.url("https://www.cnblogs.com/chenyanbin/")//點(diǎn)擊模版消息要訪問的網(wǎng)址
.build();
//3,如果是正式版發(fā)送模版消息,這里需要配置你的信息
// templateMessage.addData(new WxMpTemplateData("name", "value", "#FF00FF"));
// templateMessage.addData(new WxMpTemplateData(name2, value2, color2));
try {
wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
return "推送成功";
} catch (Exception e) {
System.out.println("推送失?。? + e.getMessage());
e.printStackTrace();
return "推送失敗";
}
}
}
去微信公眾平臺(tái)注冊(cè)一個(gè)開發(fā)測(cè)試賬戶
個(gè)人開發(fā),我們可以去微信公眾號(hào)平臺(tái)注冊(cè)個(gè)測(cè)試賬戶點(diǎn)我直達(dá),微信掃碼登錄,會(huì)給我們一個(gè)免費(fèi)的:appID、appsecret,微信掃碼關(guān)注公眾號(hào),會(huì)顯示關(guān)注測(cè)試公眾號(hào)的用戶列表。全局錯(cuò)誤碼:點(diǎn)我直達(dá)

測(cè)試
關(guān)注測(cè)試公眾號(hào),創(chuàng)建模板,并發(fā)送指定模板內(nèi)容


替換模板內(nèi)容在微信公眾平臺(tái)創(chuàng)建模板
語(yǔ)法:{{變量名.DATA}}
姓名:{{user_name.DATA}}
性別:{{sex.DATA}}
手機(jī)號(hào):{{phone.DATA}}
郵箱:{{email.DATA}}

控制層修改


package com.ybchen.springbootwechart.controller;
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.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Objects;
/**
* @ClassName:PushController
* @Description:微信推送
* @Author:chenyb
* @Date:2020/11/27 10:33 上午
* @Versiion:1.0
*/
@RestController
public class PushController {
/*
* 微信測(cè)試賬號(hào)推送
* */
@GetMapping("/push")
public String push() {
//1,配置
WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
wxStorage.setAppId("wx12db1518efd2302c");
wxStorage.setSecret("056f31d80a5a22cc0c418cc08f5657ad");
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxStorage);
//2,推送消息
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
.toUser("ojPPk54RcFkCgGVP3m66v1RM2mvA")//要推送的用戶openid
.templateId("O0t0lPP7xRqbNz0-OwPzliSplzGFrkr4-au-OIGhiOE")//模版id
.url("https://www.cnblogs.com/chenyanbin/")//點(diǎn)擊模版消息要訪問的網(wǎng)址
.build();
//3,如果是正式版發(fā)送模版消息,這里需要配置你的信息,替換微信公眾號(hào)上創(chuàng)建的模板內(nèi)容
templateMessage.addData(new WxMpTemplateData("user_name", "陳彥斌", "#CCCCFF"));
templateMessage.addData(new WxMpTemplateData("sex", "男", "#FF00FF"));
templateMessage.addData(new WxMpTemplateData("phone", "188888888888", "#CCFF99"));
templateMessage.addData(new WxMpTemplateData("email", "543210188@qq.com", "#FF0033"));
try {
wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
return "推送成功";
} catch (Exception e) {
System.out.println("推送失?。? + e.getMessage());
e.printStackTrace();
return "推送失敗";
}
}
}

到此這篇關(guān)于SpringBoot?實(shí)現(xiàn)微信推送模板的文章就介紹到這了,更多相關(guān)SpringBoot?微信推送內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中對(duì)字符串每個(gè)字符統(tǒng)計(jì)的方法
java中對(duì)字符串每個(gè)字符統(tǒng)計(jì)的方法,需要的朋友可以參考一下2013-03-03
SpringBoot項(xiàng)目從搭建到發(fā)布一條龍
這篇文章主要介紹了SpringBoot項(xiàng)目從搭建到發(fā)布一條龍,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
springboot開啟mybatis二級(jí)緩存的步驟詳解
這篇文章給大家介紹了springboot開啟mybatis二級(jí)緩存的詳細(xì)步驟,文中通過代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
Java語(yǔ)言實(shí)現(xiàn)非遞歸實(shí)現(xiàn)樹的前中后序遍歷總結(jié)
今天小編就為大家分享一篇關(guān)于Java語(yǔ)言實(shí)現(xiàn)非遞歸實(shí)現(xiàn)樹的前中后序遍歷總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
SpringBoot使用Prometheus實(shí)現(xiàn)監(jiān)控
在當(dāng)今的軟件開發(fā)世界中,監(jiān)控是至關(guān)重要的一部分,本文主要介紹了如何在Spring Boot應(yīng)用程序中使用Prometheus進(jìn)行監(jiān)控,以幫助大家更好地理解和管理您的應(yīng)用程序,有需要的可以參考下2023-10-10
Java實(shí)用技巧:如何使用String去除開頭的第一個(gè)字符?
這篇文章主要介紹了Java實(shí)用技巧:如何使用String去除開頭的第一個(gè)字符,需要的朋友可以參考下2023-11-11

