102 lines
3.2 KiB
Dart
Executable File
102 lines
3.2 KiB
Dart
Executable File
import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_entity.dart';
|
|
import 'package:star_lock/network/api_repository.dart';
|
|
import 'package:star_lock/tools/baseGetXController.dart';
|
|
import 'msgNotification_state.dart';
|
|
|
|
class MsgNotificationLogic extends BaseGetXController {
|
|
final MsgNotificationState state = MsgNotificationState();
|
|
|
|
// 获取锁消息设置
|
|
Future<void> getLockNoticeSetting() async {
|
|
final MsgNotificationEntity entity = await ApiRepository.to.getLockNoticeSetting(
|
|
lockId: state.getLockId.value,
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
state.msgNoticeInfo.value = entity.data!;
|
|
state.nDaysNotOpenDoor.value = entity.data!.dayNotOpenDoorState! == 0
|
|
? state.notifyDisable
|
|
: state.notifyEnable;
|
|
|
|
//N天未开门
|
|
if (entity.data!.doorNotCloseState! == 0) {
|
|
state.isDoorNotShut.value = false;
|
|
} else {
|
|
state.isDoorNotShut.value = true;
|
|
}
|
|
|
|
//门未关好
|
|
if (entity.data!.tamperAlarmState! == 0) {
|
|
state.isTamperAlarm.value = false;
|
|
} else {
|
|
state.isTamperAlarm.value = true;
|
|
}
|
|
|
|
//防拆报警
|
|
state.isLowBattery.value = entity.data!.lowElecNoticeState! == 0
|
|
? state.notifyDisable
|
|
: state.notifyEnable; //低电量提醒
|
|
|
|
if (entity.data!.doorbellNoticeState! == 0) {
|
|
state.isSomeoneRing.value = false;
|
|
} else {
|
|
state.isSomeoneRing.value = true;
|
|
}
|
|
|
|
//有人按门铃
|
|
if (entity.data!.someoneAtDoorNoticeState! == 0) {
|
|
state.isSomeoneAppeared.value = false;
|
|
} else {
|
|
state.isSomeoneAppeared.value = true;
|
|
} //有人出现在门口
|
|
}
|
|
}
|
|
|
|
//设置门未关好
|
|
Future<void> updateDoorNotCloseSetting() async {
|
|
final MsgNotificationEntity entity =
|
|
await ApiRepository.to.updateDoorNotCloseSetting(
|
|
lockId: state.getLockId.value,
|
|
doorNotCloseState: state.isDoorNotShut.value ? 1 : 0,
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
showToast(state.settingSuccess);
|
|
}
|
|
}
|
|
|
|
//有人按门铃
|
|
Future<void> updateDoorbellNoticeStateSetting() async {
|
|
final MsgNotificationEntity entity =
|
|
await ApiRepository.to.updateDoorbellNoticeStateSetting(
|
|
lockId: state.getLockId.value,
|
|
doorbellNoticeState: state.isSomeoneRing.value ? 1 : 0,
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
showToast(state.settingSuccess);
|
|
}
|
|
}
|
|
|
|
//有人出现在门口
|
|
Future<void> updateSomeoneAtDoorNoticeStateSetting() async {
|
|
final MsgNotificationEntity entity =
|
|
await ApiRepository.to.updateSomeoneAtDoorNoticeStateSetting(
|
|
lockId: state.getLockId.value,
|
|
someoneAtDoorNoticeState: state.isSomeoneAppeared.value ? 1 : 0,
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
showToast(state.settingSuccess);
|
|
}
|
|
}
|
|
|
|
//设置防拆报警通知
|
|
Future<void> updateTamperAlarmStateSetting() async {
|
|
final MsgNotificationEntity entity =
|
|
await ApiRepository.to.updateTamperAlarmStateSetting(
|
|
lockId: state.getLockId.value,
|
|
tamperAlarmState: state.isTamperAlarm.value ? 1 : 0,
|
|
);
|
|
if (entity.errorCode!.codeIsSuccessful) {
|
|
showToast(state.settingSuccess);
|
|
}
|
|
}
|
|
}
|