我们就以Blade-Boot版本为例,添加功能,包我们使用 WxJava, cloud版本一样的方法,就是多了一个Feign调用。
WxJava 仓库地址:WxJava
添加Maven依赖,pom文件的
3.3.8.B
3.3.8.B
2. pull WxJava的官方spring boot 版本的 demo,地址:weixin-java-mp-demo-springboot
我们只需要如下几个包:
在Blade项目源码的 modules下新建 wecaht 包,然后 在idea中右键点击wechat,选择 Paste,这样可以自动重构包名,省去手动重构的麻烦,当然如果想省事直接新包名命名为 wx 会省掉下面重新修改方法名称的步骤
3.修改 复制过来这些文件的 import 包的名称,
把 :
3.3.8.B
替换成:
3.3.8.B
修改类中44行代码为如下,Blade-tool中包含JsonUtil类:3.3.8.B
logHandler.java 第21行修改为:
3.3.8.B
本人强迫症,看见wx 就觉得不顺眼,所以全部重构成了 wechat,包括Controller里面的
3.3.8.B
修改 WechatProperties.java 原(WxProperties.java)中的 :
3.3.8.B
在application.yml中添加如下相关参数,要替换成你自己的,列表,支持多公众号:
3.3.8.B
4.修改blade-tool源码,
/bladex-tool/blade-core-tool/src/main/java/org/springblade/core/tool/support/xss/XssFilter.java
排除weichat路径的xss过滤,全部关键源码如下:
3.3.8.B
5. 修改 common.config包下的 BladeConfiguration.java 放行 /wechat/**,添加:
3.3.8.B
按照以上配置,基本上你的公众号就成功对接了,到公众号设置界面设置好Appid、secret、token、aeskey,
消息加密方式选择“安全模式”,因为支持多公众号,URL 填写你的域名+wechat/portal/{appid}, appid 就是你当前设置的公众号的appid,关于内网穿透请百度或google解决。
最后再添加一个前端常用获取js sdk签名的类,直接贴代码:
3.3.8.B
可以postman请求下接口,看是否成功。