Skip to content

合并develop分支,发布最新正式版 #1730

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 92 commits into from
Aug 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d650bb6
:art: 抽取公共代码
binarywang May 25, 2020
8bb6b02
:art: #1580 企业微信成员信息里性别字段枚举类增加0值
binarywang May 25, 2020
7b641e7
:art: 小程序 Spring Boot Starter 模块优化重构
binarywang May 25, 2020
edf1401
:art: #1583 企业微信读取成员接口增加返回字段:main_department
Ricky-dgs May 26, 2020
da0ce15
:art: #1585 微信支付结果异步通知的解析方法增加可以自行指定signType的重载方法
binarywang May 26, 2020
b95045b
:bug: 修复错误代码
binarywang May 28, 2020
eb6a578
:art: 规范优化部分代码
binarywang May 28, 2020
1720e51
:art: 微信现金红包发送接口信息处理优化,针对处理中的变态错误信息不抛出异常
binarywang May 30, 2020
6e2babd
:art: 规范优化部分代码
binarywang May 30, 2020
17aaba2
:art: 微信模版消息行业获取的代码优化
binarywang May 30, 2020
0a2e4d8
:bookmark: 发布 3.8.1.1.B 测试版本
binarywang May 30, 2020
2446fa6
:art: #1592 实现简单的redis分布式锁 RedisTemplateSimpleDistributedLock
lkqm May 31, 2020
6c3d090
:bug: #1582 use lock.tryLock() to avoid waiting for locks for a long …
lkqm May 31, 2020
1c60839
:art: #571 微信小程序接口请求增加多种http客户端
lkqm Jun 1, 2020
b52e676
:bug: #1600 修复无法切换到初始公众号配置的问题并完善了removeConfigStorage方法
rain7fine11 Jun 3, 2020
f14b33a
:art: #1599 企业微信获取打卡数据接口返回类增加打卡设备id字段
binarywang Jun 4, 2020
9341419
:art: 规范部分代码
binarywang Jun 6, 2020
ddbeda4
:art: 重构补充部分单元测试代码
binarywang Jun 6, 2020
a2f5452
:art: 规范部分代码,增加javadoc
binarywang Jun 7, 2020
58b2617
Merge branch 'master' into develop
binarywang Jun 7, 2020
92c0fd6
:new: #1529 微信支付退款增加支持单品退款和对应查询的接口
binarywang Jun 7, 2020
8467852
:bug: #1608 修复企业微信外部联系人群列表错误参数
sunhao91 Jun 7, 2020
0f8361e
:art: 优化部分代码
binarywang Jun 7, 2020
03d9f2d
:bookmark: 发布 3.8.2.B 测试版本
binarywang Jun 7, 2020
a81550f
:art: 优化部分代码
binarywang Jun 11, 2020
29b4dbd
:art: #1610 换用guava的相应方法实现base64解码,避免因commons-codec版本问题导致解码异常
binarywang Jun 11, 2020
3b37f52
#1620 :art: 公众号模块配置类增加Redisson的实现
wuxingye Jun 15, 2020
8256c46
:art: #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题
binarywang Jun 15, 2020
2769f50
Merge branch 'master' into develop
binarywang Jun 16, 2020
1ae00b6
:art: 优化单元测试
binarywang Jun 16, 2020
320f367
:art: #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题
binarywang Jun 16, 2020
c2034cb
:art: #1624 企业微信模块更新用户信息相关接口类以适应企业微信私有化版本
sdlszjb Jun 17, 2020
a0c370b
:art: #1627 优化小程序starter,避免依赖jedis
miemieYaho Jun 18, 2020
ba33c9a
:bookmark: 发布 3.8.3.B 测试版本
binarywang Jun 18, 2020
4d44398
:bug: #1649 修复小程序直播间列表接口出现 require https hints 的问题
taneg Jun 30, 2020
eec3f78
:bug: #1653 修复SDK扫码登录签名算法获取 Ticket时的type参数值
CharismaYU Jun 30, 2020
c60fda4
:new: #1651 添加小程序直播间商品相关操作接口
lipengjun92 Jun 30, 2020
a00d67a
:art: 优化规范部分代码
binarywang Jun 30, 2020
7d20aa1
:art: 清理部分冗余代码
binarywang Jun 30, 2020
b755694
:art: #1647 优化公众号redis配置支持,去掉容易导致问题的构造方法
binarywang Jul 2, 2020
978ada7
:new: #1527 微信小程序增加OCR身份证识别和银行卡识别等接口
binarywang Jul 5, 2020
8121a52
:bookmark: 发布 3.8.4.B 测试版本
binarywang Jul 5, 2020
0adca96
:art: #1659 Json解析统一优化
niefy Jul 6, 2020
10c4d45
:art: #1647 优化小程序redis配置支持,去掉容易导致问题的构造方法
binarywang Jul 7, 2020
1650ee2
:art: 修复小程序直播接口获取不到部分字段值的问题
binarywang Jul 7, 2020
b93169e
:bug: #1664 企业微信修复获取联系客户统计数据接口的错误字段:negative_fee_back_cnt
binarywang Jul 10, 2020
4ab5080
:art: 优化代码
binarywang Jul 11, 2020
03c143b
:bookmark: 发布 3.8.5.B 测试版本
binarywang Jul 11, 2020
7c0a38e
:new: #1668 企业微信增加外部联系人发送消息的接口
deanwong Jul 15, 2020
56a271c
:art: #1671 优化微信支付回调通知验证签名的代码
binarywang Jul 16, 2020
3b8c66a
:art: 规范lock.lock()代码,统一放在try代码块之外
arbing Jul 17, 2020
f6f4b89
:new: #1641 企业微信增加OA提交审批申请的接口
binarywang Jul 18, 2020
11974f0
:art: 会员卡相关bean类重构,集中到同一包中
binarywang Jul 18, 2020
4d14409
:bookmark: 发布 3.8.6.B 测试版本
binarywang Jul 19, 2020
04fb35d
:bug: #1604 修复微信开放平台帐号管理相关接口,使用指定appId的access_token
whhya Jul 21, 2020
0758049
:new: #1474 企业微信新增客户联系「联系我」管理接口 修正 / #1590 开放平台刷新AccessToken同步更新Refr…
forfuns Jul 21, 2020
694f2c2
:new: #1493 企业微信增加管理企业客户标签的相关接口
huangxm129 Jul 26, 2020
fbe2dd9
:art: 优化企业微信部分代码
binarywang Jul 26, 2020
6a27b83
:bug: 修复公众号和小程序的OCR相关接口请求方式为post
binarywang Jul 26, 2020
fa24f78
:art: 优化企业微信部分代码
binarywang Jul 26, 2020
7ef9e91
:bug: 修复一个字段值表达转换问题
binarywang Jul 26, 2020
2755bc9
:bookmark: 发布 3.8.7.B 测试版本
binarywang Jul 26, 2020
a776e9c
:art: #1690 企业微信外部联系人客户详情接口增加几个字段
huangxm129 Jul 31, 2020
a9f9e30
:bug: #1699 企业微信模块修复添加企业客户标签接口
huangxm129 Aug 6, 2020
e7f2378
:new: #1639 微信支付增加v3图片上传接口
zhouyongshen Aug 7, 2020
edf8e18
:new: #1706 微信支付增加特约商户进件相关接口
zhouyongshen Aug 7, 2020
c588303
:art: #1700 公众号WxMpConfigStorage接口提供setHostConfig()方法,方便设置相关信息
binarywang Aug 8, 2020
542b633
:art: 重构优化部分包结构
binarywang Aug 8, 2020
14dfe30
:new: #1685 小程序增加图像处理相关接口
binarywang Aug 8, 2020
4bd5b3c
:art: 修复代码
binarywang Aug 8, 2020
9346c17
:art: 抽取oauth2相关接口方法到独立类WxOAuth2Service中
binarywang Aug 9, 2020
4d3346d
:art: #1688 升级jedis依赖版本为3.3.0,已解决部分问题
binarywang Aug 9, 2020
ce8f4f8
:bookmark: 发布 3.8.8.B 测试版本
binarywang Aug 9, 2020
a7ea5f5
:bug: #1713 企业微信修复获取企业已配置的「联系我」方式详情接口
huangxm129 Aug 16, 2020
928ba17
:art: 修复部分拼写错误的变量命名
binarywang Aug 16, 2020
8b7ca9b
:new: #1710 企业微信增加发送新客户欢迎语接口
binarywang Aug 16, 2020
9145628
:art: #1631 SDK最低支持版本设置为JDK8,放弃对JDK7及更旧版本的支持
binarywang Aug 16, 2020
79f0092
:new: #1267 小程序模块增加多账号切换功能支持
binarywang Aug 16, 2020
43633aa
:bookmark: 发布 3.8.9.B 测试版本
binarywang Aug 16, 2020
a278383
:art: #1716 微信支付证书配置读取代码优化,支持本地路径和网络路径
cloudX2019 Aug 17, 2020
17c2042
:new: #1667 微信支付增加电商收付通-二级商户进件相关接口
cloudX2019 Aug 18, 2020
6f95386
:new: #1720 增加企业微信群机器人消息发送接口
xyz9025 Aug 21, 2020
c1c66e9
:bug: #1724 微信支付证书初始化代码去掉不推荐的TLSv1协议,解决退款接口报No appropriate protocol的问题
missionOdd Aug 22, 2020
bd100bf
:bug: #1714 修复小程序初始化时报错的问题
binarywang Aug 22, 2020
aca8dba
:art: 优化规范部分代码
binarywang Aug 22, 2020
817b474
:art: 优化规范统一部分代码格式
binarywang Aug 22, 2020
6d996f2
:art: 优化重构部分代码,抽取公共常量
binarywang Aug 23, 2020
b5956fb
:art: 精简代码,移除无用过期接口代码
binarywang Aug 23, 2020
2797bd6
:art: 重构部分单元测试代码
binarywang Aug 23, 2020
33b13b1
:art: #1591 给部分请求方法导致无限递归调用的代码增加日志,方便排查问题
binarywang Aug 23, 2020
daf0b23
:art: 修复部分单元测试
binarywang Aug 23, 2020
ec7ab21
:bookmark: 发布 3.9.0 正式版本
binarywang Aug 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 10 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.binarywang</groupId>
<artifactId>wx-java</artifactId>
<version>3.8.0</version>
<version>3.9.0</version>
<packaging>pom</packaging>
<name>WxJava - Weixin/Wechat Java SDK</name>
<description>微信开发Java SDK</description>
Expand Down Expand Up @@ -90,6 +90,11 @@
<email>liuxinghao1988@gmail.com</email>
<url>https://github.com/howardliu-cn</url>
</developer>
<developer>
<name>huangxiaoming</name>
<email>huangxm129@163.com</email>
<url>https://github.com/huangxm129</url>
</developer>
</developers>

