diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart index e4dc25a9..fc79f79e 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart @@ -146,13 +146,48 @@ class CatEyeSetLogic extends BaseGetXController { _getConfigAndGenerateBleData() async { // 假设 state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode 是一个整数 - int originalCatEyeMode = state - .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!; - int recordMode = state.lockSetInfoData.value.lockSettingInfo! - .catEyeConfig![0].catEyeModeConfig!.recordMode == - 0 - ? 1 - : 0; + + int originalCatEyeMode = 0; + int recordMode = 0; + int recordStartTime = 0; + int recordEndTime = 0; + int recordTime = 0; + int detectionDistance = 0; + int realTimeMode = 0; + if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig != null && + state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig!.length > 0) { + originalCatEyeMode = state + .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!; + recordMode = state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0] + .catEyeModeConfig!.recordMode == + 0 + ? 1 + : 0; + recordStartTime = _handleTimeToM(state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig! + .recordStartTime!); + recordEndTime = _handleTimeToM(state.lockSetInfoData.value + .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordEndTime!); + recordTime = _handleGetIntNumber(state.lockSetInfoData.value + .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!); + if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]! + .catEyeModeConfig!.detectionDistance != + null) { + detectionDistance = _handleDetectionDistance(state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig! + .detectionDistance!); + } + realTimeMode = state.lockSetInfoData.value.lockSettingInfo! + .catEyeConfig![0].catEyeModeConfig!.realTimeMode!; + } int stayWarn = state.lockSetInfoData.value.lockSettingInfo!.stayWarn!; int abnormalWarn = @@ -160,30 +195,6 @@ class CatEyeSetLogic extends BaseGetXController { int autoLightScreen = state.lockSetInfoData.value.lockSettingInfo!.autoLightScreen!; - int recordStartTime = _handleTimeToM(state.lockSetInfoData.value - .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordStartTime!); - int recordEndTime = _handleTimeToM(state.lockSetInfoData.value - .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordEndTime!); - - int recordTime = _handleGetIntNumber(state.lockSetInfoData.value - .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!); - - int detectionDistance = 0; - if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]! - .catEyeModeConfig!.detectionDistance != - null) { - detectionDistance = _handleDetectionDistance(state - .lockSetInfoData - .value - .lockSettingInfo! - .catEyeConfig![0] - .catEyeModeConfig! - .detectionDistance!); - } - - int realTimeMode = state.lockSetInfoData.value.lockSettingInfo! - .catEyeConfig![0].catEyeModeConfig!.realTimeMode!; - // 根据需要调整 catEyeMode 的值 int adjustedCatEyeMode = originalCatEyeMode > 0 ? originalCatEyeMode - 1 : originalCatEyeMode;