84 lines
3.1 KiB
Dart
Executable File

import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_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';
import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/versionUndate/versionUndate_entity.dart';
class VideoSlotLogic extends BaseGetXController {
final VideoSlotState state = VideoSlotState();
// 获取锁设置信息
Future<LockSetInfoEntity> 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.isCustom.value = true;
} else {
state.isCustom.value = false;
}
state.startDate.value = DateTool().dateToHNString(state
.catEyeConfigData.value.catEyeModeConfig!.recordStartTime!
.toString());
state.endDate.value = DateTool().dateToHNString(state
.catEyeConfigData.value.catEyeModeConfig!.recordEndTime!
.toString());
}
}
}
return entity;
}
//设置猫眼工作模式
Future<void> updateCatEyeModeConfig() async {
state.isCustom.value == false
? state.recordMode.value = 0
: state.recordMode.value = 1;
if (state.recordMode.value == 1) {
state.recordStartTime.value =
DateTool().dateToTimestamp(state.startDate.value, 0);
// 将当前时间加一天
final DateTime tomorrow =
DateTime(DateTool().dateToTimestamp(state.startDate.value, 0))
.add(const Duration(days: 1));
// 获取明天时间的时间戳
state.recordEndTime.value = tomorrow.millisecondsSinceEpoch;
}
final VersionUndateEntity entity = await ApiRepository.to.updateCatEyeModeConfig(
lockId: state.lockSetInfoData.value.lockId!,
catEyeConfig: [
{
'catEyeMode': 4,
'catEyeModeConfig': {
'recordMode': state.recordMode.value,
'recordStartTime': state.recordStartTime.value,
'recordEndTime': state.recordEndTime.value,
'recordTime':
state.catEyeConfigData.value.catEyeModeConfig!.recordTime,
'detectionDistance': state
.catEyeConfigData.value.catEyeModeConfig!.detectionDistance,
'realTimeMode':
state.catEyeConfigData.value.catEyeModeConfig!.realTimeMode,
}
}
],
);
if (entity.errorCode!.codeIsSuccessful) {
showToast('设置成功'.tr);
Get.back();
}
}
}