diff --git a/mica-weixin/gradle.properties b/mica-weixin/gradle.properties index 62b6c1b0987b379efad59ad6d9e196e9c3b11969..125206e5f2176fddfb8a2037ce7dc442c013108a 100644 --- a/mica-weixin/gradle.properties +++ b/mica-weixin/gradle.properties @@ -1,4 +1,4 @@ -VERSION=2.0.3 +VERSION=2.0.4 GROUPID=net.dreamlu userName=chunmeng diff --git a/mica-weixin/src/main/java/net/dreamlu/weixin/config/WeixinAppConfig.java b/mica-weixin/src/main/java/net/dreamlu/weixin/config/WeixinAppConfig.java index de4b04473005924f11dd4d66f5109bd5f56e334a..cd1e148c0dd37f36e4e4faebb73a0ecb87787a69 100644 --- a/mica-weixin/src/main/java/net/dreamlu/weixin/config/WeixinAppConfig.java +++ b/mica-weixin/src/main/java/net/dreamlu/weixin/config/WeixinAppConfig.java @@ -25,22 +25,16 @@ import java.util.List; @Configuration @RequiredArgsConstructor public class WeixinAppConfig implements SmartInitializingSingleton { - private final DreamWeixinProperties weixinProperties; + private final DreamWeixinProperties weiXinProperties; private final SpringAccessTokenCache accessTokenCache; private final ObjectProvider provider; @Override public void afterSingletonsInstantiated() { - boolean isdev = weixinProperties.isDevMode(); - ApiConfigKit.setDevMode(isdev); + boolean isDev = weiXinProperties.isDevMode(); + ApiConfigKit.setDevMode(isDev); ApiConfigKit.setAccessTokenCache(accessTokenCache); - WxConfigLoader configLoader = provider.getIfAvailable(); - // 兼容老板 spring boot - if (configLoader == null) { - configLoader = WxConfigLoader.DEFAULT; - } - List wxConfList = new ArrayList<>(weixinProperties.getWxConfigs()); - wxConfList.addAll(configLoader.loadWx()); + List wxConfList = new ArrayList<>(weiXinProperties.getWxConfigs()); for (WxConf conf : wxConfList) { ApiConfig config = new ApiConfig(); if (StrKit.notBlank(conf.getAppId())) { @@ -58,8 +52,7 @@ public class WeixinAppConfig implements SmartInitializingSingleton { config.setEncryptMessage(conf.isMessageEncrypt()); ApiConfigKit.putApiConfig(config); } - List wxaConfList = new ArrayList<>(weixinProperties.getWxaConfigs()); - wxaConfList.addAll(configLoader.loadWxa()); + List wxaConfList = new ArrayList<>(weiXinProperties.getWxaConfigs()); for (WxaConf conf : wxaConfList) { WxaConfig config = new WxaConfig(); if (StrKit.notBlank(conf.getAppId())) { @@ -77,13 +70,31 @@ public class WeixinAppConfig implements SmartInitializingSingleton { config.setMessageEncrypt(conf.isMessageEncrypt()); WxaConfigKit.setWxaConfig(config); } - WxaConfigKit.setDevMode(isdev); - if (WxaMsgParser.JSON == weixinProperties.getWxaMsgParser()) { + WxaConfigKit.setDevMode(isDev); + if (WxaMsgParser.JSON == weiXinProperties.getWxaMsgParser()) { WxaConfigKit.useJsonMsgParser(); } - if ("jackson".equalsIgnoreCase(weixinProperties.getJsonType())) { + if ("jackson".equalsIgnoreCase(weiXinProperties.getJsonType())) { JsonUtils.setJsonFactory(JacksonFactory.me()); } + // 自定义的加载器 + WxConfigLoader configLoader = provider.getIfAvailable(); + // 兼容老板 spring boot + if (configLoader == null) { + configLoader = WxConfigLoader.DEFAULT; + } + List apiConfigList = configLoader.loadWx(); + if (apiConfigList != null && !apiConfigList.isEmpty()) { + for (ApiConfig config : apiConfigList) { + ApiConfigKit.putApiConfig(config); + } + } + List wxaConfigList = configLoader.loadWxa(); + if (wxaConfigList != null && !wxaConfigList.isEmpty()) { + for (WxaConfig config : wxaConfigList) { + WxaConfigKit.setWxaConfig(config); + } + } } } diff --git a/mica-weixin/src/main/java/net/dreamlu/weixin/config/WxConfigLoader.java b/mica-weixin/src/main/java/net/dreamlu/weixin/config/WxConfigLoader.java index d7bb02216acc0e3e56c07c42a4dc88f8bc78b1ef..0e7421df787ea84c2bc82c5eaa58224ae54bdde5 100644 --- a/mica-weixin/src/main/java/net/dreamlu/weixin/config/WxConfigLoader.java +++ b/mica-weixin/src/main/java/net/dreamlu/weixin/config/WxConfigLoader.java @@ -1,5 +1,8 @@ package net.dreamlu.weixin.config; +import com.jfinal.weixin.sdk.api.ApiConfig; +import com.jfinal.wxaapp.WxaConfig; + import java.util.Collections; import java.util.List; @@ -16,7 +19,7 @@ public interface WxConfigLoader { * * @return 微信配置列表 */ - default List loadWx() { + default List loadWx() { return Collections.emptyList(); } @@ -25,7 +28,7 @@ public interface WxConfigLoader { * * @return 小程序配置列表 */ - default List loadWxa() { + default List loadWxa() { return Collections.emptyList(); }