From f168658e8e7b16cf8bed7f1f31ea1b8e88152fdf Mon Sep 17 00:00:00 2001 From: Jolie <412895109@qq.com> Date: Tue, 13 Jan 2026 15:13:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(video=5Fcall):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E9=80=9A=E8=AF=9D=E7=B1=BB=E5=9E=8B=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=B9=B6=E4=BC=98=E5=8C=96=E9=82=80=E8=AF=B7=E5=BC=B9?= =?UTF-8?q?=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除不必要的 RTM 订阅操作 - 为 VideoCallInviteDialog 组件添加 callType 参数 - 在 RoseController 中添加 RoomController 余额刷新逻辑 - 为视频通话邀请弹窗添加日志记录功能 --- lib/controller/mine/rose_controller.dart | 11 +++++++++++ lib/im/im_manager.dart | 2 +- lib/widget/message/video_call_invite_dialog.dart | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/controller/mine/rose_controller.dart b/lib/controller/mine/rose_controller.dart index 12d21dc..984bc99 100644 --- a/lib/controller/mine/rose_controller.dart +++ b/lib/controller/mine/rose_controller.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:fluwx/fluwx.dart'; import 'package:get/get.dart'; +import '../discover/room_controller.dart'; class RoseController extends GetxController with WidgetsBindingObserver { @@ -96,6 +97,16 @@ class RoseController extends GetxController with WidgetsBindingObserver { launchWX.value = false; count.value = 0; getRoseNum(); + // 刷新 RoomController 的余额 + if (Get.isRegistered()) { + try { + final roomController = Get.find(); + await roomController.getVirtualAccount(); + print('✅ 已刷新 RoomController 的玫瑰余额'); + } catch (e) { + print('⚠️ 刷新 RoomController 余额失败: $e'); + } + } } else { count.value += 1; if(count.value < 3){ diff --git a/lib/im/im_manager.dart b/lib/im/im_manager.dart index ddac92d..5d9e24f 100644 --- a/lib/im/im_manager.dart +++ b/lib/im/im_manager.dart @@ -1902,7 +1902,6 @@ class IMManager { return; } - RTMManager.instance.subscribe(channelId ?? ''); // 获取用户信息 Map? attributes; try { @@ -1953,6 +1952,7 @@ class IMManager { tag: 'video_call_invite_dialog', builder: (context) { return VideoCallInviteDialog( + callType: callType, avatarUrl: finalAvatarUrl, nickName: finalNickName, onTap: () async { diff --git a/lib/widget/message/video_call_invite_dialog.dart b/lib/widget/message/video_call_invite_dialog.dart index f51c8f3..6e61459 100644 --- a/lib/widget/message/video_call_invite_dialog.dart +++ b/lib/widget/message/video_call_invite_dialog.dart @@ -2,6 +2,7 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; /// 视频通话邀请弹框 class VideoCallInviteDialog extends StatelessWidget { @@ -26,6 +27,7 @@ class VideoCallInviteDialog extends StatelessWidget { @override Widget build(BuildContext context) { + Get.log('VideoCallInviteDialog$callType'); return GestureDetector( onTap: onTap, child: Container(