|
|
|
@ -15,11 +15,13 @@ import 'package:flutter/material.dart'; |
|
|
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; |
|
|
|
import 'package:get/get.dart'; |
|
|
|
import 'package:permission_handler/permission_handler.dart'; |
|
|
|
import 'package:tdesign_flutter/tdesign_flutter.dart'; |
|
|
|
|
|
|
|
import '../../model/live/live_chat_message.dart'; |
|
|
|
import '../../pages/discover/live_end_page.dart'; |
|
|
|
import '../../pages/mine/real_name_page.dart'; |
|
|
|
import '../../pages/setting/match_spread_page.dart'; |
|
|
|
import '../../widget/live/live_recharge_popup.dart'; |
|
|
|
import 'svga_player_manager.dart'; |
|
|
|
|
|
|
|
// 当前角色 |
|
|
|
@ -418,6 +420,25 @@ class RoomController extends GetxController with WidgetsBindingObserver { |
|
|
|
); |
|
|
|
return; |
|
|
|
} |
|
|
|
if (response.data.isSuccess && !response.data.data['success']) { |
|
|
|
final code = response.data.data['code']; |
|
|
|
if (code == 'E0002') { |
|
|
|
// 玫瑰不足,显示 toast 并弹出充值弹框 |
|
|
|
SmartDialog.showToast('玫瑰不足请充值'); |
|
|
|
Get.log('❌ 送礼失败: ${response.data.data}'); |
|
|
|
// 使用 addPostFrameCallback 确保在下一帧显示弹框,避免与 toast 冲突 |
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) { |
|
|
|
SmartDialog.show( |
|
|
|
alignment: Alignment.bottomCenter, |
|
|
|
maskColor: Colors.black.withOpacity(0.5), |
|
|
|
builder: (_) => const LiveRechargePopup(), |
|
|
|
); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
SmartDialog.showToast('发送礼物失败'); |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 消费成功后再添加到本地播放队列 |
|
|
|
final svgaManager = SvgaPlayerManager.instance; |
|
|
|
|