import 'dart:async'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart'; import '../../../app_settings/app_settings.dart'; import '../../../blue/blue_manage.dart'; import '../../../network/api_repository.dart'; import '../../../talk/udp/udp_help.dart'; import '../../../tools/baseGetXController.dart'; import '../../../tools/storage.dart'; import '../entity/lockListInfo_entity.dart'; import 'lockMain_state.dart'; class LockMainLogic extends BaseGetXController { final LockMainState state = LockMainState(); Future getStarLockInfo( {bool isUnShowLoading = false}) async { LockListInfoEntity entity = await ApiRepository.to.getStarLockListInfo( pageNo: pageNo, pageSize: 50, isUnShowLoading: isUnShowLoading, ); if (entity.errorCode!.codeIsSuccessful) { loadMainDataLogic(entity.data!); Storage.saveMainListData(entity.data!); // return entity.data!; } // else { // // showToast("数据请求失败"); // // state.dataLength.value = 0; // LockListInfoGroupEntity? lockListInfoGroupEntity = await Storage.getLockMainListData(); // loadMainDataLogic(lockListInfoGroupEntity!); // } return entity; } void loadMainDataLogic(LockListInfoGroupEntity entity) { if (entity.groupList!.isEmpty) { state.dataLength.value = 0; } else if (entity.groupList!.length == 1) { final GroupList groupList = entity.groupList![0]; if (groupList.lockList!.length > 1) { state.dataLength.value = 2; } else { state.dataLength.value = 1; } } else { state.dataLength.value = 2; } state.lockListInfoGroupEntity.value = entity; //检测控制器是否存在 if (Get.isRegistered()) { //设置控制器数据并刷新 Get.find().setLockListInfoGroupEntity(entity); } } /// 获取联网类型 void getConnectType() async { var connectResult = await (Connectivity().checkConnectivity()); if (connectResult == ConnectivityResult.mobile) { // _netType = "4G"; state.networkConnectionStatus.value = 1; AppLog.log("网络连接: 4G 4G 4G 4G 4G"); } else if (connectResult == ConnectivityResult.wifi) { // _netType = "wifi"; state.networkConnectionStatus.value = 1; AppLog.log("网络连接: wifi wifi wifi wifi wifi"); } else { // _netType = "未连接"; state.networkConnectionStatus.value = 0; AppLog.log("网络连接: 未连接 未连接 未连接 未连接 未连接"); // showToast("网络访问失败,请检查网络是否正常"); } } /// 判断网络是否连接 Future isConnected() async { var connectResult = await (Connectivity().checkConnectivity()); return connectResult != ConnectivityResult.none; } /// 设置网络切换监听 connectListener() async { Connectivity().onConnectivityChanged.listen((ConnectivityResult result) { AppLog.log("设置网络切换监听:$result"); if (state.networkConnectionStatus.value == 0 && result != ConnectivityResult.none) { // 从无网络到有网络 state.networkConnectionStatus.value = 1; getStarLockInfo(); } }); } @override void onReady() { // TODO: implement onReady super.onReady(); // 开启UDP UdpHelp().openUDP(); BlueManage(); } @override void onInit() { // TODO: implement onInit super.onInit(); // getLockInfo(); // 设置网络变化监听 // connectListener(); // 获取网络连接状态 // getConnectType(); } @override void onClose() { // TODO: implement onClose super.onClose(); // refreshController.dispose(); // _teamEvent.cancel(); // state.timer.cancel(); } }