From ca5fa5720b3f4d71d35d1d232b177b8cf23e1f44 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Thu, 30 Apr 2026 14:59:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=E5=AE=9E=E7=8E=B0=E8=81=8A?= =?UTF-8?q?=E5=A4=A9=E7=95=8C=E9=9D=A2=E5=8A=9F=E8=83=BD=E5=B9=B6=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=96=87=E6=A1=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增AttachmentRepository处理图片、视频、音频、文件发送功能 - 实现AuthRepository管理用户认证和会话状态 - 添加EnvironmentRepository支持环境配置切换 - 完成ChatScreen界面实现,包含消息收发、媒体文件处理 - 更新设计文档补充Android聊天页历史加载和测试验证说明 - 添加联系人黑名单错误信息返回和IM验证流程调整说明 --- .../main/java/com/xuqm/demo/service/DemoAuthService.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java b/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java index e956ce3..f4516be 100644 --- a/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java +++ b/demo-service/src/main/java/com/xuqm/demo/service/DemoAuthService.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; +import java.net.URI; import java.time.Instant; import java.util.Map; @@ -139,12 +140,14 @@ public class DemoAuthService { String payload = AppRequestSignatureUtil.payload(appId, userId, effectiveNickname, null, timestamp, nonce); String signature = AppRequestSignatureUtil.sign(appSecret, payload); - String url = UriComponentsBuilder.fromHttpUrl(imServiceUrl) + URI uri = UriComponentsBuilder.fromHttpUrl(imServiceUrl) .path("/api/im/auth/login") .queryParam("appId", appId) .queryParam("userId", userId) .queryParam("nickname", effectiveNickname) - .toUriString(); + .encode() + .build() + .toUri(); try { HttpHeaders headers = new HttpHeaders(); @@ -152,7 +155,7 @@ public class DemoAuthService { headers.set("X-App-Nonce", nonce); headers.set("X-App-Signature", signature); ResponseEntity response = restTemplate.exchange( - url, + uri, HttpMethod.POST, new HttpEntity<>(headers), JsonNode.class