Przeglądaj źródła

fix(huawei-health): 修复 URLEncoder 编码 Java8 兼容(阻断全后端编译)

HuaweiAuthService.encode 使用 URLEncoder.encode(String, Charset)——Java10+ API,
项目为 Java8(maven 运行于 JDK8) 下无法解析,导致 cfc-backend 全模块编译失败,
阻塞 X1-X5 小米通道验收(mvn clean compile 必须通过)。
改为 encode(String, Charset.name()) 并捕获 UnsupportedEncodingException(UTF-8 恒支持)。
行为中性,与 XiaomiAuthService 已有 .name() 模式一致。

既有 D1-D5(978d1bc95) 缺陷,独立提交便于归属;不涉及 X1-X5 小米代码。
Sisyphus 6 dni temu
rodzic
commit
ea285ed202

+ 6 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/huawei/HuaweiAuthService.java

@@ -243,7 +243,12 @@ public class HuaweiAuthService {
         if (s == null) {
             return "";
         }
-        return java.net.URLEncoder.encode(s, java.nio.charset.StandardCharsets.UTF_8);
+        try {
+            return java.net.URLEncoder.encode(s, java.nio.charset.StandardCharsets.UTF_8.name());
+        } catch (java.io.UnsupportedEncodingException e) {
+            // UTF-8 恒受支持,理论不可达;防御性返回原值
+            return s;
+        }
     }
 
     // ==================== 调试/状态用(避免明文泄露) ====================