From a29e00f00f188c9948e89a492ca9ba7ff4e6b73e Mon Sep 17 00:00:00 2001
From: junbaor <junbaor@gmail.com>
Date: Fri, 3 Jan 2025 14:23:20 +0800
Subject: [PATCH] =?UTF-8?q?:art:=20#3461=E3=80=90=E5=B0=8F=E7=A8=8B?=
 =?UTF-8?q?=E5=BA=8F=E3=80=91spring=20boot=20starter=20=E5=92=8C=20solon?=
 =?UTF-8?q?=20plugin=20=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E7=A8=B3?=
 =?UTF-8?q?=E5=AE=9A=E7=89=88=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8=E5=87=AD?=
 =?UTF-8?q?=E6=8D=AE=E7=9A=84=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../storage/AbstractWxMaConfigStorageConfiguration.java      | 1 +
 .../solon/wxjava/miniapp/properties/WxMaProperties.java      | 5 +++++
 .../wx-java-miniapp-spring-boot-starter/README.md            | 3 ++-
 .../storage/AbstractWxMaConfigStorageConfiguration.java      | 1 +
 .../starter/wxjava/miniapp/properties/WxMaProperties.java    | 5 +++++
 5 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java b/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
index 9cc4fe161..acc147a70 100644
--- a/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
+++ b/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
@@ -15,6 +15,7 @@ public abstract class AbstractWxMaConfigStorageConfiguration {
     config.setToken(StringUtils.trimToNull(properties.getToken()));
     config.setAesKey(StringUtils.trimToNull(properties.getAesKey()));
     config.setMsgDataFormat(StringUtils.trimToNull(properties.getMsgDataFormat()));
+    config.useStableAccessToken(properties.isUseStableAccessToken());
 
     WxMaProperties.ConfigStorage configStorageProperties = properties.getConfigStorage();
     config.setHttpProxyHost(configStorageProperties.getHttpProxyHost());
diff --git a/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/properties/WxMaProperties.java b/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/properties/WxMaProperties.java
index 5a993cf66..1c3e495f4 100644
--- a/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/properties/WxMaProperties.java
+++ b/solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/properties/WxMaProperties.java
@@ -45,6 +45,11 @@ public class WxMaProperties {
    */
   private String msgDataFormat;
 
+  /**
+   * 是否使用稳定版 Access Token
+   */
+  private boolean useStableAccessToken = false;
+
   /**
    * 存储策略
    */
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
index 82f6bdd8b..cbf0b5392 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md
@@ -10,12 +10,13 @@
     ```
 2. 添加配置(application.properties)
     ```properties
-    # 公众号配置(必填)
+    # 小程序配置(必填)
     wx.miniapp.appid = appId
     wx.miniapp.secret = @secret
     wx.miniapp.token = @token
     wx.miniapp.aesKey = @aesKey
     wx.miniapp.msgDataFormat = @msgDataFormat                  # 消息格式,XML或者JSON.
+    wx.miniapp.use-stable-access-token=@useStableAccessToken
     # 存储配置redis(可选)
     # 注意: 指定redis.host值后不会使用容器注入的redis连接(JedisPool)
     wx.miniapp.config-storage.type = Jedis                     # 配置类型: Memory(默认), Jedis, RedisTemplate
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
index 6f44ac27e..fef082476 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/storage/AbstractWxMaConfigStorageConfiguration.java
@@ -15,6 +15,7 @@ public abstract class AbstractWxMaConfigStorageConfiguration {
     config.setToken(StringUtils.trimToNull(properties.getToken()));
     config.setAesKey(StringUtils.trimToNull(properties.getAesKey()));
     config.setMsgDataFormat(StringUtils.trimToNull(properties.getMsgDataFormat()));
+    config.useStableAccessToken(properties.isUseStableAccessToken());
 
     WxMaProperties.ConfigStorage configStorageProperties = properties.getConfigStorage();
     config.setHttpProxyHost(configStorageProperties.getHttpProxyHost());
diff --git a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
index b7ccb4537..b6384aabd 100644
--- a/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
+++ b/spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
@@ -44,6 +44,11 @@ public class WxMaProperties {
    */
   private String msgDataFormat;
 
+  /**
+   * 是否使用稳定版 Access Token
+   */
+  private boolean useStableAccessToken = false;
+
   /**
    * 存储策略
    */