|
|
|
@ -9,6 +9,7 @@ import 'package:dating_touchme_app/network/network_service.dart'; |
|
|
|
import 'package:dating_touchme_app/rtc/rtc_manager.dart'; |
|
|
|
import 'package:dating_touchme_app/rtc/rtm_manager.dart'; |
|
|
|
import 'package:dating_touchme_app/service/live_chat_message_service.dart'; |
|
|
|
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'; |
|
|
|
@ -16,6 +17,7 @@ import 'package:permission_handler/permission_handler.dart'; |
|
|
|
import '../../model/live/live_chat_message.dart'; |
|
|
|
import '../../pages/mine/real_name_page.dart'; |
|
|
|
import '../../pages/setting/match_league_page.dart'; |
|
|
|
import '../../pages/setting/match_spread_page.dart'; |
|
|
|
|
|
|
|
// 当前角色 |
|
|
|
enum CurrentRole { |
|
|
|
@ -27,7 +29,8 @@ enum CurrentRole { |
|
|
|
} |
|
|
|
|
|
|
|
/// 直播房间相关控制器 |
|
|
|
class RoomController extends GetxController { |
|
|
|
class RoomController extends GetxController with WidgetsBindingObserver { |
|
|
|
|
|
|
|
RoomController({NetworkService? networkService}) |
|
|
|
: _networkService = networkService ?? Get.find<NetworkService>(); |
|
|
|
|
|
|
|
@ -53,6 +56,7 @@ class RoomController extends GetxController { |
|
|
|
@override |
|
|
|
void onInit() { |
|
|
|
super.onInit(); |
|
|
|
WidgetsBinding.instance.addObserver(this); |
|
|
|
matchmakerFlag.value = GlobalData().userData!.matchmakerFlag!; |
|
|
|
// 注册消息监听 |
|
|
|
_registerMessageListener(); |
|
|
|
@ -60,9 +64,32 @@ class RoomController extends GetxController { |
|
|
|
loadGiftProducts(); |
|
|
|
} |
|
|
|
|
|
|
|
@override |
|
|
|
void didChangeAppLifecycleState(AppLifecycleState state) { |
|
|
|
if(state == AppLifecycleState.resumed){ |
|
|
|
// print('_handleAppResumed'); |
|
|
|
} |
|
|
|
switch (state) { |
|
|
|
case AppLifecycleState.resumed: |
|
|
|
print('_handleAppResumed'); |
|
|
|
break; |
|
|
|
case AppLifecycleState.paused: |
|
|
|
// _handleAppPaused(); |
|
|
|
print('_handleAppPaused'); |
|
|
|
break; |
|
|
|
case AppLifecycleState.inactive: |
|
|
|
// _handleAppInactive(); |
|
|
|
print('_handleAppInactive'); |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@override |
|
|
|
void onClose() { |
|
|
|
super.onClose(); |
|
|
|
WidgetsBinding.instance.removeObserver(this); |
|
|
|
// 移除消息监听 |
|
|
|
_messageService.unregisterMessageListener(); |
|
|
|
} |
|
|
|
@ -418,13 +445,15 @@ class RoomController extends GetxController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void registerMatch(){ |
|
|
|
void registerMatch() async { |
|
|
|
if(GlobalData().userData!.identityCard != null && GlobalData().userData!.identityCard!.isNotEmpty){ |
|
|
|
Get.to(() => MatchLeaguePage()); |
|
|
|
await Get.to(() => MatchSpreadPage()); |
|
|
|
} else { |
|
|
|
SmartDialog.showToast('请先进行实名认证'); |
|
|
|
Get.to(() => RealNamePage(type: 1)); |
|
|
|
await Get.to(() => RealNamePage(type: 1)); |
|
|
|
} |
|
|
|
print(455); |
|
|
|
matchmakerFlag.value = GlobalData().userData!.matchmakerFlag!; |
|
|
|
} |
|
|
|
|
|
|
|
} |