From 681b96a478b7e91e9ca666bccb012890a3fdddbb Mon Sep 17 00:00:00 2001 From: liyi Date: Thu, 27 Feb 2025 18:51:10 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=AE=8C=E5=96=84=E7=8C=AB?= =?UTF-8?q?=E7=9C=BC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lockDetail/lockDetail_logic.dart | 37 +++++-- .../catEyeCustomMode_logic.dart | 8 ++ .../catEyeSet/catEyeSet/catEyeSet_logic.dart | 104 +++++++++++++++++- .../catEyeWorkMode/catEyeWorkMode_logic.dart | 1 + .../catEyeSet/videoSlot/videoSlot_logic.dart | 10 +- 5 files changed, 138 insertions(+), 22 deletions(-) diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 8041160a..d9380e9a 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -783,18 +783,6 @@ class LockDetailLogic extends BaseGetXController { await PermissionDialog.request(Permission.location); await PermissionDialog.requestBluetooth(); _requestDeviceNetworkInfo(); - eventBus - .on() - .listen((PassCurrentLockInformationEvent event) { - if (event.lockSetInfoData.lockSettingInfo != null && - event.lockSetInfoData.lockSettingInfo!.catEyeConfig != null && - event.lockSetInfoData.lockSettingInfo!.catEyeConfig!.length > 0) { - state.keyInfos.value.lockSetting!.catEyeConfig![0].catEyeMode = event - .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode ?? - 1; - state.keyInfos.refresh(); - } - }); } @override @@ -820,5 +808,30 @@ class LockDetailLogic extends BaseGetXController { state.keyInfos.refresh(); } }); + + eventBus + .on() + .listen((PassCurrentLockInformationEvent event) { + if (event.lockSetInfoData.lockSettingInfo != null && + event.lockSetInfoData.lockSettingInfo!.catEyeConfig != null && + event.lockSetInfoData.lockSettingInfo!.catEyeConfig!.length > 0) { + if (state.keyInfos.value.lockSetting!.catEyeConfig == null || + state.keyInfos.value.lockSetting!.catEyeConfig!.length == 0) { + state.keyInfos.value.lockSetting!.catEyeConfig!.add(CatEyeConfig( + catEyeMode: 0, + catEyeModeConfig: CatEyeModeConfig( + realTimeMode: 0, + recordEndTime: 0, + recordMode: 0, + recordStartTime: 0, + recordTime: 0, + detectionDistance: 0))); + } + state.keyInfos.value.lockSetting!.catEyeConfig![0].catEyeMode = event + .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode ?? + 1; + state.keyInfos.refresh(); + } + }); } } diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart index 033f0316..afe71827 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart @@ -91,7 +91,15 @@ class CatEyeCustomModeLogic extends BaseGetXController { 0 ? '发生事件时查看'.tr : '实时查看'.tr; + if (event.lockSetInfoData.lockSettingInfo!.catEyeConfig![0] + .catEyeModeConfig!.recordMode == + 0) { + state.selectVideoSlot.value = '自定义时段'.tr; + } else { + state.selectVideoSlot.value = '全天'.tr; + } state.realTimeMode.refresh(); + } }); } diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart index de85502c..6fbf5e19 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart @@ -25,6 +25,34 @@ class CatEyeSetLogic extends BaseGetXController { void onInit() { super.onInit(); _initReplySubscription(); + + eventBus + .on() + .listen((PassCurrentLockInformationEvent event) { + state.selectCatEyeWorkMode.value = ''; //猫眼工作模式 + if (event.lockSetInfoData.lockSettingInfo != null && + event.lockSetInfoData.lockSettingInfo!.catEyeConfig != null && + event.lockSetInfoData.lockSettingInfo!.catEyeConfig!.length > 0) { + if (event + .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode == + XSConstantMacro.catEyeWorkModePowerSaving) { + state.selectCatEyeWorkMode.value = '省电模式'.tr; + } else if (event + .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode == + XSConstantMacro.catEyeWorkModeStayCapture) { + state.selectCatEyeWorkMode.value = '逗留抓拍模式'.tr; + } else if (event + .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode == + XSConstantMacro.catEyeWorkModeRealTimeMonitoring) { + state.selectCatEyeWorkMode.value = '实时监控模式'.tr; + } else if (event + .lockSetInfoData.lockSettingInfo!.catEyeConfig![0].catEyeMode == + XSConstantMacro.catEyeWorkModeCustom) { + state.selectCatEyeWorkMode.value = '自定义模式'.tr; + } + } + state.updateCatEyeSetByState(); + }); } // 获取解析后的数据 @@ -83,13 +111,13 @@ class CatEyeSetLogic extends BaseGetXController { default: break; } - getLockSettingInfoData(); break; - case 0x06: //无权限 + showToast('无权限'); break; default: + showToast('修改失败'); break; } } @@ -102,10 +130,9 @@ class CatEyeSetLogic extends BaseGetXController { ); if (entity.errorCode!.codeIsSuccessful) { state.lockSetInfoData.value = entity.data!; - eventBus .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); - //异常警告 + state.selectCatEyeWorkMode.value = ''; //猫眼工作模式 if (state.lockSetInfoData.value.lockSettingInfo != null && state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig != null && @@ -130,7 +157,6 @@ class CatEyeSetLogic extends BaseGetXController { } } state.updateCatEyeSetByState(); - } } @@ -145,6 +171,10 @@ class CatEyeSetLogic extends BaseGetXController { showToast(state.settingSuccess); state.catEyeConfig.value.autoLightScreen = state.isAutoBright.value == true ? 1 : 0; + state.lockSetInfoData.value.lockSettingInfo!.autoLightScreen = + state.isAutoBright.value == true ? 1 : 0; + eventBus + .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); state.catEyeConfig.refresh(); } } @@ -161,6 +191,10 @@ class CatEyeSetLogic extends BaseGetXController { showToast(state.settingSuccess); state.catEyeConfig.value.autoLightScreenTime = int.parse(state.selectBrightDuration.value.replaceAll('秒'.tr, '')); + state.lockSetInfoData.value.lockSettingInfo!.autoLightScreenTime = + int.parse(state.selectBrightDuration.value.replaceAll('秒'.tr, '')); + eventBus + .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); state.catEyeConfig.refresh(); } } @@ -176,6 +210,10 @@ class CatEyeSetLogic extends BaseGetXController { showToast(state.settingSuccess); state.catEyeConfig.value.stayWarn = state.isStayWarning.value == true ? 1 : 0; + state.lockSetInfoData.value.lockSettingInfo!.stayWarn = + state.isStayWarning.value == true ? 1 : 0; + eventBus + .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); state.catEyeConfig.refresh(); } } @@ -200,7 +238,57 @@ class CatEyeSetLogic extends BaseGetXController { ], ); if (entity.errorCode!.codeIsSuccessful) { - showToast('设置成功'.tr); + if (state.lockSetInfoData.value.lockSettingInfo != null && + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig != null && + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig!.length == + 0) { + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig!.add( + CatEyeConfig( + catEyeMode: 0, + catEyeModeConfig: CatEyeModeConfig( + realTimeMode: 0, + recordEndTime: 0, + recordMode: 0, + recordStartTime: 0, + recordTime: 0, + detectionDistance: 0))); + } + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode = + state.catEyeConfig.value.catEyeMode; + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0] + .catEyeModeConfig?.recordMode = state.catEyeConfig.value.recordMode; + state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig + ?.recordStartTime = state.catEyeConfig.value.recordStartTime; + state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig + ?.recordEndTime = state.catEyeConfig.value.recordEndTime; + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0] + .catEyeModeConfig?.recordTime = state.catEyeConfig.value.recordTime; + state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig + ?.detectionDistance = state.catEyeConfig.value.detectionDistance; + state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig + ?.realTimeMode = state.catEyeConfig.value.realTimeMode; + eventBus + .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); } } @@ -215,6 +303,10 @@ class CatEyeSetLogic extends BaseGetXController { showToast(state.settingSuccess); state.catEyeConfig.value.abnormalWarn = state.isExceptionWarning.value == true ? 1 : 0; + state.lockSetInfoData.value.lockSettingInfo!.abnormalWarn = + state.isExceptionWarning.value == true ? 1 : 0; + eventBus + .fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); state.catEyeConfig.refresh(); // await getLockSettingInfoData(); } diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart index 6da43563..3cb0fb80 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart @@ -17,6 +17,7 @@ import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dar import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/talk/starChart/star_chart_manage.dart'; import 'package:star_lock/tools/baseGetXController.dart'; +import 'package:star_lock/tools/eventBusEventManage.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/versionUndate/versionUndate_entity.dart'; diff --git a/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart index efe43610..9eee56b6 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart @@ -11,6 +11,7 @@ import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/talk/starChart/star_chart_manage.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/dateTool.dart'; +import 'package:star_lock/tools/eventBusEventManage.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/versionUndate/versionUndate_entity.dart'; @@ -73,14 +74,15 @@ class VideoSlotLogic extends BaseGetXController { @override void onInit() { - // TODO: implement onInit super.onInit(); state.isCustom.value = catEyeSetState.catEyeConfig.value.recordMode == 0; state.startDate.value = _handleMinutesToTime( catEyeSetState.catEyeConfig.value.recordStartTime!); - state.endDate.value = _handleMinutesToTime( - catEyeSetState.catEyeConfig.value.recordEndTime!); + state.endDate.value = + _handleMinutesToTime(catEyeSetState.catEyeConfig.value.recordEndTime!); + } + String _handleMinutesToTime(int minutes) { if (minutes < 0) { throw ArgumentError("分钟数不能为负值"); @@ -88,7 +90,7 @@ class VideoSlotLogic extends BaseGetXController { // 计算小时和分钟 int hours = minutes ~/ 60; // 整除 60 得到小时数 - int mins = minutes % 60; // 取模得到分钟数 + int mins = minutes % 60; // 取模得到分钟数 // 格式化为 HH:mm 字符串 return "${hours.toString().padLeft(2, '0')}:${mins.toString().padLeft(2, '0')}";