猫眼设置自定义模式获取设置项接口对接

解决点击自定义模式设置项不能弹出相应选项问题
猫眼自定义模式--实时画面接口对接
猫眼自定义模式--有人出现时录像接口对接
猫眼自定义模式--人体侦测距离接口对接
This commit is contained in:
Daisy 2024-04-06 17:00:36 +08:00
parent c57426cbcc
commit bc781eba98
14 changed files with 425 additions and 116 deletions

View File

@ -1,6 +1,64 @@
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<LockSetInfoEntity> getLockSettingInfoData() async {
LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData(
lockId: state.lockSetInfoData.value.lockId.toString(),
);
if (entity.errorCode!.codeIsSuccessful) {
state.lockSetInfoData.value = entity.data!;
state.catEyeConfigData.value =
entity.data!.lockSettingInfo!.catEyeConfig![0];
if (state.catEyeConfigData.value.catEyeModeConfig != null) {
if (state.catEyeConfigData.value.catEyeModeConfig!.recordMode == 1) {
state.selectVideoSlot.value = '自定义时段';
} else {
state.selectVideoSlot.value = '全天';
}
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
? '发生事件时查看'
: '实时查看';
}
}
return entity;
}
//
void updateCatEyeModeConfig() 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': state.recordTime.value,
'detectionDistance': state.detectionDistance.value,
'realTimeMode': state.realTimeMode.value,
}
}
],
);
if (entity.errorCode!.codeIsSuccessful) {
showToast('设置成功');
}
}
}

View File

