一 以微信公众号方式接入
1.1 创建公众号
首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
不过请注意这一点
创建模板,由于是测试,我这里直接引用模板库模板
1.2 引入wxjava公众号 对应的pom
我目前使用的是 4.1.0 版本
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>${binarywang.weixin.java.version}</version>
</dependency>
1.3 代码集成
package com.zebraos.integrate.push.config;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
@Component
public class WxConfig {
/**
* 微信服务装载
*
* @return
*/
@Bean
public WxMpService wxMpService() {
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
return wxMpService;
}
/**
* 微信客户端配置存储
*
* @return
*/
@Bean
public WxMpConfigStorage wxMpConfigStorage() {
WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
// 公众号appId
configStorage.setAppId("wxc5axxxxxx");
// 公众号appSecret
configStorage.setSecret("5609f0cf1664b32c1da2b0baf6xxxx");
return configStorage;
}
}
@Autowired
protected WxMpService wxMpService;
@Override
public void wxPush() {
//实例化模板对象
WxMpTemplateMessage wxMpTemplateMessage = new WxMpTemplateMessage();
//设置模板ID
wxMpTemplateMessage.setTemplateId("lM9c6ydEjpCm0wBfP-8tSkrikEAFHIXdbYhAG6N5rw0");
//设置发送给哪个用户xxxxxxxxxxx");
wxMpTemplateMessage.setToUser("oXxan5uCdZxxxxxxxxxx");
wxMpTemplateMessage.setUrl("https://xxxxxx.com.cn/#/");
//构建消息格式
List<WxMpTemplateData> list = Arrays.asList(
new WxMpTemplateData("first", "平台升级"),
new WxMpTemplateData("event", "平台升级"),
new WxMpTemplateData("finish_time", "2022-03-23 14:00:00"),
new WxMpTemplateData("remark", "请点击")
);
//放进模板对象。准备发送
wxMpTemplateMessage.setData(list);
try {
//发送模板
wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);
} catch (WxErrorException e) {
e.printStackTrace();
}
System.out.println("发送成功");
}
用户openId如何获取?
简单直接获取方式