import 'dart:async'; import 'package:connectivity_plus/connectivity_plus.dart'; import '../../../network/api_repository.dart'; import '../../../talk/udp/udp_help.dart'; import '../../../tools/baseGetXController.dart'; import '../../../tools/eventBusEventManage.dart'; import '../entity/lockListInfo_entity.dart'; import 'lockMain_state.dart'; class LockMainLogic extends BaseGetXController { final LockMainState state = LockMainState(); Future getStarLockInfo() async{ LockListInfoEntity entity = await ApiRepository.to.getStarLockListInfo( pageNo:pageNo, pageSize:50, ); if(entity.errorCode!.codeIsSuccessful){ if(entity.data!.groupList!.isEmpty){ state.dataLength.value = 0; }else if(entity.data!.groupList!.length == 1){ GroupList groupList = entity.data!.groupList![0]; if(groupList.lockList!.length > 1){ state.dataLength.value = 2; }else{ state.dataLength.value = 1; } }else{ state.dataLength.value = 2; } state.lockListInfoEntity.value = entity; // return entity.data!; }else{ print("首页锁列表请求失败"); state.dataLength.value = 0; } return entity; } late StreamSubscription _teamEvent; void _initLoadDataAction() { _teamEvent = eventBus.on().listen((event) { // getLockInfo(); getStarLockInfo(); print("收到消息"); }); } /// 获取联网类型 void getConnectType() async { var connectResult = await (Connectivity().checkConnectivity()); if (connectResult == ConnectivityResult.mobile) { // _netType = "4G"; state.networkConnectionStatus.value = 1; // print("4G 4G 4G 4G 4G"); } else if (connectResult == ConnectivityResult.wifi) { // _netType = "wifi"; state.networkConnectionStatus.value = 1; // print("wifi wifi wifi wifi wifi"); } else { // _netType = "未连接"; state.networkConnectionStatus.value = 0; // print("未连接 未连接 未连接 未连接 未连接"); } } /// 判断网络是否连接 Future isConnected() async { var connectResult = await (Connectivity().checkConnectivity()); return connectResult != ConnectivityResult.none; } /// 设置网络切换监听 connectListener() async { Connectivity().onConnectivityChanged.listen((ConnectivityResult result) { print("设置网络切换监听:$result"); if(state.networkConnectionStatus.value == 0 && result != ConnectivityResult.none){ // 从无网络到有网络 state.networkConnectionStatus.value = 1; getStarLockInfo(); } }); } @override void onReady() { // TODO: implement onReady super.onReady(); print("onReady()"); _initLoadDataAction(); // 开启UDP UdpHelp().openUDP(); } @override void onInit() { // TODO: implement onInit super.onInit(); print("onInit()"); // getLockInfo(); // 设置网络变化监听 connectListener(); // 获取网络连接状态 getConnectType(); } @override void onClose() { // TODO: implement onClose super.onClose(); // refreshController.dispose(); _teamEvent.cancel(); // state.timer.cancel(); } }