From 8c84d55e513c1d1c366d0807f33b07d405efaaf5 Mon Sep 17 00:00:00 2001 From: Jolie <412895109@qq.com> Date: Wed, 12 Nov 2025 12:06:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(message):=20=E6=9B=B4=E6=96=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=A1=B5=E9=9D=A2=E5=B9=B6=E4=BC=98=E5=8C=96=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=B1=95=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在获取会话列表后添加发送文本消息功能 - 移除图像项中的网络缩略图显示逻辑 - 修改图像项优先显示本地路径图片- 移除图像加载进度构建器- 调整消息页面Tab内容区域布局结构 - 移除不必要的日志打印语句 - 导入retrofit/http包用于图像项组件 --- .../message/conversation_controller.dart | 2 +- lib/pages/message/message_page.dart | 20 +++++++++---------- lib/widget/message/image_item.dart | 13 ++++-------- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/lib/controller/message/conversation_controller.dart b/lib/controller/message/conversation_controller.dart index 97e1f8d..5af01bf 100644 --- a/lib/controller/message/conversation_controller.dart +++ b/lib/controller/message/conversation_controller.dart @@ -30,7 +30,7 @@ class ConversationController extends GetxController { final List convList = await IMManager.instance.getConversations(); // 更新会话列表 conversations.value = convList; - + await IMManager.instance.sendTextMessage('你好啊啊', '1114267797208305664'); // 使用GetX日志系统 if (Get.isLogEnable) { Get.log('Loaded ${convList.length} conversations'); diff --git a/lib/pages/message/message_page.dart b/lib/pages/message/message_page.dart index 540055c..36c7f95 100644 --- a/lib/pages/message/message_page.dart +++ b/lib/pages/message/message_page.dart @@ -127,17 +127,15 @@ class _MessagePageState extends State with AutomaticKeepAliveClient // 构建Tab内容区域 Widget _buildTabContent() { - return Expanded( - child: TabBarView( - controller: _tabController, - physics: const NeverScrollableScrollPhysics(), // 禁用Tab页手势滚动 - children: const [ - // 聊天Tab - ConversationTab(), - // 好友Tab - FriendTab(), - ], - ), + return TabBarView( + controller: _tabController, + physics: const NeverScrollableScrollPhysics(), // 禁用Tab页手势滚动 + children: const [ + // 聊天Tab + ConversationTab(), + // 好友Tab + FriendTab(), + ], ); } diff --git a/lib/widget/message/image_item.dart b/lib/widget/message/image_item.dart index f688521..15fa558 100644 --- a/lib/widget/message/image_item.dart +++ b/lib/widget/message/image_item.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:im_flutter_sdk/im_flutter_sdk.dart'; +import 'package:retrofit/http.dart'; class ImageItem extends StatelessWidget { final EMImageMessageBody imageBody; @@ -102,7 +103,6 @@ class ImageItem extends StatelessWidget { double maxHeight = 200.w; double width = maxWidth; double height = maxHeight; - Get.log(imageBody.thumbnailLocalPath ?? ''); // 如果有图片尺寸信息,根据比例调整 if (imageBody.width != null && imageBody.width! > 0 && imageBody.height != null && imageBody.height! > 0) { @@ -117,18 +117,13 @@ class ImageItem extends StatelessWidget { width = maxHeight * aspectRatio; } } - // 尝试显示网络缩略图 - if (imageBody.thumbnailRemotePath != null && imageBody.thumbnailRemotePath!.isNotEmpty) { - return Image.network( - imageBody.thumbnailRemotePath!, + if (imageBody.localPath != null && imageBody.localPath!.isNotEmpty) { + return Image.file( + File(imageBody.localPath), width: width, height: height, fit: BoxFit.cover, - loadingBuilder: (context, child, loadingProgress) { - if (loadingProgress == null) return child; - return _buildLoadingContainer(width, height); - }, errorBuilder: (context, error, stackTrace) { return _buildErrorContainer(width, height); },