import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_state.dart'; import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/tools/baseGetXController.dart'; class CatEyeCustomModeLogic extends BaseGetXController { final CatEyeCustomModeState state = CatEyeCustomModeState(); // 获取锁设置信息 Future getLockSettingInfoData() async { final LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData( lockId: state.lockSetInfoData.value.lockId.toString(), ); if (entity.errorCode!.codeIsSuccessful) { state.lockSetInfoData.value = entity.data!; if (entity.data!.lockSettingInfo!.catEyeConfig!.isNotEmpty) { state.catEyeConfigData.value = entity.data!.lockSettingInfo!.catEyeConfig![0]; if (state.catEyeConfigData.value.catEyeModeConfig != null) { if (state.catEyeConfigData.value.catEyeModeConfig!.recordMode == 1) { state.selectVideoSlot.value = '自定义时段'.tr; } else { state.selectVideoSlot.value = '全天'.tr; } state.recordTime.value = state.catEyeConfigData.value.catEyeModeConfig!.recordTime ?? ''; state.detectionDistance.value = state .catEyeConfigData.value.catEyeModeConfig!.detectionDistance ?? ''; state.realTimeMode.value = state.catEyeConfigData.value.catEyeModeConfig!.realTimeMode == 0 ? '发生事件时查看'.tr : '实时查看'.tr; } } } return entity; } //设置猫眼工作模式 0-有人出现时录像 1-人体侦测距离 void updateCatEyeModeConfig(int clickIndex) async { var entity = await ApiRepository.to.updateCatEyeModeConfig( lockId: state.lockSetInfoData.value.lockId!, catEyeConfig: [ { 'catEyeMode': 4, 'catEyeModeConfig': { 'recordMode': state.catEyeConfigData.value.catEyeModeConfig!.recordMode, 'recordStartTime': state.catEyeConfigData.value.catEyeModeConfig!.recordStartTime, 'recordEndTime': state.catEyeConfigData.value.catEyeModeConfig!.recordEndTime, 'recordTime': clickIndex == 0 ? state.recordTime.value : state.catEyeConfigData.value.catEyeModeConfig!.recordTime, 'detectionDistance': clickIndex == 1 ? state.detectionDistance.value : state .catEyeConfigData.value.catEyeModeConfig!.detectionDistance, 'realTimeMode': state.catEyeConfigData.value.catEyeModeConfig!.realTimeMode, } } ], ); if (entity.errorCode!.codeIsSuccessful) { showToast('设置成功'.tr); } } }