<scm>
Expand All @@ -111,8 +116,8 @@
</modules>

<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<httpclient.version>4.5</httpclient.version>
Expand All @@ -126,11 +131,10 @@
<artifactId>qrcode-utils</artifactId>
<version>1.1</version>
</dependency>
<!-- 由于jodd-http较新的3.8版本需要jdk8,故而此处采用较低版本 -->
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-http</artifactId>
<version>5.1.4</version>
<version>5.1.6</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -239,7 +243,7 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<version>3.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion spring-boot-starters/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.github.binarywang</groupId>
<artifactId>wx-java</artifactId>
<version>3.8.0</version>
<version>3.9.0</version>
</parent>
<packaging>pom</packaging>
<artifactId>wx-java-spring-boot-starters</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
wx.miniapp.msgDataFormat = @msgDataFormat # 消息格式,XML或者JSON.
# 存储配置redis(可选)
# 注意: 指定redis.host值后不会使用容器注入的redis连接(JedisPool)
wx.miniapp.config-storage.type = jedis # 配置类型: memory(默认), jedis, redistemplate
wx.miniapp.config-storage.type = Jedis # 配置类型: Memory(默认), Jedis, RedisTemplate
wx.miniapp.config-storage.key-prefix = wa # 相关redis前缀配置: wa(默认)
wx.miniapp.config-storage.redis.host = 127.0.0.1
wx.miniapp.config-storage.redis.port = 6379
# http客户端配置
wx.miniapp.config-storage.http-client-type=httpclient # http客户端类型: httpclient(默认)
wx.miniapp.config-storage.http-client-type=HttpClient # http客户端类型: HttpClient(默认), OkHttp, JoddHttp
wx.miniapp.config-storage.http-proxy-host=
wx.miniapp.config-storage.http-proxy-port=
wx.miniapp.config-storage.http-proxy-username=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>wx-java-spring-boot-starters</artifactId>
<groupId>com.github.binarywang</groupId>
<version>3.8.0</version>
<version>3.9.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand All @@ -22,13 +22,11 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${spring.boot.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package com.binarywang.spring.starter.wxjava.miniapp.config;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceHttpClientImpl;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceJoddHttpImpl;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceOkHttpImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl;
import com.binarywang.spring.starter.wxjava.miniapp.enums.HttpClientType;
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
Expand Down Expand Up @@ -46,22 +50,35 @@ public class WxMaAutoConfiguration {
@Bean
@ConditionalOnMissingBean(WxMaService.class)
public WxMaService service(WxMaConfig wxMaConfig) {
final WxMaServiceImpl service = new WxMaServiceImpl();
service.setWxMaConfig(wxMaConfig);
return service;
HttpClientType httpClientType = wxMaProperties.getConfigStorage().getHttpClientType();
WxMaService wxMaService;
if (httpClientType == HttpClientType.OkHttp) {
wxMaService = new WxMaServiceOkHttpImpl();
} else if (httpClientType == HttpClientType.JoddHttp) {
wxMaService = new WxMaServiceJoddHttpImpl();
} else if (httpClientType == HttpClientType.HttpClient) {
wxMaService = new WxMaServiceHttpClientImpl();
} else {
wxMaService = new WxMaServiceImpl();
}
wxMaService.setWxMaConfig(wxMaConfig);
return wxMaService;
}

@Bean
@ConditionalOnMissingBean(WxMaConfig.class)
public WxMaConfig wxMaConfig() {
WxMaProperties.StorageType type = wxMaProperties.getConfigStorage().getType();
WxMaDefaultConfigImpl config;
if (type == WxMaProperties.StorageType.jedis) {
config = wxMaInJedisConfigStorage();
} else if (type == WxMaProperties.StorageType.redistemplate) {
config = wxMaInRedisTemplateConfigStorage();
} else {
config = wxMaInMemoryConfigStorage();
switch (wxMaProperties.getConfigStorage().getType()) {
case Jedis:
config = wxMaJedisConfigStorage();
break;
case RedisTemplate:
config = wxMaRedisTemplateConfigStorage();
break;
default:
config = wxMaDefaultConfigStorage();
break;
}

config.setAppid(StringUtils.trimToNull(this.wxMaProperties.getAppid()));
Expand All @@ -80,52 +97,42 @@ public WxMaConfig wxMaConfig() {
return config;
}

private WxMaDefaultConfigImpl wxMaInMemoryConfigStorage() {
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
return config;
private WxMaDefaultConfigImpl wxMaDefaultConfigStorage() {
return new WxMaDefaultConfigImpl();
}

private WxMaDefaultConfigImpl wxMaInJedisConfigStorage() {
private WxMaDefaultConfigImpl wxMaJedisConfigStorage() {
WxMaProperties.RedisProperties redisProperties = wxMaProperties.getConfigStorage().getRedis();
JedisPool jedisPool;
if (redisProperties != null && StringUtils.isNotEmpty(redisProperties.getHost())) {
jedisPool = getJedisPool();
if (StringUtils.isNotEmpty(redisProperties.getHost())) {
JedisPoolConfig config = new JedisPoolConfig();
if (redisProperties.getMaxActive() != null) {
config.setMaxTotal(redisProperties.getMaxActive());
}
if (redisProperties.getMaxIdle() != null) {
config.setMaxIdle(redisProperties.getMaxIdle());
}
if (redisProperties.getMaxWaitMillis() != null) {
config.setMaxWaitMillis(redisProperties.getMaxWaitMillis());
}
if (redisProperties.getMinIdle() != null) {
config.setMinIdle(redisProperties.getMinIdle());
}
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);

jedisPool = new JedisPool(config, redisProperties.getHost(), redisProperties.getPort(),
redisProperties.getTimeout(), redisProperties.getPassword(), redisProperties.getDatabase());
} else {
jedisPool = applicationContext.getBean(JedisPool.class);
}
WxRedisOps redisOps = new JedisWxRedisOps(jedisPool);
WxMaRedisBetterConfigImpl wxMaRedisConfig = new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
return wxMaRedisConfig;
return new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
}

private WxMaDefaultConfigImpl wxMaInRedisTemplateConfigStorage() {
private WxMaDefaultConfigImpl wxMaRedisTemplateConfigStorage() {
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate);
WxMaRedisBetterConfigImpl wxMaRedisConfig = new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
return wxMaRedisConfig;
}

private JedisPool getJedisPool() {
WxMaProperties.ConfigStorage storage = wxMaProperties.getConfigStorage();
WxMaProperties.RedisProperties redis = storage.getRedis();

JedisPoolConfig config = new JedisPoolConfig();
if (redis.getMaxActive() != null) {
config.setMaxTotal(redis.getMaxActive());
}
if (redis.getMaxIdle() != null) {
config.setMaxIdle(redis.getMaxIdle());
}
if (redis.getMaxWaitMillis() != null) {
config.setMaxWaitMillis(redis.getMaxWaitMillis());
}
if (redis.getMinIdle() != null) {
config.setMinIdle(redis.getMinIdle());
}
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);

return new JedisPool(config, redis.getHost(), redis.getPort(), redis.getTimeout(), redis.getPassword(),
redis.getDatabase());
return new WxMaRedisBetterConfigImpl(redisOps, wxMaProperties.getConfigStorage().getKeyPrefix());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.binarywang.spring.starter.wxjava.miniapp.enums;

/**
* httpclient类型.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* @date 2020-05-25
*/
public enum HttpClientType {
/**
* HttpClient.
*/
HttpClient,
/**
* OkHttp.
*/
OkHttp,
/**
* JoddHttp.
*/
JoddHttp,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.binarywang.spring.starter.wxjava.miniapp.enums;

/**
* storage类型.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* @date 2020-05-25
*/
public enum StorageType {
/**
* 内存.
*/
Memory,
/**
* redis(JedisClient).
*/
Jedis,
/**
* redis(RedisTemplate).
*/
RedisTemplate
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.binarywang.spring.starter.wxjava.miniapp.properties;

import com.binarywang.spring.starter.wxjava.miniapp.enums.HttpClientType;
import com.binarywang.spring.starter.wxjava.miniapp.enums.StorageType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

/**
* 属性配置类.
*
Expand Down Expand Up @@ -42,16 +42,15 @@ public class WxMaProperties {
/**
* 存储策略
*/
private ConfigStorage configStorage = new ConfigStorage();
private final ConfigStorage configStorage = new ConfigStorage();

@Data
public static class ConfigStorage implements Serializable {
private static final long serialVersionUID = 4815731027000065434L;
public static class ConfigStorage {

/**
* 存储类型.
*/
private StorageType type = StorageType.memory;
private StorageType type = StorageType.Memory;

/**
* 指定key前缀.
Expand All @@ -61,12 +60,12 @@ public static class ConfigStorage implements Serializable {
/**
* redis连接配置.
*/
private RedisProperties redis;
private final RedisProperties redis = new RedisProperties();

/**
* http客户端类型.
*/
private HttpClientType httpClientType = HttpClientType.httpclient;
private HttpClientType httpClientType = HttpClientType.HttpClient;

/**
* http代理主机.
Expand All @@ -87,37 +86,13 @@ public static class ConfigStorage implements Serializable {
* http代理密码.
*/
private String httpProxyPassword;

}

public enum StorageType {
/**
* 内存.
*/
memory,
/**
* redis(JedisClient).
*/
jedis,
/**
* redis(RedisTemplate).
*/
redistemplate
}

public enum HttpClientType {
/**
* HttpClient.
*/
httpclient
}

@Data
public static class RedisProperties implements Serializable {
private static final long serialVersionUID = -5924815351660074401L;
public static class RedisProperties {

/**
* 主机地址.
* 主机地址.不填则从spring容器内获取JedisPool
*/
private String host;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>wx-java-spring-boot-starters</artifactId>
<groupId>com.github.binarywang</groupId>
<version>3.8.0</version>
<version>3.9.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Loading