From 0c98579fff979ae80fc30224b87c9c6eb626f49e Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 30 四月 2026 17:29:37 +0800
Subject: [PATCH] feat:openinstall落地页接入websdk
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppWechatAuthClient.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppWechatAuthClient.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppWechatAuthClient.java
index c8de56a..a9913eb 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppWechatAuthClient.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/auth/service/AppWechatAuthClient.java
@@ -4,9 +4,11 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.tcm.training.admin.app.auth.config.AppWechatAuthProperties;
import com.tcm.training.admin.app.auth.dto.AppWechatLoginRequest;
+import java.nio.charset.StandardCharsets;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestOperations;
import org.springframework.web.client.RestTemplate;
@@ -29,7 +31,7 @@
*/
@Autowired
public AppWechatAuthClient(AppWechatAuthProperties properties, ObjectMapper objectMapper) {
- this(properties, objectMapper, new RestTemplate());
+ this(properties, objectMapper, createUtf8RestTemplate());
}
/**
@@ -200,6 +202,16 @@
}
/**
+ * 创建默认按 UTF-8 解码字符串响应的 HTTP 客户端,避免微信中文昵称乱码。
+ */
+ private static RestTemplate createUtf8RestTemplate() {
+ RestTemplate restTemplate = new RestTemplate();
+ restTemplate.getMessageConverters().removeIf(StringHttpMessageConverter.class::isInstance);
+ restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
+ return restTemplate;
+ }
+
+ /**
* 保存微信换票结果,避免在多个私有方法之间散落参数。
*/
private static class WechatAccessTokenSnapshot {
--
Gitblit v1.7.1