Browse Source

feat(video_call): 添加视频通话类型参数并优化邀请弹窗

- 移除不必要的 RTM 订阅操作
- 为 VideoCallInviteDialog 组件添加 callType 参数
- 在 RoseController 中添加 RoomController 余额刷新逻辑
- 为视频通话邀请弹窗添加日志记录功能
master
Jolie 2 months ago
parent
commit
f168658e8e
3 changed files with 14 additions and 1 deletions
  1. 11
      lib/controller/mine/rose_controller.dart
  2. 2
      lib/im/im_manager.dart
  3. 2
      lib/widget/message/video_call_invite_dialog.dart

11
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<RoomController>()) {
try {
final roomController = Get.find<RoomController>();
await roomController.getVirtualAccount();
print('✅ 已刷新 RoomController 的玫瑰余额');
} catch (e) {
print('⚠️ 刷新 RoomController 余额失败: $e');
}
}
} else {
count.value += 1;
if(count.value < 3){

2
lib/im/im_manager.dart

@ -1902,7 +1902,6 @@ class IMManager {
return;
}
RTMManager.instance.subscribe(channelId ?? '');
//
Map<String, dynamic>? 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 {

2
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(

Loading…
Cancel
Save