From a524642a88f641e77e3b8138611161cc7274716e Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Thu, 13 Jun 2024 17:35:14 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E9=80=9A=E8=BF=87=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E7=BB=99=E7=94=A8=E6=88=B7=EF=BC=8CAndroid=E7=AB=AF?= =?UTF-8?q?=E5=B7=AE=E5=BC=82=E5=8C=96=E5=A4=84=E7=90=86=202=EF=BC=8C?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=AE=A1=E7=90=86=E5=91=98=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=88=90=E5=8A=9F=E5=90=8E=EF=BC=8C=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E9=82=AE=E4=BB=B6=E3=80=81=E7=9F=AD=E4=BF=A1=E5=8F=91?= =?UTF-8?q?=E9=80=81=E7=BB=99=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorizedAdmin/authorizedAdmin_page.dart | 12 ++++++----- .../view/sendElectronicKeyView_page.dart | 6 ------ .../sendEmailNotification_logic.dart | 21 +++++++++++++++++-- .../addAuthorizedAdministrator_logic.dart | 2 ++ .../addAuthorizedAdministrator_page.dart | 15 +++++++------ .../addAuthorizedAdministrator_state.dart | 1 + 6 files changed, 36 insertions(+), 21 deletions(-) diff --git a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart index 9bf86204..27ce36ff 100755 --- a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart +++ b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart @@ -359,11 +359,13 @@ class _AuthorizedAdminPageState extends State btnName: state.emailOrPhoneController.text.contains('@') ? '邮件通知' : '短信通知', onClick: () { - if (state.emailOrPhoneController.text.contains('@')) { - Get.toNamed(Routers.sendEmailNotificationPage); - } else { - logic.sendMsg(isPhone: true); - } + Get.toNamed(Routers.sendEmailNotificationPage, + arguments: { + 'receiver': state.emailOrPhoneController.text, + 'channelType': + state.emailOrPhoneController.text.contains('@') ? 2 : 1, + 'keyId': logic.keyId + }); }, ), SizedBox( diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart index c0a7a24c..3ee28f49 100755 --- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart +++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart @@ -416,12 +416,6 @@ class _SendElectronicKeyViewState extends State SizedBox( height: 10.h, ), - // OutLineBtn( - // btnName: '分享'.tr, - // onClick: () { - // _openModalBottomSheet(); - // }, - // ), if (logic.emailOrPhone != null) OutLineBtn( btnName: logic.state.userNameType.value == 1 ? '短信通知' : '邮件通知', diff --git a/lib/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_logic.dart b/lib/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_logic.dart index a39df1b9..d35e5e71 100644 --- a/lib/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_logic.dart +++ b/lib/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_logic.dart @@ -54,15 +54,32 @@ class SendEmailNotificationLogic extends BaseGetXController { } } +//发送邮件、短信 Future sendPersonalSMSOrEmail() async { + if (state.receiverController.text.isEmpty && + state.getReceiver.value.isEmpty) { + showToast('请输入接收者'); + return; + } + if (state.channelType.value == 1) { + Uri smsUri; //短信 final String phoneNumber = state.getReceiver.value.isEmpty ? state.receiverController.text : state.getReceiver.value; final String message = state.templateContentController.text; - final Uri smsUri = - Uri.parse('sms:$phoneNumber&body=${Uri.encodeComponent(message)}'); + + if (Platform.isAndroid) { + smsUri = Uri( + scheme: 'sms', + path: phoneNumber, + query: 'body=${Uri.encodeComponent(message)}', + ); + } else { + smsUri = + Uri.parse('sms:$phoneNumber&body=${Uri.encodeComponent(message)}'); + } if (await canLaunchUrl(smsUri)) { await launchUrl(smsUri); diff --git a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart index 55150c1a..1f662726 100755 --- a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart +++ b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart @@ -72,6 +72,8 @@ class AddAuthorizedAdministratorLogic extends BaseGetXController { if (entity.errorCode!.codeIsSuccessful) { state.isSendSuccess.value = true; state.isCreateUser.value = false; + state.getKeyId.value = entity.data!.keyId ?? 0; + // Toast.show(msg: "添加成功"); eventBus.fire(AuthorizedAdministratorListPageRefreshUI()); diff --git a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart index 3a0d0adc..ddca6ae2 100755 --- a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart +++ b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart @@ -478,14 +478,13 @@ class _AddAuthorizedAdministratorPageState btnName: state.emailOrPhoneController.text.contains('@') ? '邮件通知' : '短信通知', onClick: () { - if (state.emailOrPhoneController.text.contains('@')) { - Get.toNamed(Routers.sendEmailNotificationPage); - } else { - // _openModalBottomSheet(); - NativeInteractionTool() - .loadNativeShare(shareText: state.pwdShareStr); - } - // Get.toNamed(state.emailOrPhoneController.text.contains("@")? Routers.sendEmailNotificationPage:Routers.sendEmailNotificationPage); + Get.toNamed(Routers.sendEmailNotificationPage, + arguments: { + 'receiver': state.emailOrPhoneController.text, + 'channelType': + state.emailOrPhoneController.text.contains('@') ? 2 : 1, + 'keyId': state.getKeyId.value + }); }, ), SizedBox( diff --git a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart index 4b0a8e17..40f6201f 100755 --- a/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart +++ b/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart @@ -34,4 +34,5 @@ class AddAuthorizedAdministratorState { final Rx keyInfo = LockListInfoItemEntity().obs; String pwdShareStr = '您好,您的授权管理员生成成功'; + RxInt getKeyId = 0.obs; }