From 317013eb98c7c1ab17b5b666d36a46864f3eb318 Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Tue, 14 May 2024 17:08:35 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=AE=9E=E5=90=8D?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E7=82=B9=E5=87=BB=E9=80=BB=E8=BE=91=202?= =?UTF-8?q?=EF=BC=8C=E6=8E=88=E6=9D=83=E7=AE=A1=E7=90=86=E5=91=98=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=96=B0=E5=A2=9E=E8=81=94=E7=B3=BB=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorizedAdmin_logic.dart | 11 ++-- .../view/sendElectronicKeyView_logic.dart | 11 ++-- .../lockDetail/lockDetail_page.dart | 8 ++- star_lock/lib/network/api_provider.dart | 49 +++++++-------- star_lock/lib/network/api_repository.dart | 37 ++++++------ .../lib/tools/showCupertinoAlertView.dart | 59 ++++++++++++++++++- star_lock/lib/tools/showTipView.dart | 32 ---------- 7 files changed, 116 insertions(+), 91 deletions(-) diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart index 287710b0..a2e3a7d9 100644 --- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart +++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart @@ -228,20 +228,23 @@ class AuthorizedAdminLogic extends BaseGetXController { //检测实名认证是否支持开启 Future keyCheckFace() async { AdvancedFunctionRecordEntity entity = await ApiRepository.to.keyCheckFace( - countryCode: int.parse(state.countryCode.value), - account: state.emailOrPhoneController.text); + lockId: CommonDataManage().currentKeyInfo.lockId ?? 0, + ); if (entity.errorCode!.codeIsSuccessful) { //打开实名认证,需要弹出输入身份证信息框 state.isRequireAuth.value = true; state.isAuthentication.value = true; - } else { + } else if (entity.errorCode == 432) { //432--余量不足,需购买 - ShowTipView().showBuyTipWithContentAlert( + ShowCupertinoAlertView().showBuyTipWithContentAlert( titleStr: '实名认证为付费功能,请购买后再使用'.tr, sureClick: () { Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {'isShop': false}); }); + } else if (entity.errorCode == 433) { + //需联系管理员购买 + ShowCupertinoAlertView().showContactAdministratorBuyAlert(); } } diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart index 86bb7c82..a5460d17 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart @@ -185,20 +185,23 @@ class SendElectronicKeyViewLogic extends BaseGetXController { //检测实名认证是否支持开启 Future keyCheckFace() async { AdvancedFunctionRecordEntity entity = await ApiRepository.to.keyCheckFace( - countryCode: int.parse(state.countryCode), - account: state.emailOrPhoneController.text); + lockId: CommonDataManage().currentKeyInfo.lockId ?? 0, + ); if (entity.errorCode!.codeIsSuccessful) { //打开实名认证,需要弹出输入身份证信息框 state.isRequireAuth.value = true; state.isAuthentication.value = true; - } else { + } else if (entity.errorCode == 432) { //432--余量不足,需购买 - ShowTipView().showBuyTipWithContentAlert( + ShowCupertinoAlertView().showBuyTipWithContentAlert( titleStr: '实名认证为付费功能,请购买后再使用'.tr, sureClick: () { Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {'isShop': false}); }); + } else if (entity.errorCode == 433) { + //需联系管理员购买 + ShowCupertinoAlertView().showContactAdministratorBuyAlert(); } } diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart index e6c404a9..8e6cde2a 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -643,8 +643,8 @@ class _LockDetailPageState extends State : false, child: GestureDetector( onTap: () { - ShowCupertinoAlertView() - .isToRemoteUnLockAlert((idCard, name) { + ShowCupertinoAlertView().isToRemoteUnLockAlert( + remoteUnlockAction: () { if (state.keyInfos.value.hasGateway != 1) { logic.showToast('附近没有可用网关'); } @@ -1316,7 +1316,9 @@ class _LockDetailPageState extends State //如果需要实名认证,需认证完成,方可开锁 isNeedRealNameAuthThenOpenLock() { state.nextAuthTime.value = state.keyInfos.value.nextFaceValidateTime ?? 0; - if (state.keyInfos.value.faceAuthentication == 1 && state.nextAuthTime.value > 0 && DateTool().compareTimeIsOvertime(state.nextAuthTime.value) == true) { + if (state.keyInfos.value.faceAuthentication == 1 && + state.nextAuthTime.value > 0 && + DateTool().compareTimeIsOvertime(state.nextAuthTime.value) == true) { AliyunRealNameAuthProvider( getLockInfo: state.keyInfos.value, onCertifyResultWithTime: ((bool isSuccess, int getNextAuthTime) { diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 9a9e93a0..c2182fa6 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -184,8 +184,7 @@ class ApiProvider extends BaseProvider { 'electricQuantityStandby': electricQuantityStandby, 'lockId': lockId, }), - isUnShowLoading: isUnShowLoading - ); + isUnShowLoading: isUnShowLoading); Future modifyKeyName( String keyId, @@ -265,17 +264,17 @@ class ApiProvider extends BaseProvider { Future lockRecordList( {required String lockId, - required String pageNo, - required String recordType, - required String searchStr, - required String startDate, - required String endDate, - required String keyboardPwdId, - required String cardId, - required String fingerprintId, - required String keyId, - required String faceId, - required String pageSize}) => + required String pageNo, + required String recordType, + required String searchStr, + required String startDate, + required String endDate, + required String keyboardPwdId, + required String cardId, + required String fingerprintId, + required String keyId, + required String faceId, + required String pageSize}) => post( keyOperationRecordURL.toUrl, jsonEncode({ @@ -809,10 +808,8 @@ class ApiProvider extends BaseProvider { })); // 获取服务器当前时间 - Future getServerDatetimeLoadData() => post( - getServerDatetimeUrl.toUrl, - jsonEncode({}), - isUnShowLoading: true); + Future getServerDatetimeLoadData() => + post(getServerDatetimeUrl.toUrl, jsonEncode({}), isUnShowLoading: true); // 锁诊断 Future setLockDiagnoseData( @@ -1611,12 +1608,12 @@ class ApiProvider extends BaseProvider { post(getUserInfoURL.toUrl, jsonEncode({'operatorUid': operatorUid})); // 重置密码钥匙 - Future keyboardPwdReset(String lockId, List passwordKey) => - post(keyboardPwdResetURL.toUrl, - jsonEncode({ - 'lockId': lockId, - 'passwordKey': passwordKey, - })); + Future keyboardPwdReset(String lockId, List passwordKey) => post( + keyboardPwdResetURL.toUrl, + jsonEncode({ + 'lockId': lockId, + 'passwordKey': passwordKey, + })); //登陆后可使用获取验证码,免图片滑动验证 Future sendValidationCodeAuth(String countryCode, String account, @@ -2042,14 +2039,12 @@ class ApiProvider extends BaseProvider { // 检测实名认证是否支持开启 Future keyCheckFace( - int countryCode, - String account, + int lockId, ) => post( isFaceAuthenticationURL.toUrl, jsonEncode({ - 'countryCode': countryCode, - 'account': account, + 'lockId': lockId, })); // 获取人脸认证certifyId diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index 6ad25392..9288b3c8 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -219,19 +219,19 @@ class ApiRepository { //钥匙详情-操作记录 Future lockRecordList({ - required String lockId, - required String pageNo, - required String recordType, - required String searchStr, - required String startDate, - required String endDate, - required String keyboardPwdId, - required String cardId, - required String fingerprintId, - required String keyId, - required String faceId, - required String pageSize, - }) async { + required String lockId, + required String pageNo, + required String recordType, + required String searchStr, + required String startDate, + required String endDate, + required String keyboardPwdId, + required String cardId, + required String fingerprintId, + required String keyId, + required String faceId, + required String pageSize, + }) async { final res = await apiProvider.lockRecordList( lockId: lockId, pageNo: pageNo, @@ -323,9 +323,9 @@ class ApiRepository { //锁电量更新 Future uploadElectricQuantity( {required String? electricQuantity, - required String? electricQuantityStandby, - required String? lockId, - required bool? isUnShowLoading}) async { + required String? electricQuantityStandby, + required String? lockId, + required bool? isUnShowLoading}) async { final res = await apiProvider.uploadElectricQuantity( electricQuantity!, electricQuantityStandby!, lockId!, isUnShowLoading!); return KeyOperationRecordEntity.fromJson(res.body); @@ -2075,10 +2075,9 @@ class ApiRepository { // 检测实名认证是否支持开启 Future keyCheckFace({ - required int countryCode, - required String account, + required int lockId, }) async { - final res = await apiProvider.keyCheckFace(countryCode, account); + final res = await apiProvider.keyCheckFace(lockId); return AdvancedFunctionRecordEntity.fromJson(res.body); } diff --git a/star_lock/lib/tools/showCupertinoAlertView.dart b/star_lock/lib/tools/showCupertinoAlertView.dart index ddca72fd..dd9f7336 100644 --- a/star_lock/lib/tools/showCupertinoAlertView.dart +++ b/star_lock/lib/tools/showCupertinoAlertView.dart @@ -276,7 +276,7 @@ class ShowCupertinoAlertView { } //是否要远程开锁弹窗 - void isToRemoteUnLockAlert(AuthInfoCallback callback) { + void isToRemoteUnLockAlert({required Function remoteUnlockAction}) { showCupertinoDialog( context: Get.context!, builder: (BuildContext context) { @@ -296,7 +296,7 @@ class ShowCupertinoAlertView { CupertinoDialogAction( onPressed: () { // 在这里处理确认按钮的逻辑 - callback(null, null); + remoteUnlockAction(); Get.back(); }, child: Text( @@ -309,4 +309,59 @@ class ShowCupertinoAlertView { }, ); } + + // 购买按钮 + void showBuyTipWithContentAlert( + {required String titleStr, required Function sureClick}) { + showCupertinoDialog( + context: Get.context!, + builder: (context) { + return CupertinoAlertDialog( + title: Text(titleStr), + actions: [ + CupertinoDialogAction( + child: Text( + '取消'.tr, + style: TextStyle(color: AppColors.mainColor), + ), + onPressed: () { + Get.back(); + }, + ), + CupertinoDialogAction( + child: + Text('购买'.tr, style: TextStyle(color: AppColors.mainColor)), + onPressed: () { + Get.back(); + sureClick(); + }, + ), + ], + ); + }, + ); + } + + // 联系管理员购买 + void showContactAdministratorBuyAlert() { + showCupertinoDialog( + context: Get.context!, + builder: (context) { + return CupertinoAlertDialog( + title: const Text('实名认证为付费功能,请联系锁的管理员购买后再使用'), + actions: [ + CupertinoDialogAction( + child: Text( + '确定'.tr, + style: TextStyle(color: AppColors.mainColor), + ), + onPressed: () { + Get.back(); + }, + ), + ], + ); + }, + ); + } } diff --git a/star_lock/lib/tools/showTipView.dart b/star_lock/lib/tools/showTipView.dart index 24110458..40ca6fad 100644 --- a/star_lock/lib/tools/showTipView.dart +++ b/star_lock/lib/tools/showTipView.dart @@ -122,36 +122,4 @@ class ShowTipView { }, ); } - - // 购买按钮 - void showBuyTipWithContentAlert( - {required String titleStr, required Function sureClick}) { - showCupertinoDialog( - context: Get.context!, - builder: (context) { - return CupertinoAlertDialog( - title: Text(titleStr), - actions: [ - CupertinoDialogAction( - child: Text( - '取消'.tr, - style: TextStyle(color: AppColors.mainColor), - ), - onPressed: () { - Get.back(); - }, - ), - CupertinoDialogAction( - child: - Text('购买'.tr, style: TextStyle(color: AppColors.mainColor)), - onPressed: () { - Get.back(); - sureClick(); - }, - ), - ], - ); - }, - ); - } }