fix:完善猫眼设置
This commit is contained in:
parent
86854e8f3f
commit
681b96a478
@ -783,18 +783,6 @@ class LockDetailLogic extends BaseGetXController {
|
||||
await PermissionDialog.request(Permission.location);
|
||||
await PermissionDialog.requestBluetooth();
|
||||
_requestDeviceNetworkInfo();
|
||||
eventBus
|
||||
.on<PassCurrentLockInformationEvent>()
|
||||
.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<PassCurrentLockInformationEvent>()
|
||||
.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();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -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();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -25,6 +25,34 @@ class CatEyeSetLogic extends BaseGetXController {
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
_initReplySubscription();
|
||||
|
||||
eventBus
|
||||
.on<PassCurrentLockInformationEvent>()
|
||||
.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();
|
||||
}
|
||||
|
||||
@ -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';
|
||||
|
||||
|
||||
@ -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')}";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user