GITHUB地址
https://github.com/Wechat-Group/WxJava
微信公众号开发
- 下载demo代码参考
- pom.xml引入
- <dependency>
- <groupId>com.github.binarywang</groupId>
- <artifactId>weixin-java-mp</artifactId>
- <version>4.0.0</version>
- </dependency>
- 配置yml
- wx:
- mp:
- false
- redisConfig:
- 127.0.0.1
- 6379
- configs:
- "******************"
- "*****************"
- "*****************"
- "*****************"
- 将demo相关代码直接搬到项目代码中
@RequestMapping("/wx/portal/{appid}")
public class WxPortalController
.............................
.............................
- 公众号开发配置,服务器URL就是刚才WxPortalController的接口,验证消息来自微信,接通公众号。也是公众号交互,事件推送的唯一入口。
- 用户关注和取关
- 参考使用demo代码的SubscribeHandler 和 UnsubscribeHandler,正常直接搬过来实现业务逻辑就可以。不熟悉的话,各种事件可以通过直接观察日志打印来定位不同的handle文件位置,demo代码在各种事件里都有打印可以识别
- 关注时可以获取 openid Unionid等信息
- log.debug("\n新关注用户:{}", userWxInfo);
- MpUser mpUser = new MpUser();
- mpUser.setOpenId(userWxInfo.getOpenId());
- mpUser.setUnionId(userWxInfo.getUnionId());
- "1");
- mpUserService.subscribe(mpUser);
- 根据关注事件获取到的用户openid去发送模板消息
- 文档https://github.com/Wechat-Group/WxJava/wiki/%E5%85%AC%E4%BC%97%E5%8F%B7%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3
- 依赖注入WxMpService(千万不能通过直接new wxPmService的方式,否则会报空指针异常)
- @Autowired
- private
- WxMpTemplateMessage templateMessage =
- "ozHsF6u1JE8buR1ANBiRv2-Qjwxc").templateId("aOSPkPH7NLibxo5gUKHZOPT4yMZwcU7Rs9-hIERRf2M").url("http://www.baidu.com").build();
- new WxMpTemplateData("first", "您好,亲爱的小明家长,请查阅宝宝今日在园情况", "#173177"));
- new WxMpTemplateData("keyword1", "托管1班", "#173177"));
- new WxMpTemplateData("keyword2", "2021年5月24日", "#173177"));
- new WxMpTemplateData("keyword3","今天宝宝在幼儿园表现还不错,但是中午吃饭时有点挑食不喜欢吃西红柿,希望家长在家也关注一下", "#173177"));
- new WxMpTemplateData("remark", "备注信息", "#173177"));
- wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
微信小程序开发
- 引入小程序与引入公众号方式一样,就不累赘了,这里直接记录微信小程序开发中敏感词汇的审核