@ -1,4 +1,3 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -21,6 +20,12 @@ class _CatEyeCustomModePageState extends State<CatEyeCustomModePage> {
final logic = Get.put(CatEyeCustomModeLogic());
final state = Get.find<CatEyeCustomModeLogic>().state;
@override
initState() {
super.initState();
logic.getLockSettingInfoData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -28,45 +33,65 @@ class _CatEyeCustomModePageState extends State<CatEyeCustomModePage> {
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.customMode!.tr,
haveBack: true,
backAction: () {
Navigator.pop(context, true);
},
backgroundColor: AppColors.mainColor),
body: Column(
children: [
CommonItem(
leftTitel: TranslationLoader.lanKeys!.videoSlot!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
isHaveRightWidget: true,
rightWidget: Text('当日22:00~次日08:00',
style: TextStyle(
fontSize: 22.sp, color: AppColors.darkGrayTextColor)),
action: () => Get.toNamed(Routers.videoSlotPage),
),
_buildSubTitleItem('有人出现时录像', '有人在门口出现10秒后开始录像。\n有人按门铃时立即录像',
state.showsUpVideo.value, () {
_openBottomItemSheet(state.showsUpVideoList.value, 0);
}),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.videoSlot!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
isHaveRightWidget: true,
rightWidget: Text(state.selectVideoSlot.value,
style: TextStyle(
fontSize: 22.sp, color: AppColors.darkGrayTextColor)),
action: () {
Navigator.pushNamed(context, Routers.videoSlotPage,
arguments: {
'lockSetInfoData': state.lockSetInfoData.value,
'catEyeConfigData': state.lockSetInfoData.value
.lockSettingInfo!.catEyeConfig!.isNotEmpty
? state.lockSetInfoData.value.lockSettingInfo!
.catEyeConfig![0]
: null
}).then((value) => {logic.getLockSettingInfoData()});
},
)),
Obx(() => _buildSubTitleItem('有人出现时录像',
'有人在门口出现10秒后开始录像。\n有人按门铃时立即录像', state.recordTime.value, () {
_openBottomItemSheet(state.showsUpVideoList.value, 0);
})),
SizedBox(
height: 30.h,
),
Obx(() => _buildSubTitleItem(
'人体侦测距离', '有人出现在门前1.5米范围时启动录像', state.detectionRange.value,
() {
Obx(() => _buildSubTitleItem('人体侦测距离', '有人出现在门前1.5米范围时启动录像',
state.detectionDistance.value, () {
_openBottomItemSheet(state.detectionRangeList.value, 1);
})),
SizedBox(
height: 30.h,
),
CommonItem(
leftTitel: '实时画面',
rightTitle: "全天",
isHaveLine: false,
isHaveDirection: true,
isHaveRightWidget: false,
action: () {
Get.toNamed(Routers.liveVideoPage);
},
)
Obx(() => CommonItem(
leftTitel: '实时画面',
rightTitle: state.realTimeMode.value,
isHaveLine: false,
isHaveDirection: true,
isHaveRightWidget: false,
action: () {
Navigator.pushNamed(context, Routers.liveVideoPage,
arguments: {
'lockSetInfoData': state.lockSetInfoData.value,
'catEyeConfigData': state.lockSetInfoData.value
.lockSettingInfo!.catEyeConfig!.isNotEmpty
? state.lockSetInfoData.value.lockSettingInfo!
.catEyeConfig![0]
: null
}).then((value) => {logic.getLockSettingInfoData()});
},
))
],
));
}
@ -76,6 +101,7 @@ class _CatEyeCustomModePageState extends State<CatEyeCustomModePage> {
return GestureDetector(
onTap: action,
child: Container(
color: Colors.white,
margin: EdgeInsets.only(left: 20.sp, right: 20.sp, top: 20.h),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
@ -143,15 +169,14 @@ class _CatEyeCustomModePageState extends State<CatEyeCustomModePage> {
items: bottomItemList,
chooseCallback: (value) {
if (clickIndex == 0) {
//
state.showsUpVideo.value = state.showsUpVideoList.value[value];
//
state.recordTime.value = state.showsUpVideoList.value[value];
} else if (clickIndex == 1) {
//
state.detectionRange.value =
state.detectionDistance.value =
state.detectionRangeList.value[value];
}
setState(() {});
logic.updateCatEyeModeConfig();
},
);
});

View File

@ -1,17 +1,16 @@
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart';
import 'package:star_lock/translations/trans_lib.dart';
class CatEyeCustomModeState {
var isCheck = false.obs;
var faceOn = false.obs; //
var autoBright = false.obs; //
var showsUpVideo = '10${TranslationLoader.lanKeys!.second!.tr}'.obs; //
var detectionRange = '约1.5米'.obs; //
// var showsUpVideo = '10${TranslationLoader.lanKeys!.second!.tr}'.obs; //
// var detectionRange = '约1.5米'.obs; //
var showsUpVideoList = [
'不录像',
'立即录像',
@ -37,4 +36,23 @@ class CatEyeCustomModeState {
text: TranslationLoader.lanKeys!.addAndUseFaceWhenUnlockingTip!.tr,
style: subTipsStyle),
]);
var lockSetInfoData = LockSetInfoData().obs;
var catEyeConfigData = CatEyeConfig().obs;
var selectVideoSlot = ''.obs; // 0 1
var recordTime = ''.obs; //
var detectionDistance = ''.obs; //
var realTimeMode = ''.obs; // 0 1
CatEyeCustomModeState() {
Map map = Get.arguments;
if (map["lockSetInfoData"] != null) {
lockSetInfoData.value = map["lockSetInfoData"];
}
if (map['catEyeConfigData'] != null) {
catEyeConfigData.value = map['catEyeConfigData'];
}
}
}

View File

@ -48,7 +48,7 @@ class _CatEyeSetPageState extends State<CatEyeSetPage> {
Navigator.pushNamed(context, Routers.catEyeWorkModePage,
arguments: {
'lockSetInfoData': state.lockSetInfoData.value,
'catEyeConfigata': state.lockSetInfoData.value
'catEyeConfigData': state.lockSetInfoData.value
.lockSettingInfo!.catEyeConfig!.isNotEmpty
? state.lockSetInfoData.value.lockSettingInfo!
.catEyeConfig![0]

View File

@ -1,4 +1,6 @@
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_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';
@ -27,4 +29,32 @@ class CatEyeWorkModeLogic extends BaseGetXController {
showToast('设置成功');
}
}
//
Future<LockSetInfoEntity> getLockSettingInfoData() async {
LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData(
lockId: state.lockSetInfoData.value.lockId.toString(),
);
if (entity.errorCode!.codeIsSuccessful) {
state.lockSetInfoData.value = entity.data!;
state.selectCatEyeWorkMode.value =
state.catEyeConfigData.value.catEyeMode!;
if (state.catEyeConfigData.value.catEyeMode ==
XSConstantMacro.catEyeWorkModePowerSaving) {
state.boolList.value[0] = true;
} else if (state.catEyeConfigData.value.catEyeMode ==
XSConstantMacro.catEyeWorkModeStayCapture) {
state.boolList.value[1] = true;
} else if (state.catEyeConfigData.value.catEyeMode ==
XSConstantMacro.catEyeWorkModeRealTimeMonitoring) {
state.boolList.value[2] = true;
} else if (state.catEyeConfigData.value.catEyeMode ==
XSConstantMacro.catEyeWorkModeCustom) {
state.boolList.value[3] = true;
}
}
return entity;
}
}

View File

@ -19,6 +19,12 @@ class _CatEyeWorkModePageState extends State<CatEyeWorkModePage> {
final logic = Get.put(CatEyeWorkModeLogic());
final state = Get.find<CatEyeWorkModeLogic>().state;
@override
initState() {
super.initState();
logic.getLockSettingInfoData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -60,72 +66,75 @@ class _CatEyeWorkModePageState extends State<CatEyeWorkModePage> {
Widget _buildTipsView(String titleStr, String subTitle, int clickIndex) {
return GestureDetector(
child: Container(
width: ScreenUtil().screenWidth - 40.w,
margin: EdgeInsets.only(left: 20.w, right: 20.w, bottom: 10.h),
decoration: BoxDecoration(
color: state.boolList.value[clickIndex]
? AppColors.blueViewBgColor
: AppColors.greyBackgroundColor,
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
padding: EdgeInsets.only(
left: 20.w, top: 30.h, bottom: 30.h, right: 20.w),
child: Row(
children: [
state.boolList.value[clickIndex]
? Image.asset(
'images/mine/icon_mine_blueSelect.png',
width: 20.w,
height: 14.w,
)
: SizedBox(
width: 20.w,
height: 14.w,
),
SizedBox(width: 10.w),
Expanded(
child: _buildRichText(
titleStr, subTitle, state.boolList.value[clickIndex]),
),
SizedBox(
width: 10.w,
),
GestureDetector(
child: Container(
width: 90.w,
height: 40.h,
decoration: BoxDecoration(
color: Colors.transparent,
borderRadius: BorderRadius.circular(15.0),
border: Border.all(
color: AppColors.placeholderTextColor, width: 1.w),
),
child: Center(
child: Text(
clickIndex == 3 ? '设置' : '查看',
style: TextStyle(
color: AppColors.placeholderTextColor,
fontSize: 20.sp),
),
),
child: Container(
width: ScreenUtil().screenWidth - 40.w,
margin: EdgeInsets.only(left: 20.w, right: 20.w, bottom: 10.h),
decoration: BoxDecoration(
color: state.boolList.value[clickIndex]
? AppColors.blueViewBgColor
: AppColors.greyBackgroundColor,
borderRadius: BorderRadius.circular(10.0),
),
child: Padding(
padding: EdgeInsets.only(
left: 20.w, top: 30.h, bottom: 30.h, right: 20.w),
child: Row(
children: [
state.boolList.value[clickIndex]
? Image.asset(
'images/mine/icon_mine_blueSelect.png',
width: 20.w,
height: 14.w,
)
: SizedBox(
width: 20.w,
height: 14.w,
),
SizedBox(width: 10.w),
Expanded(
child: _buildRichText(
titleStr, subTitle, state.boolList.value[clickIndex]),
),
onTap: () {
//
if (clickIndex == 3) {
Get.toNamed(Routers.catEyeCustomModePage);
} else {
//
showBottomSheet(context, clickIndex);
}
},
),
],
)),
),
onTap: () {
setState(() {
SizedBox(
width: 10.w,
),
GestureDetector(
child: Container(
width: 90.w,
height: 40.h,
decoration: BoxDecoration(
color: Colors.transparent,
borderRadius: BorderRadius.circular(15.0),
border: Border.all(
color: AppColors.placeholderTextColor, width: 1.w),
),
child: Center(
child: Text(
clickIndex == 3 ? '设置' : '查看',
style: TextStyle(
color: AppColors.placeholderTextColor,
fontSize: 20.sp),
),
),
),
onTap: () {
//
if (clickIndex == 3) {
Navigator.pushNamed(
context, Routers.catEyeCustomModePage,
arguments: {
'lockSetInfoData': state.lockSetInfoData.value,
}).then((value) => logic.getLockSettingInfoData());
} else {
//
showBottomSheet(context, clickIndex);
}
},
),
],
)),
),
onTap: () {
for (int i = 0; i < state.boolList.value.length; i++) {
if (clickIndex == i) {
state.boolList.value[clickIndex] = true;
@ -153,8 +162,6 @@ class _CatEyeWorkModePageState extends State<CatEyeWorkModePage> {
}
}
});
},
);
}
Widget _buildRichText(String titleStr, String subTitle, bool isClick) {

View File

@ -18,8 +18,8 @@ class CatEyeWorkModeState {
CatEyeWorkModeState() {
Map map = Get.arguments;
lockSetInfoData.value = map["lockSetInfoData"];
if (map['catEyeConfigata'] != null) {
catEyeConfigData.value = map['catEyeConfigata'];
if (map['catEyeConfigData'] != null) {
catEyeConfigData.value = map['catEyeConfigData'];
selectCatEyeWorkMode.value = catEyeConfigData.value.catEyeMode!;
if (catEyeConfigData.value.catEyeMode ==

View File

@ -1,6 +1,59 @@
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';
class VideoSlotLogic extends BaseGetXController {
final VideoSlotState state = VideoSlotState();
//
Future<LockSetInfoEntity> getLockSettingInfoData() async {
LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData(
lockId: state.lockSetInfoData.value.lockId.toString(),
);
if (entity.errorCode!.codeIsSuccessful) {
state.lockSetInfoData.value = entity.data!;
state.catEyeConfigData.value =
entity.data!.lockSettingInfo!.catEyeConfig![0];
if (state.catEyeConfigData.value.catEyeModeConfig != null) {
if (state.catEyeConfigData.value.catEyeModeConfig!.recordMode == 1) {
// state.selectVideoSlot.value = '自定义时段';
state.isCustom.value = true;
} else {
// state.selectVideoSlot.value = '全天';
state.isCustom.value = false;
}
}
}
return entity;
}
//
void updateCatEyeModeConfig() async {
var 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('设置成功');
Get.back();
}
}
}

View File

@ -27,6 +27,9 @@ class _VideoSlotPageState extends State<VideoSlotPage> {
appBar: TitleAppBar(
barTitle: '录像时段',
haveBack: true,
backAction: () {
Navigator.pop(context, true);
},
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
@ -35,7 +38,16 @@ class _VideoSlotPageState extends State<VideoSlotPage> {
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {
Get.back();
state.isCustom.value == false
? state.recordMode.value = 0
: state.recordMode.value = 1;
if (state.recordMode.value == 1) {
state.recordStartTime.value =
state.startDateTime.value.millisecondsSinceEpoch;
state.recordEndTime.value =
state.endDateTime.value.millisecondsSinceEpoch;
}
logic.updateCatEyeModeConfig();
},
),
],
@ -49,7 +61,7 @@ class _VideoSlotPageState extends State<VideoSlotPage> {
SizedBox(
height: 30.h,
),
_buildCustomTimeView('自定义时间', '', 1),
_buildCustomTimeView('自定义时间', 1),
],
));
}
@ -92,13 +104,17 @@ class _VideoSlotPageState extends State<VideoSlotPage> {
)),
)),
onTap: () {
state.isCustom.value = !state.isCustom.value;
if (clickIndex == 0) {
state.isCustom.value = false;
} else {
state.isCustom.value = true;
}
},
);
}
//
Widget _buildCustomTimeView(String leftStr, String rightStr, int isEndTIme) {
Widget _buildCustomTimeView(String leftStr, int clickIndex) {
return GestureDetector(
child: Obx(() => Container(
width: ScreenUtil().screenWidth - 40.w,
@ -164,7 +180,11 @@ class _VideoSlotPageState extends State<VideoSlotPage> {
)),
)),
onTap: () {
state.isCustom.value = !state.isCustom.value;
if (clickIndex == 1) {
state.isCustom.value = true;
} else {
state.isCustom.value = false;
}
},
);
}

View File

@ -1,6 +1,10 @@
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart';
class VideoSlotState {
var lockSetInfoData = LockSetInfoData().obs;
var catEyeConfigData = CatEyeConfig().obs;
var isCustom = false.obs; //
DateTime dateTime = DateTime.now();
final startDateTime = DateTime.now().obs; //
@ -9,4 +13,22 @@ class VideoSlotState {
var startDate =
'${DateTime.now().hour}:${DateTime.now().minute}'.obs; //
var endDate = '${DateTime.now().hour}:${DateTime.now().minute}'.obs; //
var recordMode = 0.obs; // 0 1
var recordStartTime = 0.obs; //
var recordEndTime = 0.obs; //
var recordTime = ''.obs; //
var detectionDistance = 0.obs; //
var realTimeMode = 0.obs; // 0 1
VideoSlotState() {
Map map = Get.arguments;
if (map['lockSetInfoData'] != null) {
lockSetInfoData.value = map['lockSetInfoData'];
}
if (map['catEyeConfigData'] != null) {
catEyeConfigData.value = map['catEyeConfigData'];
}
}
}

View File

@ -1,6 +1,59 @@
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/liveVideo/liveVideo_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 LiveVideoLogic extends BaseGetXController {
final LiveVideoState state = LiveVideoState();
//
Future<LockSetInfoEntity> getLockSettingInfoData() async {
LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData(
lockId: state.lockSetInfoData.value.lockId.toString(),
);
if (entity.errorCode!.codeIsSuccessful) {
state.lockSetInfoData.value = entity.data!;
state.catEyeConfigData.value =
entity.data!.lockSettingInfo!.catEyeConfig![0];
if (state.catEyeConfigData.value.catEyeModeConfig != null) {
if (state.catEyeConfigData.value.catEyeModeConfig!.recordMode == 1) {
state.isLiveView.value = true;
} else {
state.isLiveView.value = false;
}
}
}
return entity;
}
//
void updateCatEyeModeConfig() async {
var entity = await ApiRepository.to.updateCatEyeModeConfig(
lockId: state.lockSetInfoData.value.lockId ?? 0,
catEyeConfig: [
{
'catEyeMode': 4,
'catEyeModeConfig': {
'recordMode':
state.catEyeConfigData.value.catEyeModeConfig!.recordMode,
'recordStartTime':
state.catEyeConfigData.value.catEyeModeConfig!.recordStartTime,
'recordEndTime':
state.catEyeConfigData.value.catEyeModeConfig!.recordEndTime,
'recordTime':
state.catEyeConfigData.value.catEyeModeConfig!.recordTime,
'detectionDistance': state
.catEyeConfigData.value.catEyeModeConfig!.detectionDistance,
'realTimeMode': state.realTimeMode.value,
}
}
],
);
if (entity.errorCode!.codeIsSuccessful) {
showToast('设置成功');
Get.back();
}
}
}

View File

@ -33,7 +33,11 @@ class _LiveVideoPageState extends State<LiveVideoPage> {
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {
Get.back();
state.isLiveView.value == false
? state.realTimeMode.value = 0
: state.realTimeMode.value = 1;
logic.updateCatEyeModeConfig();
},
),
],
@ -117,7 +121,11 @@ class _LiveVideoPageState extends State<LiveVideoPage> {
)),
),
onTap: () {
state.isLiveView.value = !state.isLiveView.value;
if (clickIndex == 0) {
state.isLiveView.value = false;
} else {
state.isLiveView.value = true;
}
},
));
}

View File

@ -1,5 +1,19 @@
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart';
class LiveVideoState {
var isLiveView = false.obs; //
var realTimeMode = 0.obs; // 0 1
var lockSetInfoData = LockSetInfoData().obs;
var catEyeConfigData = CatEyeConfig().obs;
LiveVideoState() {
Map map = Get.arguments;
if (map['lockSetInfoData'] != null) {
lockSetInfoData.value = map['lockSetInfoData'];
}
if (map['catEyeConfigData'] != null) {
catEyeConfigData.value = map['catEyeConfigData'];
}
}
}

View File

@ -88,9 +88,10 @@ class UDPTalkClass {
}
playLocalAudioTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
playLocalAudioSecond++;
print('还在工作么这个定时器$playLocalAudioSecond');
// 60
if (playLocalAudioSecond >= 60) {
playLocalAudioTimer.cancel(); //
timer.cancel(); //
playLocalAudioSecond = 0;
// LockMonitoringLogic().initiateUdpHangUpAction(5);
callNoAnswer(4);