Browse Source

Merge branch 'master' of http://git.qniao.cn/dating-agency/dating_touchme_app

* 'master' of http://git.qniao.cn/dating-agency/dating_touchme_app:
  feat(call): 添加通话等待状态并优化礼物充值流程
master
ZHR007 3 months ago
parent
commit
d63076b1c0
2 changed files with 27 additions and 13 deletions
  1. 4
      lib/controller/message/call_manager.dart
  2. 36
      lib/controller/message/chat_controller.dart

4
lib/controller/message/call_manager.dart

@ -16,11 +16,11 @@ enum CallType {
///
enum CallStatus {
waitCalling, //
calling, //
missed, //
cancelled, //
rejected, //
connected, //
}
///
@ -331,7 +331,7 @@ class CallManager extends GetxController {
'call',
callParams,
);
return message != null;
} catch (e) {
print('❌ [CallManager] 发送通话消息失败: $e');

36
lib/controller/message/chat_controller.dart

@ -1,11 +1,14 @@
import 'package:get/get.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:flutter/material.dart';
import 'package:tdesign_flutter/tdesign_flutter.dart';
import '../../im/im_manager.dart';
import '../../im/chat_presence_manager.dart';
import '../../model/home/marriage_data.dart';
import '../../model/live/gift_product_model.dart';
import '../../network/network_service.dart';
import '../../widget/live/live_recharge_popup.dart';
import 'package:im_flutter_sdk/im_flutter_sdk.dart';
import 'conversation_controller.dart';
@ -1080,15 +1083,15 @@ class ChatController extends GetxController {
try {
final message = await IMManager.instance.sendCustomMessage(userId, 'call', callParams);
if (message != null) {
//
final index = messages.indexWhere((msg) => msg.msgId == tempMessage.msgId);
if (index != -1) {
//
final index = messages.indexWhere((msg) => msg.msgId == tempMessage.msgId);
if (index != -1) {
messages[index] = message;
}
update();
//
_refreshConversationList();
return true;
}
update();
//
_refreshConversationList();
return true;
} else {
// FAIL
update();
@ -1743,9 +1746,20 @@ class ChatController extends GetxController {
);
if (response.data.isSuccess && !response.data.data['success']) {
SmartDialog.showToast(
response.data.data['code'] == 'E0002' ? '玫瑰不足请充值' : '发送礼物失败',
);
final code = response.data.data['code'];
if (code == 'E0002') {
// toast
SmartDialog.showToast('玫瑰不足请充值');
SmartDialog.show(
alignment: Alignment.bottomCenter,
maskColor: Get.context != null
? TDTheme.of(Get.context!).fontGyColor2
: Colors.black.withOpacity(0.5),
builder: (_) => const LiveRechargePopup(),
);
} else {
SmartDialog.showToast('发送礼物失败');
}
return false;
}

Loading…
Cancel
Save