java 公众号自定义分享_jfinal-weixin自定义配置支持多公众号

spring-boot-starter-weixin是jfinal-weixin的spring boot版本,以前一直在用jfinal-weixin做为开发工具包,也一直没有尝试过支持多公众号,最近正好有需求要求支持多公众号,就来研究一番它是如何支持多公众号的。

找到源码,打开后发现有个拦截器,我们看看拦截器做了什么。

e34aed865196a3f8d552f57cefbe7ddf.png

微信后台如何配置来支持多公众号

在preHandle中有比较重要的几行代码,我们拿出来单独分析一下。

1734ba6206be5a0ffb5506884bcd9fc3.png

5e58e6e54c5ee04fd5c20a01681e9b98.png

这一行代码重要是获取参数的,也就是在我们微信后台配置开发者url的时候添加的参数,参数名是appId。

34ebace203880dda8dd0402f982e1e5e.png

这一段代码主要是根据微信后台传过来的appId来获取对应微信公众号的token,来跟微信后台传过来的token进行匹配。

公众号后台配置如下:

b85612d75e856ebe1e1ed734651b9201.png

如何支持多公众号

在MsgInterceptor中有用到ApiConfigKit.getApiConfig(),我们打开这个类看一下,他具体做了什么工作。

4e6382b469c0f409bc2f757360b372c8.png

根据自定义的异常信息,我们知道如果想要使用getApiConfig(String appId),则必须先调用putApiConfig(apiConfig),将公众号信息存入。

bb1f75d58c39196f8334e61e1235cf30.png

「afterSingletonsInstantiated:当所有单例 bean 都初始化完成以后, 容器会回调该接口的方法」

这个类的目的就是在项目启动后将配置文件中的微信公众号配置取出来,循环放入ApiConfigKit。

DreamWeixinProperties部分配置如下:

81a8999f83f6204dc5e85368ff296f83.png

数据库获取多公众号配置

我们一般需要来在平台管理公众号,因此从数据库获取公众号配置要远比配置文件获取更加方便,我们只需要实现SmartInitializingSingleton接口,将公众号配置改为从数据库获取就可以了。

9d67aac66e916150faa11243055af86d.png

这样,当项目启动以后,就会调用我们自定义的WxConfig来完成多公众号的配置。数据库读取公众号配置比配置文件直接读取更加灵活。因此,我也是比较推荐直接从数据库来读取公众号配置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值