From 38dcf47ec0b5eb0d5c2295f0bf325275e9b78632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Wed, 17 Jul 2024 17:29:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=A7=93=E5=90=8D?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=9B=B4=E6=96=B0=E6=88=90=E5=8A=9F=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=9C=AA=E5=88=B7=E6=96=B0=EF=BC=9B=E5=BA=94=E9=99=90?= =?UTF-8?q?=E5=88=B650=E4=BD=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2.修改提醒方式点确定没有操作成功的提示,实际没有修改成功 3.修改开锁方式点击进去锁用户的勾应在对应的用户上,现勾都是在第一个。 4.家人详情,更改不成功,应有操作成功的提示,选了新的用户应直接刷新。 --- .../addFamily/addFamily_logic.dart | 23 +++- .../messageWarn/addFamily/addFamily_page.dart | 15 ++- .../addFamily/addFamily_state.dart | 28 ++-- .../messageWarn/lockUser/lockUser_logic.dart | 12 ++ .../messageWarn/lockUser/lockUser_page.dart | 18 +-- .../messageWarn/lockUser/lockUser_state.dart | 18 ++- .../openDoorNotify/openDoorNotify_page.dart | 121 +++++++++--------- 7 files changed, 136 insertions(+), 99 deletions(-) diff --git a/lib/main/lockDetail/messageWarn/addFamily/addFamily_logic.dart b/lib/main/lockDetail/messageWarn/addFamily/addFamily_logic.dart index 8bdf205f..988ef2a0 100755 --- a/lib/main/lockDetail/messageWarn/addFamily/addFamily_logic.dart +++ b/lib/main/lockDetail/messageWarn/addFamily/addFamily_logic.dart @@ -50,16 +50,29 @@ class AddFamilyLogic extends BaseGetXController { await ApiRepository.to.updateLockNoticeSettingAccount( lockNoticeSettingAccountId: state.familyData.value.id!, settingValue: { - 'openDoorId': state.familyData.value.settingValue!.openDoorId!, - 'openDoorType': state.familyData.value.settingValue!.openDoorType!, - 'remark': state.changeNameController.text, + 'openDoorId': state.isDetail.value + ? state.lockUserKeys.value.currentOpenDoorID + : state.familyData.value.settingValue!.openDoorId!, + 'openDoorType': state.isDetail.value + ? state.lockUserKeys.value.currentKeyType + : state.familyData.value.settingValue!.openDoorType!, + 'remark': state.isDetail.value + ? state.lockUserKeys.value.currentKeyName + : state.changeNameController.text, 'noticeWay': state.familyData.value.settingValue!.noticeWayList, }, ); if (entity.errorCode!.codeIsSuccessful) { showToast('更新成功'.tr); - state.lockUserKeys.value.currentKeyName = state.changeNameController.text; - Get.back(result: true); + if (!state.isDetail.value) { + state.lockUserKeys.value.currentKeyName = + state.changeNameController.text; + state.lockUserKeys.refresh(); + + Get.back(result: true); + } else { + state.lockUserKeys.refresh(); + } } } diff --git a/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart b/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart index 4e7f53f3..77b0425b 100755 --- a/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart +++ b/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart @@ -48,11 +48,16 @@ class _AddFamilyPageState extends State { isHaveDirection: true, action: () { //锁用户 - Get.toNamed(Routers.lockUserPage, arguments: { - 'getLockId': state.getLockId.value + Get.toNamed(Routers.lockUserPage, arguments: { + 'getLockId': state.getLockId.value, + 'openDoorId': state.openDoorId.value, })?.then((val) { if (val != null) { state.lockUserKeys.value = val; + + if (state.isDetail.value) { + logic.updateLockNoticeSetting(); + } } }); })), @@ -169,7 +174,7 @@ class _AddFamilyPageState extends State { ); } -//修改家人名称弹窗 + //修改家人名称弹窗 void showCupertinoAlertDialog() { showDialog( context: context, @@ -179,6 +184,10 @@ class _AddFamilyPageState extends State { '${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.name!.tr}', tipTitle: '请输入'.tr, controller: state.changeNameController, + inputFormatters: [ + FilteringTextInputFormatter.deny('\n'), + LengthLimitingTextInputFormatter(50), + ], sureClick: () { //发送编辑钥匙名称请求 if (state.changeNameController.text.isNotEmpty) { diff --git a/lib/main/lockDetail/messageWarn/addFamily/addFamily_state.dart b/lib/main/lockDetail/messageWarn/addFamily/addFamily_state.dart index 63380b14..55a359fd 100755 --- a/lib/main/lockDetail/messageWarn/addFamily/addFamily_state.dart +++ b/lib/main/lockDetail/messageWarn/addFamily/addFamily_state.dart @@ -4,21 +4,8 @@ import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_entity.d import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/openDoorNotify/openDoorNotify_entity.dart'; class AddFamilyState { - final TextEditingController changeNameController = TextEditingController(); - RxInt getLockId = 0.obs; - Rx lockUserKeys = LockUserListKeys().obs; - RxList emailReceiverList = [].obs; - var phoneReceiverList = [].obs; - var emailListStr = ''.obs; - var phontListStr = ''.obs; - - var openDoorId = 0.obs; - var openDoorType = 0.obs; - var familyData = DataList().obs; - var isDetail = false.obs; - AddFamilyState() { - Map map = Get.arguments; + final Map map = Get.arguments; if (map['lockId'] != null) { getLockId.value = map['lockId']; } @@ -31,6 +18,19 @@ class AddFamilyState { familyData.value = map['itemData']; lockUserKeys.value.currentKeyName = familyData.value.settingValue!.remark!; + openDoorId.value = familyData.value.settingValue!.openDoorId!; } } + final TextEditingController changeNameController = TextEditingController(); + RxInt getLockId = 0.obs; + Rx lockUserKeys = LockUserListKeys().obs; + RxList emailReceiverList = [].obs; + RxList phoneReceiverList = [].obs; + RxString emailListStr = ''.obs; + RxString phontListStr = ''.obs; + + RxInt openDoorId = 0.obs; + RxInt openDoorType = 0.obs; + Rx familyData = DataList().obs; + RxBool isDetail = false.obs; } diff --git a/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart b/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart index e577367b..54060f5d 100755 --- a/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart +++ b/lib/main/lockDetail/messageWarn/lockUser/lockUser_logic.dart @@ -2,6 +2,7 @@ import 'package:get/get.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_entity.dart'; import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_state.dart'; +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 'package:star_lock/tools/dateTool.dart'; @@ -73,6 +74,17 @@ class LockUserLogic extends BaseGetXController { state.lockUserList.addAll(data5.lockUserList!); state.lockUserList.refresh(); + + if (state.selectedOpenDoorId.value != null) { + for (int i = 0; i < state.lockUserList.length; i++) { + if (state.lockUserList[i].currentOpenDoorID == + state.selectedOpenDoorId.value) { + state.isSelectIndex.value = i; + state.isSelectIndex.refresh(); + break; + } + } + } } } diff --git a/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart b/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart index 33dc6ba4..b86eaa89 100755 --- a/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart +++ b/lib/main/lockDetail/messageWarn/lockUser/lockUser_page.dart @@ -21,7 +21,7 @@ class _LockUserPageState extends State { final LockUserState state = Get.find().state; @override - initState() { + void initState() { super.initState(); logic.getLockKeysList(); @@ -86,7 +86,7 @@ class _LockUserPageState extends State { if (selectIndex == i) { item.isCurrentSelect = true; } else { - item.isCurrentSelect = true; + item.isCurrentSelect = false; } } setState(() { @@ -144,13 +144,13 @@ class _LockUserPageState extends State { ], ), ), - Image.asset( - state.isSelectIndex.value == selectIndex - ? 'images/icon_round_select.png' - : 'images/icon_round_unSelect.png', - width: 30.w, - height: 30.w, - ), + Obx(() => Image.asset( + state.isSelectIndex.value == selectIndex + ? 'images/icon_round_select.png' + : 'images/icon_round_unSelect.png', + width: 30.w, + height: 30.w, + )), SizedBox(width: 20.h), ], ), diff --git a/lib/main/lockDetail/messageWarn/lockUser/lockUser_state.dart b/lib/main/lockDetail/messageWarn/lockUser/lockUser_state.dart index 1efc82ee..f045b415 100755 --- a/lib/main/lockDetail/messageWarn/lockUser/lockUser_state.dart +++ b/lib/main/lockDetail/messageWarn/lockUser/lockUser_state.dart @@ -3,17 +3,21 @@ import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_entity.dart'; class LockUserState { - TextEditingController searchController = TextEditingController(); //邮箱/手机号输入框 - var isSelectUser = false.obs; - var isSelectIndex = 0.obs; - - var getLockId = 0.obs; - var lockUserList = [].obs; //锁所有用户列表 + //锁所有用户列表 LockUserState() { - Map map = Get.arguments; + final Map map = Get.arguments; if (map['getLockId'] != null) { getLockId.value = map['getLockId']; } + + selectedOpenDoorId.value = map['openDoorId']; } + TextEditingController searchController = TextEditingController(); //邮箱/手机号输入框 + RxBool isSelectUser = false.obs; + RxInt selectedOpenDoorId = 0.obs; + RxInt isSelectIndex = 0.obs; + + RxInt getLockId = 0.obs; + RxList lockUserList = [].obs; } diff --git a/lib/main/lockDetail/messageWarn/msgNotification/openDoorNotify/openDoorNotify_page.dart b/lib/main/lockDetail/messageWarn/msgNotification/openDoorNotify/openDoorNotify_page.dart index 009619ad..33c653c1 100755 --- a/lib/main/lockDetail/messageWarn/msgNotification/openDoorNotify/openDoorNotify_page.dart +++ b/lib/main/lockDetail/messageWarn/msgNotification/openDoorNotify/openDoorNotify_page.dart @@ -24,57 +24,60 @@ class _OpenDoorNotifyPageState extends State { @override void initState() { super.initState(); - logic.lockNoticeSettingAccountList(); } @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: '家人到家'.tr, - haveBack: true, - backgroundColor: AppColors.mainColor, - ), - body: Column( - children: [ - _topTipsWidget(), - SizedBox( - height: 20.h, + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: '家人到家'.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + ), + body: Column( + children: [ + _topTipsWidget(), + SizedBox(height: 20.h), + Expanded( + child: Obx( + () => state.openDoorNotifyList.value.isNotEmpty + ? _buildMainUI() + : NoData(), ), - Expanded( - child: Obx(() => state.openDoorNotifyList.value.isNotEmpty - ? _buildMainUI() - : NoData())), - AddBottomWhiteBtn( - btnName: '添加家人'.tr, - onClick: () { - Get.toNamed(Routers.addFamilyPage, arguments: { - 'lockId': state.getLockId.value, - 'isDetail': false - })?.then((value) { - if (value != null) { - logic.lockNoticeSettingAccountList(); - } - }); - }, - ), - SizedBox( - height: 64.h, - ) - ], - )); + ), + AddBottomWhiteBtn( + btnName: '添加家人'.tr, + onClick: () { + Get.toNamed(Routers.addFamilyPage, arguments: { + 'lockId': state.getLockId.value, + 'isDetail': false, + })?.then((value) { + if (value != null) { + logic.lockNoticeSettingAccountList(); + } + }); + }, + ), + SizedBox(height: 64.h), + ], + ), + ); } Widget _topTipsWidget() { return Container( - alignment: Alignment.centerLeft, - margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - child: Text( - '若锁没有联网,除电子钥匙外,密码、卡、指纹等开门提醒无法及时发送,请根据你的实际情况选择。'.tr, - style: TextStyle(color: AppColors.darkGrayTextColor, fontSize: 20.sp), - )); + alignment: Alignment.centerLeft, + margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), + child: Text( + '若锁没有联网,除电子钥匙外,密码、卡、指纹等开门提醒无法及时发送,请根据你的实际情况选择。'.tr, + style: TextStyle( + color: AppColors.darkGrayTextColor, + fontSize: 20.sp, + ), + ), + ); } Widget _buildMainUI() { @@ -99,11 +102,9 @@ class _OpenDoorNotifyPageState extends State { Get.toNamed(Routers.addFamilyPage, arguments: { 'itemData': itemData, 'lockId': state.getLockId.value, - 'isDetail': true + 'isDetail': true, })?.then((value) { - if (value != null) { - logic.lockNoticeSettingAccountList(); - } + logic.lockNoticeSettingAccountList(); }); }, child: Container( @@ -111,33 +112,30 @@ class _OpenDoorNotifyPageState extends State { height: 90.h, child: Row( children: [ - SizedBox( - width: 30.w, - ), + SizedBox(width: 30.w), Image.asset( 'images/controls_user.png', width: 60.w, height: 60.w, ), - SizedBox( - width: 20.w, - ), + SizedBox(width: 20.w), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ - Text( - itemData.settingValue!.remark ?? '', - style: TextStyle( - fontSize: 24.sp, color: AppColors.blackColor), - ), - SizedBox(width: 10.w), Expanded( - child: SizedBox( - width: 20.w, - )) + child: Text( + itemData.settingValue!.remark ?? '', + style: TextStyle( + fontSize: 24.sp, + color: AppColors.blackColor, + ), + overflow: TextOverflow.ellipsis, + ), + ), ], ), SizedBox(height: 10.h), @@ -147,8 +145,9 @@ class _OpenDoorNotifyPageState extends State { Text( logic.getKeyTypeStr(itemData), style: TextStyle( - fontSize: 18.sp, - color: AppColors.placeholderTextColor), + fontSize: 18.sp, + color: AppColors.placeholderTextColor, + ), ), ], ), From bfe66f89f3db849d15ad663b029d7136e86e0dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Thu, 18 Jul 2024 17:05:45 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1=EF=BC=8C=E5=BC=80=E9=94=81=E9=A1=B5-?= =?UTF-8?q?=E7=94=B5=E5=AD=90=E9=92=A5=E5=8C=99-=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=87=8C=E6=93=8D=E4=BD=9C=E5=AF=B9=E6=B0=B8=E4=B9=85=E7=9A=84?= =?UTF-8?q?=E6=99=AE=E9=80=9A=E9=92=A5=E5=8C=99=E5=86=BB=E7=BB=93=E5=92=8C?= =?UTF-8?q?=E8=A7=A3=E5=86=BB=EF=BC=8C=E5=AE=9E=E9=99=85=E9=94=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=E6=8E=88=E6=9D=83=E5=92=8C=E6=99=AE=E9=80=9A?= =?UTF-8?q?=E9=92=A5=E5=8C=99=E6=9C=AA=E6=94=B9=E5=8F=98=E7=8A=B6=E6=80=81?= =?UTF-8?q?=202=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=8F=91=E5=87=BA=E7=9A=84?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=AE=A1=E7=90=86=E5=91=98=E6=B0=B8=E4=B9=85?= =?UTF-8?q?=E6=97=B6=E9=99=90=E5=B9=B6=E5=9C=A8=E8=B6=85=E7=BA=A7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E7=AB=AF=E6=93=8D=E4=BD=9C=E5=86=BB=E7=BB=93?= =?UTF-8?q?=E6=9C=AA=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main/lockMian/lockList/lockList_logic.dart | 8 +++++++- lib/main/lockMian/lockList/lockList_page.dart | 17 +++++++++++------ .../lockMian/lockList/lockList_xhj_page.dart | 17 +++++++++++------ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/lib/main/lockMian/lockList/lockList_logic.dart b/lib/main/lockMian/lockList/lockList_logic.dart index 57247151..92daf947 100755 --- a/lib/main/lockMian/lockList/lockList_logic.dart +++ b/lib/main/lockMian/lockList/lockList_logic.dart @@ -131,6 +131,7 @@ class LockListLogic extends BaseGetXController { String getKeyEffective(LockListInfoItemEntity keyInfo) { // 当是限时、循环的时候 if (keyInfo.keyType == XSConstantMacro.keyTypeTime || + keyInfo.keyType == XSConstantMacro.keyTypeLong || keyInfo.keyType == XSConstantMacro.keyTypeLoop) { // 当是正常使用跟待接收状态的时候 if (keyInfo.keyStatus == XSConstantMacro.keyStatusNormalUse || @@ -154,6 +155,10 @@ class LockListLogic extends BaseGetXController { XSConstantMacro.keyStatusFrozen, XSConstantMacro.keyStatusExpired, ]; + + final bool isLongFrozenStatus = + keyInfo.keyType == XSConstantMacro.keyTypeLong && + keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen; final DateTime endDate = DateTime.fromMillisecondsSinceEpoch(keyInfo.endDate ?? 0); final DateTime now = DateTime.now(); @@ -161,7 +166,8 @@ class LockListLogic extends BaseGetXController { 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; + final bool isShow = + isKeyType && isKeyStatus || isExpirationSoon || isLongFrozenStatus; return isShow; } diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart index d97b3c0c..6871b95e 100755 --- a/lib/main/lockMian/lockList/lockList_page.dart +++ b/lib/main/lockMian/lockList/lockList_page.dart @@ -110,6 +110,7 @@ class _LockListPageState extends State with RouteAware { return; } if ((keyInfo.keyType == XSConstantMacro.keyTypeTime || + keyInfo.keyType == XSConstantMacro.keyTypeLong || keyInfo.keyType == XSConstantMacro.keyTypeLoop) && (keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) { logic.showToast('您的钥匙已冻结'.tr); @@ -143,12 +144,16 @@ class _LockListPageState extends State with RouteAware { ? EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w, bottom: 20.w) : EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), decoration: BoxDecoration( - color: ((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && - (keyInfo.keyStatus == - XSConstantMacro.keyStatusWaitIneffective || - keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen || - keyInfo.keyStatus == XSConstantMacro.keyStatusExpired)) + color: (((keyInfo.keyType == XSConstantMacro.keyTypeTime || + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + (keyInfo.keyStatus == + XSConstantMacro.keyStatusWaitIneffective || + keyInfo.keyStatus == + XSConstantMacro.keyStatusFrozen || + keyInfo.keyStatus == + XSConstantMacro.keyStatusExpired)) || + (keyInfo.keyType == XSConstantMacro.keyTypeLong && + keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) ? AppColors.greyBackgroundColor : Colors.white, borderRadius: BorderRadius.circular(20.w), diff --git a/lib/main/lockMian/lockList/lockList_xhj_page.dart b/lib/main/lockMian/lockList/lockList_xhj_page.dart index 47d6fce9..6c972bef 100755 --- a/lib/main/lockMian/lockList/lockList_xhj_page.dart +++ b/lib/main/lockMian/lockList/lockList_xhj_page.dart @@ -208,6 +208,7 @@ class _LockListXHJPageState extends State with RouteAware { return; } if ((keyInfo.keyType == XSConstantMacro.keyTypeTime || + keyInfo.keyType == XSConstantMacro.keyTypeLong || keyInfo.keyType == XSConstantMacro.keyTypeLoop) && (keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) { logic.showToast('您的钥匙已冻结'.tr); @@ -254,12 +255,16 @@ class _LockListXHJPageState extends State with RouteAware { onTap: action, child: Container( decoration: BoxDecoration( - color: ((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && - (keyInfo.keyStatus == - XSConstantMacro.keyStatusWaitIneffective || - keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen || - keyInfo.keyStatus == XSConstantMacro.keyStatusExpired)) + color: (((keyInfo.keyType == XSConstantMacro.keyTypeTime || + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + (keyInfo.keyStatus == + XSConstantMacro.keyStatusWaitIneffective || + keyInfo.keyStatus == + XSConstantMacro.keyStatusFrozen || + keyInfo.keyStatus == + XSConstantMacro.keyStatusExpired)) || + (keyInfo.keyType == XSConstantMacro.keyTypeLong && + keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) ? AppColors.greyBackgroundColor : Colors.white.withOpacity(0.8), borderRadius: BorderRadius.circular(20.w), From 38002914abdcaf48631b8ce0a0d98d498a24f74f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Thu, 18 Jul 2024 17:06:08 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main/lockMian/lockList/lockList_logic.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/main/lockMian/lockList/lockList_logic.dart b/lib/main/lockMian/lockList/lockList_logic.dart index 92daf947..8447abd4 100755 --- a/lib/main/lockMian/lockList/lockList_logic.dart +++ b/lib/main/lockMian/lockList/lockList_logic.dart @@ -156,6 +156,7 @@ class LockListLogic extends BaseGetXController { XSConstantMacro.keyStatusExpired, ]; + //新增以上组合未包含--永久&&冻结状态 显示 final bool isLongFrozenStatus = keyInfo.keyType == XSConstantMacro.keyTypeLong && keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen; From 9c355592729bec2beea36fe44f045fbb6d37f29b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Tue, 23 Jul 2024 09:25:45 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E7=BB=91=E5=AE=9A=E6=8E=A8=E9=80=81ID?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 7 +------ lib/main/lockMian/lockMain/lockMain_logic.dart | 9 ++++++++- lib/tools/push/xs_jPhush.dart | 8 +++++++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index c0edc5bd..c6e5745f 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -55,11 +55,6 @@ class StarLockLoginLogic extends BaseGetXController { eventBus.fire(MineInfoChangeRefreshUI()); Get.offNamedUntil(Routers.starLockMain, (Route route) => false); BlueManage().scanDevices.clear(); //清除设备缓存 - // 初始化JPush服务并绑定设备ID - final XSJPushProvider jpushProvider = XSJPushProvider(); - await jpushProvider.initJPushService(); - await jpushProvider.bindDeviceID(); - await jpushProvider.initLocalNotification(isCancelLocalPush: false); } } @@ -107,7 +102,7 @@ class StarLockLoginLogic extends BaseGetXController { } //刷新设备信息 - void flushedDeviceInfo() { + Future flushedDeviceInfo() async { XSConstantMacro().getDeviceInfoData().then((Map data) { state.deviceInfoMap.value = data; }).catchError((dynamic error) { diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart index 32852a77..8833f961 100755 --- a/lib/main/lockMian/lockMain/lockMain_logic.dart +++ b/lib/main/lockMian/lockMain/lockMain_logic.dart @@ -11,6 +11,7 @@ import 'package:star_lock/flavors.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart'; import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart'; import 'package:star_lock/tools/eventBusEventManage.dart'; +import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/showTipView.dart'; import '../../../app_settings/app_settings.dart'; @@ -260,8 +261,14 @@ class LockMainLogic extends BaseGetXController { } @override - void onReady() { + Future onReady() async { super.onReady(); + // 初始化JPush服务并绑定设备ID + final XSJPushProvider jpushProvider = XSJPushProvider(); + await jpushProvider.initJPushService(); + await jpushProvider.bindDeviceID(); + await jpushProvider.initLocalNotification(isCancelLocalPush: false); + // 开启UDP UdpHelp().openUDP(); BlueManage(); diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart index 2993aaee..b4defb24 100755 --- a/lib/tools/push/xs_jPhush.dart +++ b/lib/tools/push/xs_jPhush.dart @@ -69,7 +69,13 @@ class XSJPushProvider { Future bindDeviceID() async { try { AppLog.log('Fetching registration ID...'); - final String rid = await jpush.getRegistrationID(); + String rid; + rid = await jpush.getRegistrationID(); + if (rid.isEmpty) { + AppLog.log('Registration ID is empty.'); + rid = await jpush.getRegistrationID(); + return; + } AppLog.log('flutter get registration id : $rid'); await Storage.setString(pushDeviceID, rid); await pushBindDeviceID(rid, Platform.isAndroid ? 10 : 20);