前言:
了不起学弟:了不起学长,最近在学习服务号开发,感觉很难啊,文档有些都看不明白啊。。。
了不起:看不懂正常,你不熟悉肯定看不懂的,我给你讲讲这块,服务号接入的大概流程吧。
正文:
首先我们引入正常的依赖,同时我这边使用的框架是
代码语言:javascript复制 <dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>4.5.0</version>
</dependency>
再配置文件中加
代码语言:javascript复制wx:
mp:
app-id:
secret:
token: # 配置消息回调地址接入公众号时需要的token
aes-key:
引入配置类
代码语言:javascript复制@Component
public class WxInitConfig {
@Value("${wx.mp.app-id}")
private String appid;
@Value("${wx.mp.aes-key}")
private String aesKey;
@Value("${wx.mp.secret}")
private String secret;
@Value("${wx.mp.token}")
private String token;
@Bean
public WxMpService wxMpService() {
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
config.setAppId(appid);
config.setSecret(secret);
config.setToken(token);
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(config);
return wxMpService;
}
@Bean
public WxMpConfigStorage wxMpConfigStorage() {
WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
// 设置微信公众号appId
configStorage.setAppId(appid);
// 设置微信公众号appSecret
configStorage.setSecret(secret);
// 设置微信公众号的token
configStorage.setToken(token);
// 设置微信公众号的EncodingAESKey
configStorage.setAesKey(aesKey);
return configStorage;
}
}
添加校验签名接口
代码语言:javascript复制 @GetMapping("send")
public long configAccess(String signature, String timestamp, String nonce, Long echostr) {
// 校验签名
if (!wxMpService.checkSignature(timestamp, nonce, signature)) {
logger.error("签名校验 ===》 非法请求");
// 消息签名不正确,说明不是公众平台发过来的消息
return 0;
}
logger.error("签名校验 ===》 验证成功");
// 返回echostr
return echostr;
}
编写路由
代码语言:javascript复制 Logger logger = LoggerFactory.getLogger(WxMpController.class);
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException {
logger.info("SubscribeHandler调用,关注用户:{}",wxMessage.getFromUser());
return WxMpXmlOutMessage.TEXT().fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser())
.content("欢迎公众号哈哈哈哈哈啊哈“);
}
这就是一个大概的简单流程了,在服务号的后台,要配置好相关的ip白名单等,服务号的一个简单的关注功能就可以实现了。