From a0f819285c6ed343b878cc1e68ab98e705fdca3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Wed, 5 Jun 2024 18:40:35 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=8C=87=E7=BA=B9=E5=8D=A1=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E4=BA=BA=E8=84=B8=E5=88=97=E8=A1=A8=E7=AD=89=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=8D=E9=9A=8F=E7=9D=80=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E5=BC=B9=E8=B5=B7=E8=80=8C=E5=BC=B9=E8=B5=B7=E3=80=822?= =?UTF-8?q?=E3=80=81=E6=88=91=E7=9A=84=E9=87=8C=E9=9D=A2App=E5=BC=80?= =?UTF-8?q?=E9=94=81=E6=97=B6=E9=9C=80=E6=89=8B=E6=9C=BA=E8=BF=9E=E7=BD=91?= =?UTF-8?q?=E7=9A=84=E9=94=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorizedAdminList_page.dart | 1 + .../card/cardList/cardList_page.dart | 1 + .../electronicKeyList_page.dart | 1 + .../face/faceList/faceList_page.dart | 1 + .../fingerprintList/fingerprintList_page.dart | 1 + .../fingerprintList_state.dart | 26 ++++----- .../passwordKeyList/passwordKeyList_page.dart | 1 + ...pUnlockNeedMobileNetworkingLock_logic.dart | 25 +++------ ...ppUnlockNeedMobileNetworkingLock_page.dart | 55 ++++++++++++++----- ...pUnlockNeedMobileNetworkingLock_state.dart | 10 ++-- lib/network/api_provider.dart | 6 +- lib/network/api_repository.dart | 4 +- 12 files changed, 79 insertions(+), 53 deletions(-) diff --git a/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart b/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart index aac3c42e..f466f207 100755 --- a/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart +++ b/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart @@ -52,6 +52,7 @@ class _AuthorizedAdminListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, haveBack: true, diff --git a/lib/main/lockDetail/card/cardList/cardList_page.dart b/lib/main/lockDetail/card/cardList/cardList_page.dart index 088d571b..e7e7a4c2 100755 --- a/lib/main/lockDetail/card/cardList/cardList_page.dart +++ b/lib/main/lockDetail/card/cardList/cardList_page.dart @@ -54,6 +54,7 @@ class _CardListPageState extends State with RouteAware { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.card!.tr, haveBack: true, diff --git a/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart b/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart index 153c3193..01e7c55b 100755 --- a/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart +++ b/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart @@ -51,6 +51,7 @@ class _ElectronicKeyListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.electronicKey!.tr, haveBack: true, diff --git a/lib/main/lockDetail/face/faceList/faceList_page.dart b/lib/main/lockDetail/face/faceList/faceList_page.dart index 28b9a109..e1a5c2ae 100755 --- a/lib/main/lockDetail/face/faceList/faceList_page.dart +++ b/lib/main/lockDetail/face/faceList/faceList_page.dart @@ -51,6 +51,7 @@ class _FaceListPageState extends State with RouteAware { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.face!.tr, haveBack: true, diff --git a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart index 91865d3d..09c5759e 100755 --- a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart +++ b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart @@ -55,6 +55,7 @@ class _FingerprintListPageState extends State Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.fingerprint!.tr, haveBack: true, diff --git a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart index 52c3d8cb..54f79b4c 100755 --- a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart +++ b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart @@ -4,21 +4,21 @@ import 'package:get/get.dart'; import 'fingerprintListData_entity.dart'; -class FingerprintListState{ - final lockId = 0.obs; - - // 因为删除跟添加指纹用的同一个协议 所以这里用做判断 - var isDeletAll = false; - var deletKeyID = "0"; - var deletFingerNo = 0; - - final fingerprintItemListData = [].obs; - final TextEditingController searchController = TextEditingController(); - - var ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 +class FingerprintListState{ // 是否是当前界面,用于判断是否需要针对当前界面进行展示 FingerprintListState() { Map map = Get.arguments; - lockId.value = map["lockId"]; + lockId.value = map['lockId']; } + final RxInt lockId = 0.obs; + + // 因为删除跟添加指纹用的同一个协议 所以这里用做判断 + bool isDeletAll = false; + String deletKeyID = '0'; + int deletFingerNo = 0; + + final RxList fingerprintItemListData = [].obs; + final TextEditingController searchController = TextEditingController(); + + RxBool ifCurrentScreen = true.obs; } \ No newline at end of file diff --git a/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart b/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart index 4ed1ff0a..b86e5fad 100755 --- a/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart +++ b/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart @@ -52,6 +52,7 @@ class _PasswordKeyListPageState extends State Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader.lanKeys!.password!.tr, haveBack: true, diff --git a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart index 80e9314b..6e2bc08f 100755 --- a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart +++ b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_logic.dart @@ -8,50 +8,41 @@ class AppUnlockNeedMobileNetworkingLockLogic extends BaseGetXController{ final AppUnlockNeedMobileNetworkingLockState state = AppUnlockNeedMobileNetworkingLockState(); //请求锁列表 - Future> mockNetworkDataRequest() async { - SelectLockListEntity entity = await ApiRepository.to.selectLockList(); - List dataList = []; + Future mockNetworkDataRequest() async { + final SelectLockListEntity entity = await ApiRepository.to.selectLockList(searchStr: state.searchController.text); + List dataList = []; if (entity.errorCode!.codeIsSuccessful) { dataList = entity.data!.list!; state.lockItemList.value = dataList; for (int i = 0; i < dataList.length; i++) { - var itemData = dataList[i]; + final LockItemData itemData = dataList[i]; if (itemData.appUnlockOnline == 1) { state.selectLockIdList.add(itemData.lockId); } } } - return dataList; + return entity; } //APP开锁时需手机联网的锁 Future setAppUnlockMustOnlineRequest() async { - SelectLockListEntity entity = + final SelectLockListEntity entity = await ApiRepository.to.setAppUnlockMustOnline(state.selectLockIdList); if (entity.errorCode!.codeIsSuccessful) { - showToast("操作成功"); + showToast('操作成功'); } } @override void onReady() { - // TODO: implement onReady super.onReady(); - mockNetworkDataRequest(); + // mockNetworkDataRequest(); } @override void onInit() { - // TODO: implement onInit super.onInit(); } - - @override - void onClose() { - // TODO: implement onClose - - } - } \ No newline at end of file diff --git a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart index 0be3ae30..a0ea8964 100755 --- a/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart +++ b/lib/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart @@ -1,11 +1,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:star_lock/mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_state.dart'; import 'package:star_lock/mine/mineSet/appUnlockNeedMobileNetworkingLock/selectLockListEntity.dart'; import '../../../app_settings/app_colors.dart'; import '../../../tools/commonItem.dart'; +import '../../../tools/keySearchWidget.dart'; import '../../../tools/noData.dart'; +import '../../../tools/storage.dart'; import '../../../tools/submitBtn.dart'; import '../../../tools/titleAppBar.dart'; import '../../../translations/trans_lib.dart'; @@ -20,19 +23,30 @@ class APPUnlockNeedMobileNetworkingLockPage extends StatefulWidget { } class _APPUnlockNeedMobileNetworkingLockPageState extends State { - final logic = Get.put(AppUnlockNeedMobileNetworkingLockLogic()); - final state = Get.find().state; + final AppUnlockNeedMobileNetworkingLockLogic logic = Get.put(AppUnlockNeedMobileNetworkingLockLogic()); + final AppUnlockNeedMobileNetworkingLockState state = Get.find().state; + + Future getHttpData() async { + final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + if (isDemoMode == false) { + logic.mockNetworkDataRequest().then((SelectLockListEntity value) { + setState(() {}); + }); + } + } @override void initState() { super.initState(); + getHttpData(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, + resizeToAvoidBottomInset: false, appBar: TitleAppBar( barTitle: TranslationLoader .lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr, @@ -48,12 +62,19 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State state.lockItemList.value.isEmpty ? NoData() :Column( - children: [ + children: [ + KeySearchWidget( + editingController: state.searchController, + onSubmittedAction: () { + state.lockItemList.value = []; + logic.mockNetworkDataRequest(); + }, + ), Container( - padding: EdgeInsets.all(30.w), + padding: EdgeInsets.all(15.w), child: Row( mainAxisAlignment: MainAxisAlignment.start, - children: [ + children: [ Expanded( child: Text( TranslationLoader.lanKeys! @@ -65,14 +86,14 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State Row( - children: [ + children: [ Image.asset( state.isCheckAll.value ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, @@ -97,8 +118,8 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State[ SizedBox( width: 15.w, ), @@ -166,10 +187,14 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State[].obs; - var selectLockIdList = []; - var isCheckAll = false.obs; + RxList lockItemList = [].obs; + List selectLockIdList = []; + RxBool isCheckAll = false.obs; + + final TextEditingController searchController = TextEditingController(); } \ No newline at end of file diff --git a/lib/network/api_provider.dart b/lib/network/api_provider.dart index 693e5d7b..d698bb71 100755 --- a/lib/network/api_provider.dart +++ b/lib/network/api_provider.dart @@ -595,8 +595,10 @@ class ApiProvider extends BaseProvider { 'lockIds': lockIds, })); - Future selectLockList() => - post(selectLockListURL.toUrl, jsonEncode({})); + Future selectLockList(String searchStr) => + post(selectLockListURL.toUrl, jsonEncode({ + 'searchStr': searchStr, + })); //APP开锁时需手机联网的锁 Future setAppUnlockMustOnline(List lockIdList) => post( diff --git a/lib/network/api_repository.dart b/lib/network/api_repository.dart index ef85485e..a361647e 100755 --- a/lib/network/api_repository.dart +++ b/lib/network/api_repository.dart @@ -618,8 +618,8 @@ class ApiRepository { } //选择锁列表 - Future selectLockList() async { - final res = await apiProvider.selectLockList(); + Future selectLockList({String? searchStr}) async { + final res = await apiProvider.selectLockList(searchStr ?? ''); return SelectLockListEntity.fromJson(res.body); }