From 265886c791fa26d2362a6e83b5bf1f4ebfb09fcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Mon, 29 Apr 2024 15:09:19 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=BC=80=E9=94=81=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=88=B3=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=E3=80=822?= =?UTF-8?q?=E3=80=81=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E5=8E=82=E5=95=86=E5=9E=8B=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../card/addICCard/addICCard_page.dart | 4 +-- .../lockDetail/lockDetail_logic.dart | 25 +++++++++++++++---- .../lockDetail/lockDetail_page.dart | 9 ++++--- .../lockDetail/lockDetail_state.dart | 2 +- .../basicInformation_logic.dart | 3 +++ .../basicInformation_page.dart | 20 +++++++-------- .../passwordKeyDetailChangeDate_page.dart | 2 +- 7 files changed, 43 insertions(+), 22 deletions(-) diff --git a/star_lock/lib/main/lockDetail/card/addICCard/addICCard_page.dart b/star_lock/lib/main/lockDetail/card/addICCard/addICCard_page.dart index 8845cddf..d8e1bb31 100644 --- a/star_lock/lib/main/lockDetail/card/addICCard/addICCard_page.dart +++ b/star_lock/lib/main/lockDetail/card/addICCard/addICCard_page.dart @@ -49,8 +49,8 @@ class _AddICCardPageState extends State with RouteAware { SizedBox(height: 120.h), Container( width: 1.sw, - height: 50.h, - // padding: EdgeInsets.only(left: 30.w, right: 30.w, top: 10.h, bottom: 10.h), + // height: 50.h, + padding: EdgeInsets.all(10.w), margin: EdgeInsets.only( left: 15.w, right: 15.w, top: 10.h, bottom: 10.h), // color: AppColors.blackColor, diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 76b2e808..77d0ba76 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -108,7 +108,7 @@ class LockDetailLogic extends BaseGetXController { keyID: BlueManage().connectDeviceName, userID: await Storage.getUid(), openMode: state.openDoorModel, - openTime: state.netTime, + openTime: getNetTime(), onlineToken: state.lockNetToken, token: tokenData, needAuthor: 1, @@ -165,6 +165,11 @@ class LockDetailLogic extends BaseGetXController { reply.data.removeRange(0, 6); // 把得到的数据按8位分割成数组 然后塞进一个新的数组里面 var getList = splitList(reply.data, 8); + if(reply.data.length < 8){ + await BlueManage().disconnect(); + cancelBlueConnetctToastTimer(); + return; + } var uploadList = []; for (int i = 0; i < getList.length; i++) { var indexList = getList[i]; @@ -195,9 +200,12 @@ class LockDetailLogic extends BaseGetXController { break; case 0x06: //无权限 - + BlueManage().disconnect(); + cancelBlueConnetctToastTimer(); break; default: + BlueManage().disconnect(); + cancelBlueConnetctToastTimer(); break; } } @@ -335,7 +343,7 @@ class LockDetailLogic extends BaseGetXController { keyID: BlueManage().connectDeviceName, userID: await Storage.getUid(), openMode: state.openDoorModel, - openTime: state.netTime, + openTime: getNetTime(), onlineToken: state.lockNetToken, token: getTokenList, needAuthor: 1, @@ -358,6 +366,9 @@ class LockDetailLogic extends BaseGetXController { // 查询事件记录(时间查询) Future senderReferEventRecordTime() async { + showBlueConnetctToastTimer(isShowBlueConnetctToast: false, action: () { + BlueManage().disconnect(); + }); BlueManage().bludSendData(BlueManage().connectDeviceName, (BluetoothConnectionState connectionState) async { if (connectionState == BluetoothConnectionState.connected) { var privateKey = await Storage.getStringList(saveBluePrivateKey); @@ -384,17 +395,21 @@ class LockDetailLogic extends BaseGetXController { }); } - // 从服务器获取锁的时间 开锁时传入 void getServerDatetime() async{ var entity = await ApiRepository.to.getServerDatetimeData( lockId: state.keyInfos.value.lockId.toString(), ); if(entity.errorCode!.codeIsSuccessful){ - state.netTime = entity.data!.date!.toString().length > 10 ? entity.data!.date!~/ 1000 : entity.data!.date!; + state.differentialTime = entity.data!.date! ~/ 1000 - DateTime.now().millisecondsSinceEpoch ~/ 1000; + // AppLog.log("entity.data!.date! ~/ 1000:${entity.data!.date! ~/ 1000} DateTime.now().millisecondsSinceEpoch ~/ 1000:${DateTime.now().millisecondsSinceEpoch ~/ 1000} 服务器时间差:${state.differentialTime}"); } } + int getNetTime(){ + return DateTime.now().millisecondsSinceEpoch ~/ 1000 + state.differentialTime; + } + // 获取手机联网token,根据锁设置里面获取的开锁时是否联网来判断是否调用这个接口 void getLockNetToken() async { LockNetTokenEntity entity = await ApiRepository.to.getLockNetToken(lockId: state.keyInfos.value.lockId.toString()); diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 9164f2f5..24315b49 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -78,7 +78,7 @@ class _LockDetailPageState extends State }); } - void loadData() { + Future loadData() async { state.keyInfos.value = widget.lockListInfoItemEntity; CommonDataManage().currentLockUserNo = state.keyInfos.value.lockUserNo!; CommonDataManage().currentKeyInfo = state.keyInfos.value; @@ -126,8 +126,11 @@ class _LockDetailPageState extends State var saveSignKeyList = changeIntListToStringList(signKeyData); Storage.setStringList(saveBlueSignKey, saveSignKeyList); - var saveTokenList = changeIntListToStringList([0, 0, 0, 0]); - Storage.setStringList(saveBlueToken, saveTokenList); + bool ifHaveKey = await Storage.ifHaveKey(saveBlueToken); + if(!ifHaveKey){ + var saveTokenList = changeIntListToStringList([0, 0, 0, 0]); + Storage.setStringList(saveBlueToken, saveTokenList); + } } @override diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_state.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_state.dart index c55a0fb4..78b6b4c5 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_state.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_state.dart @@ -14,7 +14,7 @@ class LockDetailState { StreamSubscription? lockSetOpenOrCloseCheckInRefreshLockDetailWithAttendanceEvent; String lockNetToken = ""; - int netTime = 0; + int differentialTime = 0; int lockUserNo = 0; var senderUserId = 0; var isOnlyOneData = false; diff --git a/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_logic.dart b/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_logic.dart index 421b42a8..66f7e730 100644 --- a/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_logic.dart +++ b/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_logic.dart @@ -1,6 +1,8 @@ import 'dart:async'; +import 'package:star_lock/app_settings/app_settings.dart'; + import '../../../../../tools/baseGetXController.dart'; import '../../../../../tools/eventBusEventManage.dart'; import '../../lockSet/lockSet_logic.dart'; @@ -24,6 +26,7 @@ class BasicInformationLogic extends BaseGetXController{ // TODO: implement onReady super.onReady(); + AppLog.log("厂商 vendor:${state.lockBasicInfo.value.vendor} 型号 model:${state.lockBasicInfo.value.model}"); } @override diff --git a/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_page.dart b/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_page.dart index 199f51df..2b2c5ce8 100644 --- a/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_page.dart @@ -53,16 +53,16 @@ class _BasicInformationPageState extends State { "${state.lockBasicInfo.value.mac??""}/${state.lockBasicInfo.value.lockId??""}", allHeight: 70.h, isHaveLine: true)), - Obx(() => CommonItem( - leftTitel: "厂商".tr, - rightTitle: state.lockBasicInfo.value.vendor ??"", - allHeight: 70.h, - isHaveLine: true)), - Obx(() => CommonItem( - leftTitel: "型号".tr, - rightTitle: state.lockBasicInfo.value.model ??"", - allHeight: 70.h, - isHaveLine: false)), + // Obx(() => CommonItem( + // leftTitel: "厂商".tr, + // rightTitle: state.lockBasicInfo.value.vendor ??"", + // allHeight: 70.h, + // isHaveLine: true)), + // Obx(() => CommonItem( + // leftTitel: "型号".tr, + // rightTitle: state.lockBasicInfo.value.model ??"", + // allHeight: 70.h, + // isHaveLine: false)), SizedBox( height: 10.h, ), diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKeyDetailChangeDate/passwordKeyDetailChangeDate_page.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKeyDetailChangeDate/passwordKeyDetailChangeDate_page.dart index 515aaf62..dc9fda54 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKeyDetailChangeDate/passwordKeyDetailChangeDate_page.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKeyDetailChangeDate/passwordKeyDetailChangeDate_page.dart @@ -42,7 +42,7 @@ class _PasswordKeyDetailChangeDatePage extends State