diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart index 4e324707..088ca9bc 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart @@ -39,26 +39,30 @@ class _CatEyeCustomModePageState extends State { backgroundColor: AppColors.mainColor), body: Obx(() => Column( children: [ - 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()}); - }, + Container( + margin: EdgeInsets.only(left: 20.w), + child: 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()}); + }, + ), ), _buildSubTitleItem('有人出现时录像', '有人在门口出现10秒后开始录像。\n有人按门铃时立即录像', state.recordTime.value, () { @@ -74,23 +78,26 @@ class _CatEyeCustomModePageState extends State { SizedBox( height: 30.h, ), - 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()}); - }, + Container( + margin: EdgeInsets.only(left: 20.w), + child: 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()}); + }, + ), ) ], ))); @@ -102,7 +109,7 @@ class _CatEyeCustomModePageState extends State { onTap: action, child: Container( color: Colors.white, - margin: EdgeInsets.only(left: 20.sp, right: 20.sp, top: 20.h), + margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.h), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart index 37bc70a8..6465697b 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart @@ -3,6 +3,7 @@ import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_ 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'; class VideoSlotLogic extends BaseGetXController { final VideoSlotState state = VideoSlotState(); @@ -23,6 +24,13 @@ class VideoSlotLogic extends BaseGetXController { } 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; @@ -30,6 +38,23 @@ class VideoSlotLogic extends BaseGetXController { //设置猫眼工作模式 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); + // 将当前时间加一天 + DateTime tomorrow = + DateTime(DateTool().dateToTimestamp(state.startDate.value, 0)) + .add(const Duration(days: 1)); + // 获取明天时间的时间戳 + state.recordEndTime.value = tomorrow.millisecondsSinceEpoch; + + // state.recordEndTime.value = + // DateTool().dateToTimestamp(state.endDate.value, 0); + } var entity = await ApiRepository.to.updateCatEyeModeConfig( lockId: state.lockSetInfoData.value.lockId!, catEyeConfig: [ diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart index 721325d6..f1eb6ebc 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart'; +import 'package:star_lock/tools/dateTool.dart'; import 'package:star_lock/tools/pickers/pickers.dart'; import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart'; import 'package:star_lock/translations/trans_lib.dart'; @@ -44,15 +45,6 @@ class _VideoSlotPageState extends State { style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: () { - 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(); }, ), @@ -238,10 +230,9 @@ class _VideoSlotPageState extends State { onTap: () { Pickers.showDatePicker(context, mode: DateMode.HM, onConfirm: (p) { if (isEndTime == false) { - state.startDate.value = - '${intToStr(p.hour!)}:${intToStr(p.minute!)}'; + state.startDate.value = DateTool().getYMDHNDateString(p, 3); } else { - state.endDate.value = '${intToStr(p.hour!)}:${intToStr(p.minute!)}'; + state.endDate.value = DateTool().getYMDHNDateString(p, 3); } }); }, diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_state.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_state.dart index b707c003..79f52c28 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_state.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_state.dart @@ -1,5 +1,6 @@ import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart'; +import 'package:star_lock/tools/dateTool.dart'; class VideoSlotState { var lockSetInfoData = LockSetInfoData().obs; @@ -7,12 +8,8 @@ class VideoSlotState { var isCustom = false.obs; //是否自定义 DateTime dateTime = DateTime.now(); - final startDateTime = DateTime.now().obs; //开始时间:当日 - final endDateTime = DateTime.now().obs; //结束时间:次日 - - var startDate = - '${DateTime.now().hour}:${DateTime.now().minute}'.obs; //默认为当前时间 - var endDate = '${DateTime.now().hour}:${DateTime.now().minute}'.obs; //默认为当前时间 + var startDate = DateTool().getNowDateWithType(6).obs; //默认为当前时间 + var endDate = DateTool().getNowDateWithType(6).obs; //默认为当前时间 var recordMode = 0.obs; //录像时段 0全天 1自定义时间