From 4765f369756665f2e8d080962b4c13e766d21887 Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Wed, 26 Jun 2024 09:38:38 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=89=93=E5=BC=80=20?= =?UTF-8?q?App=20=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8=E6=9C=89=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/app.dart | 2 +- .../appUnlockNeedMobileNetworkingLock_logic.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/app.dart b/lib/app.dart index dfffaee3..52b87631 100755 --- a/lib/app.dart +++ b/lib/app.dart @@ -148,7 +148,7 @@ class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { // AppLog.log('App--->进入前台'); if (Get.isRegistered()) { //进入前台刷新如果存在锁列表则刷新,顺便判断 token 是否过期 - Get.find().getStarLockInfo(); + Get.find().getStarLockInfo(isUnShowLoading: true); } break; case AppLifecycleState.detached: diff --git a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart index 9d098934..cc40ce7f 100755 --- a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart +++ b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart @@ -38,7 +38,7 @@ class AppUnlockNeedMobileNetworkingLockLogic extends BaseGetXController { //刷新锁列表,更新锁详情--手机需联网标识 if (Get.isRegistered()) { - Get.find().getStarLockInfo(); + Get.find().getStarLockInfo(isUnShowLoading: true); } } } From 24479ffb8db7c2ea727403bcd71e860a5f7a771a Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Wed, 26 Jun 2024 09:40:27 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 2c7b9020..068ea3ea 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,7 +76,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # 1.0.66+2024061802:xhj 线上环境,提交测试:回归 bug # 1.0.67+2024062501:xhj 线上环境,提交测试:回归 测试部门bug -version: 1.0.67+2024062501 +version: 1.0.68+2024062601 environment: sdk: '>=2.12.0 <3.0.0' From 1b97722657184aba4f73125c4eb7355c4bf5a0a9 Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Mon, 1 Jul 2024 16:30:59 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=B6=88=E6=81=AF=E5=88=B7=E6=96=B0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 6 ++++++ lib/main/lockMian/lockMain/lockMain_logic.dart | 2 +- lib/tools/push/message_management.dart | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 3ffb1e4d..1b0b0834 100755 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -127,6 +127,8 @@ PODS: - Flutter - network_info_plus (0.0.1): - Flutter + - open_filex (0.0.2): + - Flutter - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): @@ -188,6 +190,7 @@ DEPENDENCIES: - jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`) - just_audio (from `.symlinks/plugins/just_audio/ios`) - network_info_plus (from `.symlinks/plugins/network_info_plus/ios`) + - open_filex (from `.symlinks/plugins/open_filex/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) @@ -280,6 +283,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/just_audio/ios" network_info_plus: :path: ".symlinks/plugins/network_info_plus/ios" + open_filex: + :path: ".symlinks/plugins/open_filex/ios" package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: @@ -344,6 +349,7 @@ SPEC CHECKSUMS: jpush_flutter: 1f436f1a02db5c5ef9e9b42378f557096ccd328b just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa network_info_plus: 6d0c3eb8367b8164fa3fb0c19875e3f59d49697f + open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4 package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart index b4d2ba83..6bd0b1ee 100755 --- a/lib/main/lockMian/lockMain/lockMain_logic.dart +++ b/lib/main/lockMian/lockMain/lockMain_logic.dart @@ -179,7 +179,7 @@ class LockMainLogic extends BaseGetXController { list.lockList ??= []; final int keyIndex = lockList.indexWhere( - (LockListInfoItemEntity lock) => lock.keyId == keyId) ?? + (LockListInfoItemEntity lock) => lock.lockId == lockId) ?? -1; if (keyIndex != -1) { //已存在 diff --git a/lib/tools/push/message_management.dart b/lib/tools/push/message_management.dart index 429dcc36..c274d858 100644 --- a/lib/tools/push/message_management.dart +++ b/lib/tools/push/message_management.dart @@ -24,6 +24,7 @@ class MessageManagement { if (extra.isEmpty) { return; } + AppLog.log(message.toString()); _shuntingBus(extra); } From 89c7f57e2b6c0566cc3656109f1325dee59494fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Mon, 1 Jul 2024 16:36:12 +0800 Subject: [PATCH 4/6] =?UTF-8?q?1=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=BC=80?= =?UTF-8?q?=E9=94=81=E9=A1=B5-=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E7=82=B9=E8=BF=9B=E5=8E=BB=E5=90=8E=E5=9C=88=E5=87=A0=E5=9C=88?= =?UTF-8?q?=E7=9A=84=E5=8A=A0=E8=BD=BD=E5=9B=BE=E6=A0=87=E5=90=8E=EF=BC=88?= =?UTF-8?q?=E4=B9=9F=E6=9C=89=E6=8F=90=E7=A4=BA=E6=93=8D=E4=BD=9C=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E5=90=8E=EF=BC=89=E7=A9=BA=E7=99=BD=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E6=89=8B=E5=8A=A8=E5=88=B7=E6=96=B0=E5=90=8E=E6=89=8D?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E6=95=B0=E6=8D=AE=202=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=88=91=E7=9A=84=E9=A1=B5-=E5=A2=9E=E5=80=BC?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1-=E9=82=AE=E4=BB=B6=20=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=E5=90=8E=E8=BF=9B=E5=85=A5=EF=BC=8C=E7=9F=AD=E4=BF=A1=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E5=89=A9=E4=BD=99=E6=95=B0=E9=87=8F=E4=BC=9A=E5=85=88?= =?UTF-8?q?=E6=98=BE=E7=A4=BA0=E5=86=8D=E8=B7=B3=E5=88=B0500=EF=BC=8C?= =?UTF-8?q?=E6=9C=89=E6=97=B6=E5=8F=AA=E6=98=BE=E7=A4=BA0=E4=B8=8D?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=88=B0=E6=95=B0=E9=87=8F=20=E9=97=AE?= =?UTF-8?q?=E9=A2=98=203=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=88=91=E7=9A=84?= =?UTF-8?q?=E9=A1=B5-=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1-=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=20=E8=B4=AD=E4=B9=B0=E5=90=8E=E8=BF=9B=E5=85=A5?= =?UTF-8?q?=EF=BC=8C=E7=9F=AD=E4=BF=A1=E5=BD=93=E5=89=8D=E5=89=A9=E4=BD=99?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=BC=9A=E5=85=88=E6=98=BE=E7=A4=BA0?= =?UTF-8?q?=E5=86=8D=E8=B7=B3=E5=88=B0500=EF=BC=8C=E6=9C=89=E6=97=B6?= =?UTF-8?q?=E5=8F=AA=E6=98=BE=E7=A4=BA0=E4=B8=8D=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E6=95=B0=E9=87=8F=20=E9=97=AE=E9=A2=98=204=EF=BC=8C?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95=E5=AE=9E=E4=BD=93=E7=B1=BB?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E6=96=B0=E5=A2=9EkeyboardPwd=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=205=EF=BC=8C=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1--?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E3=80=81=E9=82=AE=E4=BB=B6=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E9=80=BB=E8=BE=91=E9=A1=BA=E5=BA=8F=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doorLockLog/doorLockLog_entity.dart | 49 ++++++++++--------- .../doorLockLog/doorLockLog_logic.dart | 47 +++++++++--------- ...AddedServicesNoteAndEmailDetail_logic.dart | 22 +++++++-- ...eAddedServicesNoteAndEmailDetail_page.dart | 15 +++--- ...AddedServicesNoteAndEmailDetail_state.dart | 1 + 5 files changed, 76 insertions(+), 58 deletions(-) diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_entity.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_entity.dart index 864ce1c6..e043b762 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_entity.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_entity.dart @@ -1,9 +1,4 @@ class DoorLockLogEntity { - int? errorCode; - String? description; - String? errorMsg; - Data? data; - DoorLockLogEntity( {this.errorCode, this.description, this.errorMsg, this.data}); @@ -13,6 +8,10 @@ class DoorLockLogEntity { errorMsg = json['errorMsg']; data = json['data'] != null ? Data.fromJson(json['data']) : null; } + int? errorCode; + String? description; + String? errorMsg; + Data? data; Map toJson() { final Map data = {}; @@ -27,12 +26,6 @@ class DoorLockLogEntity { } class Data { - List? itemList; - int? pageNo; - int? pageSize; - int? pages; - int? total; - Data({this.itemList, this.pageNo, this.pageSize, this.pages, this.total}); Data.fromJson(Map json) { @@ -47,6 +40,11 @@ class Data { pages = json['pages']; total = json['total']; } + List? itemList; + int? pageNo; + int? pageSize; + int? pages; + int? total; Map toJson() { final Map data = {}; @@ -62,18 +60,6 @@ class Data { } class DoorLockLogDataItem { - int? recordId; - int? lockId; - String? lockAlias; - int? recordType; - String? recordTypeName; - String? username; - int? operateDate; - String? imagesUrl; - String? videoUrl; - String? headUrl; - String? userid; - DoorLockLogDataItem( {this.recordId, this.lockId, @@ -85,7 +71,8 @@ class DoorLockLogDataItem { this.imagesUrl, this.videoUrl, this.headUrl, - this.userid}); + this.userid, + this.keyboardPwd}); DoorLockLogDataItem.fromJson(Map json) { recordId = json['recordId']; @@ -99,7 +86,20 @@ class DoorLockLogDataItem { videoUrl = json['videoUrl']; headUrl = json['headUrl']; userid = json['userid']; + keyboardPwd = json['keyboardPwd']; } + int? recordId; + int? lockId; + String? lockAlias; + int? recordType; + String? recordTypeName; + String? username; + int? operateDate; + String? imagesUrl; + String? videoUrl; + String? headUrl; + String? userid; + String? keyboardPwd; Map toJson() { final Map data = {}; @@ -114,6 +114,7 @@ class DoorLockLogDataItem { data['videoUrl'] = videoUrl; data['headUrl'] = headUrl; data['userid'] = userid; + data['keyboardPwd'] = keyboardPwd; return data; } } diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart index 4e03962b..b024ee68 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart @@ -37,11 +37,11 @@ class DoorLockLogLogic extends BaseGetXController { // 根据时间查解析数据 Future _replyReferEventRecordTime(Reply reply) async { cancelBlueConnetctToastTimer(); - int status = reply.data[2]; + final int status = reply.data[2]; switch (status) { case 0x00: //成功 - int dataLength = (reply.data[5] << 8) + reply.data[6]; + final int dataLength = (reply.data[5] << 8) + reply.data[6]; // AppLog.log("dataLength:$dataLength"); // var dataLength = reply.data[5]; if (dataLength > 0) { @@ -50,27 +50,27 @@ class DoorLockLogLogic extends BaseGetXController { if (reply.data.length < 17) { return; } - var getList = splitList(reply.data, 17); + final getList = splitList(reply.data, 17); // AppLog.log("getList:$getList"); - var uploadList = []; + final uploadList = []; for (int i = 0; i < getList.length; i++) { - var indexList = getList[i]; + final indexList = getList[i]; // AppLog.log("indexList:$indexList"); - var indexMap = {}; + final indexMap = {}; indexMap['type'] = indexList[0].toString(); - int operateDate = 0; + final int operateDate = 0; if (indexList[0] == 2) { - var passwordData = indexList.sublist(7, 17); - var password = utf8String(passwordData); + final passwordData = indexList.sublist(7, 17); + final password = utf8String(passwordData); indexMap['user'] = password.toString(); } else { - int userNo = (indexList[1] * 256) + indexList[2]; + final int userNo = (indexList[1] * 256) + indexList[2]; indexMap['user'] = userNo.toString(); } indexMap['success'] = '1'; - int time = ((0xff & indexList[(3)]) << 24 | + final int time = ((0xff & indexList[(3)]) << 24 | (0xff & indexList[4]) << 16 | (0xff & indexList[5]) << 8 | (0xFF & indexList[6])); @@ -108,14 +108,16 @@ class DoorLockLogLogic extends BaseGetXController { BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState connectionStateState) async { if (connectionStateState == BluetoothConnectionState.connected) { - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); + final privateKey = await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); + final token = await Storage.getStringList(saveBlueToken); + final List getTokenList = changeStringListToIntList(token!); - var publicKey = await Storage.getStringList(saveBluePublicKey); - List getPublicKeyList = changeStringListToIntList(publicKey!); + final publicKey = await Storage.getStringList(saveBluePublicKey); + final List getPublicKeyList = + changeStringListToIntList(publicKey!); IoSenderManage.senderReferEventRecordTimeCommand( keyID: BlueManage().connectDeviceName, @@ -156,6 +158,7 @@ class DoorLockLogLogic extends BaseGetXController { if (entity.errorCode!.codeIsSuccessful) { // 更新数据列表 state.lockLogItemList.addAll(entity.data!.itemList!); + state.lockLogItemList.refresh(); // 更新页码 pageNo++; } @@ -231,7 +234,7 @@ class DoorLockLogLogic extends BaseGetXController { super.onReady(); // 获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + final isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); if (isDemoMode == false) { // _initReplySubscription(); @@ -245,22 +248,20 @@ class DoorLockLogLogic extends BaseGetXController { super.onInit(); // 获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); if (isDemoMode == false) { getLockRecordLastUploadDataTime(); - // senderReferEventRecordTime(); - // senderReferEventRecordNumber(); _initReplySubscription(); + mockNetworkDataRequest(isRefresh: true); } } @override Future onClose() async { - // TODO: implement onClose super.onClose(); //获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); if (isDemoMode == false) { _replySubscription.cancel(); _getDoorLockLogListRefreshUIEvent?.cancel(); diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart index 361f0afe..c94cc34c 100644 --- a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart @@ -1,5 +1,7 @@ import 'dart:async'; +import 'package:get/get.dart'; import 'package:star_lock/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_entity.dart'; +import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../network/api_repository.dart'; @@ -10,7 +12,8 @@ class ValueAddedServicesNoteAndEmailDetailLogic extends BaseGetXController { //获取增值服务用户余量包 Future getServiceUserPackage() async { - var entity = await ApiRepository.to.getServiceUserPackage(); + final ValueAddedServicesHighFunctionEntity entity = + await ApiRepository.to.getServiceUserPackage(); if (entity.errorCode!.codeIsSuccessful) { if (state.selectType.value == 1) { state.remainCount.value = entity.data!.smsCount!; @@ -19,6 +22,7 @@ class ValueAddedServicesNoteAndEmailDetailLogic extends BaseGetXController { } state.remainCount.refresh(); } + getServicePackageBuyUrl(); } //增值服务套餐购包链接 @@ -36,9 +40,19 @@ class ValueAddedServicesNoteAndEmailDetailLogic extends BaseGetXController { } @override - void onInit() { - super.onInit(); + void onReady() { + super.onReady(); - getServiceUserPackage(); + // 监听 selectType 的变化 + ever(state.selectType, (_) { + getServiceUserPackage(); + }); + + if (Get.arguments != null && Get.arguments['type'] != null) { + state.selectType.value = Get.arguments['type']; + state.selectType.refresh(); + } else { + getServiceUserPackage(); + } } } diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart index 13301dc9..77a59cc9 100755 --- a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart @@ -8,7 +8,6 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_r import '../../../appRouters.dart'; import '../../../app_settings/app_colors.dart'; -import '../../../tools/commonItem.dart'; import '../../../tools/titleAppBar.dart'; import '../../../translations/trans_lib.dart'; @@ -30,7 +29,8 @@ class _ValueAddedServicesNoteAndEmailDetailPageState @override void initState() { super.initState(); - logic.getServicePackageBuyUrl(); + // logic.getServicePackageBuyUrl(); + logic.getServiceUserPackage(); } @override @@ -84,11 +84,12 @@ class _ValueAddedServicesNoteAndEmailDetailPageState ))), GestureDetector( onTap: () { - Get.toNamed(Routers.advancedFeaturesWebPage, arguments: { - 'webBuyType': state.selectType.value == 1 - ? XSConstantMacro.webBuyTypeSMS - : XSConstantMacro.webBuyTypeEmail, - }); + Get.toNamed(Routers.advancedFeaturesWebPage, + arguments: { + 'webBuyType': state.selectType.value == 1 + ? XSConstantMacro.webBuyTypeSMS + : XSConstantMacro.webBuyTypeEmail, + }); }, child: Container( width: 50, diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart index eb1b88c4..6afe23e0 100644 --- a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart @@ -5,6 +5,7 @@ class ValueAddedServicesNoteAndEmailDetailState { if (Get.arguments is Map && Get.arguments.isNotEmpty) { if (Get.arguments['type'] != null) { selectType.value = Get.arguments['type']; + selectType.refresh(); } } } From 208dc9ff8ae07171659d5845b14b804ec9766d8b Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Mon, 1 Jul 2024 17:46:33 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=94=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=92=8C=E9=94=81=E9=A1=B5=E9=9D=A2=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=92=A5=E5=8C=99=E8=BF=87=E6=9C=9F=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lockDetail/lockDetail_page.dart | 31 ++++++++++++++++++- .../lockMian/lockList/lockList_logic.dart | 26 +++++++++++++++- lib/main/lockMian/lockList/lockList_page.dart | 9 +----- .../lockMian/lockList/lockList_xhj_page.dart | 9 +----- 4 files changed, 57 insertions(+), 18 deletions(-) diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index a4f4ec1d..400c0c2a 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -93,6 +93,18 @@ class _LockDetailPageState extends State //鑫泓佳布局 Widget xhjWidget() { + final bool isShowTip = (state.keyInfos.value.keyType == + XSConstantMacro.keyTypeTime || + state.keyInfos.value.keyType == + XSConstantMacro.keyTypeLoop) && // 限时、循环 + (DateTool().compareTimeGetDaysFromNow(state.keyInfos.value.endDate!) <= + 15 && + DateTool() + .compareTimeGetDaysFromNow(state.keyInfos.value.endDate!) >= + 0) && // 0到30天 + (state.keyInfos.value.keyStatus == XSConstantMacro.keyStatusNormalUse || + state.keyInfos.value.keyStatus == + XSConstantMacro.keyStatusWaitReceive); return Scaffold( backgroundColor: Colors.white, body: Obx(() { @@ -103,7 +115,7 @@ class _LockDetailPageState extends State child: Column( children: [ SizedBox( - height: 10.h, + height: isShowTip ? 70.h : 10.h, ), Padding( padding: EdgeInsets.symmetric(horizontal: 24.w), @@ -144,6 +156,23 @@ class _LockDetailPageState extends State ], ), ), + Visibility( + visible: isShowTip, + child: Container( + // height: 30.h, + color: const Color(0xFFFBEFD4), + padding: EdgeInsets.only(top: 8.h, bottom: 8.h), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + "${"钥匙将在".tr}${DateTool().compareTimeGetDaysFromNow(state.keyInfos.value.endDate!)}${"天后失效".tr}", + style: TextStyle( + color: const Color(0xffCBA74B), fontSize: 24.sp)) + ], + ), + ), + ), Visibility( visible: state.iSClosedUnlockSuccessfulPopup.value, child: Container( diff --git a/lib/main/lockMian/lockList/lockList_logic.dart b/lib/main/lockMian/lockList/lockList_logic.dart index b06b7f1f..57247151 100755 --- a/lib/main/lockMian/lockList/lockList_logic.dart +++ b/lib/main/lockMian/lockList/lockList_logic.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:common_utils/common_utils.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; @@ -30,7 +31,8 @@ class LockListLogic extends BaseGetXController { LockListInfoGroupEntity? entity; List get groupDataList { - final List list = _groupDataList.map((e)=>e.copy()).toList(); + final List list = + _groupDataList.map((GroupList e) => e.copy()).toList(); if (state.searchStr.value != '' && state.showSearch.value) { list.forEach((GroupList element) { element.lockList?.removeWhere((LockListInfoItemEntity element) => @@ -141,6 +143,28 @@ class LockListLogic extends BaseGetXController { return ''; } + //判断是否要显示提示 + bool getShowType(LockListInfoItemEntity keyInfo) { + final List keyTypes = [ + XSConstantMacro.keyTypeTime, + XSConstantMacro.keyTypeLoop + ]; + final List keyStatus = [ + XSConstantMacro.keyStatusWaitIneffective, + XSConstantMacro.keyStatusFrozen, + XSConstantMacro.keyStatusExpired, + ]; + final DateTime endDate = + DateTime.fromMillisecondsSinceEpoch(keyInfo.endDate ?? 0); + final DateTime now = DateTime.now(); + final bool isKeyType = keyTypes.contains(keyInfo.keyType); + final bool isKeyStatus = keyStatus.contains(keyInfo.keyStatus); + final Duration difference = endDate.difference(now); + final bool isExpirationSoon = isKeyType && difference.inDays <= 15; + final bool isShow = isKeyType && isKeyStatus || isExpirationSoon; + return isShow; + } + /// 以下为删除逻辑 void deleyLockLogicOfRoles() { if (state.lockListInfoItemEntity.isLockOwner == 1) { diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart index ccfc714d..d97b3c0c 100755 --- a/lib/main/lockMian/lockList/lockList_page.dart +++ b/lib/main/lockMian/lockList/lockList_page.dart @@ -14,7 +14,6 @@ import 'lockListGroup_view.dart'; import 'lockList_logic.dart'; class LockListPage extends StatefulWidget { - const LockListPage({required this.lockListInfoGroupEntity, Key? key}) : super(key: key); final LockListInfoGroupEntity lockListInfoGroupEntity; @@ -229,13 +228,7 @@ class _LockListPageState extends State with RouteAware { )), SizedBox(height: 20.h), Visibility( - visible: (keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && - (keyInfo.keyStatus == - XSConstantMacro.keyStatusWaitIneffective || - keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen || - keyInfo.keyStatus == XSConstantMacro.keyStatusExpired), - // visible: true, + visible: logic.getShowType(keyInfo), child: Row( children: [ SizedBox(width: 30.w), diff --git a/lib/main/lockMian/lockList/lockList_xhj_page.dart b/lib/main/lockMian/lockList/lockList_xhj_page.dart index c86fdaaa..47d6fce9 100755 --- a/lib/main/lockMian/lockList/lockList_xhj_page.dart +++ b/lib/main/lockMian/lockList/lockList_xhj_page.dart @@ -360,14 +360,7 @@ class _LockListXHJPageState extends State with RouteAware { ], ), Visibility( - visible: (keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && - (keyInfo.keyStatus == - XSConstantMacro.keyStatusWaitIneffective || - keyInfo.keyStatus == - XSConstantMacro.keyStatusFrozen || - keyInfo.keyStatus == - XSConstantMacro.keyStatusExpired), + visible: logic.getShowType(keyInfo), child: Padding( padding: EdgeInsets.only(top: 5.h), child: Row( From 5a342d5715a5263285318c9464f9607114846f96 Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Mon, 1 Jul 2024 18:31:15 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=94=81=E6=89=93?= =?UTF-8?q?=E5=BC=80=E8=81=94=E7=BD=91=E5=BC=80=E9=94=81=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E6=AC=A1=E9=92=A5=E5=8C=99=E5=BC=80=E9=94=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=86=8D=E6=AC=A1=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E5=90=8E=E6=97=A0=E6=B3=95=E5=BC=80=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main/lockDetail/lockDetail/lockDetail_page.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 400c0c2a..b49677af 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -10,6 +10,7 @@ import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/flavors.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_list_page.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_state.dart'; +import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart'; import 'package:star_lock/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart'; import 'package:star_lock/tools/showTipView.dart'; @@ -1433,11 +1434,16 @@ class _LockDetailPageState extends State if (state.openLockBtnState.value == 1) { return; } + final bool isNetWork = LockMainLogic.to()?.judgeTheNetwork() ?? false; + final bool isOpenLockNeedOnline = state.isOpenLockNeedOnline.value == 0; + if (!isOpenLockNeedOnline && !isNetWork) { + return; + } state.iSOpenLock.value = true; state.openLockBtnState.value = 1; state.animationController!.forward(); AppLog.log('点击开锁'); - if (state.isOpenLockNeedOnline.value == 0) { + if (isOpenLockNeedOnline) { // 不需要联网 state.openDoorModel = 0; AppLog.log('点击开锁 state.openDoorModel = 0 不需要联网');