Merge branch 'release' of https://gitee.com/starlock-cn/app-starlock into release

This commit is contained in:
魏少阳 2024-06-13 09:15:24 +08:00
commit 003b213ba8
3 changed files with 42 additions and 14 deletions

View File

@ -1,9 +1,12 @@
import 'dart:io';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_entity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_state.dart'; import 'package:star_lock/main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_state.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/commonDataManage.dart'; import 'package:star_lock/tools/commonDataManage.dart';
import 'package:url_launcher/url_launcher.dart';
class SendEmailNotificationLogic extends BaseGetXController { class SendEmailNotificationLogic extends BaseGetXController {
final SendEmailNotificationState state = SendEmailNotificationState(); final SendEmailNotificationState state = SendEmailNotificationState();
@ -50,4 +53,40 @@ class SendEmailNotificationLogic extends BaseGetXController {
Get.back(); Get.back();
} }
} }
Future<void> sendPersonalSMSOrEmail() async {
if (state.channelType.value == 1) {
//
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 (await canLaunchUrl(smsUri)) {
await launchUrl(smsUri);
} else {
throw 'Could not launch $smsUri';
}
} else if (state.channelType.value == 2) {
//
final Uri emailUri = Uri(
scheme: 'mailto',
path: state.getReceiver.value.isEmpty
? state.receiverController.text
: state.getReceiver.value,
queryParameters: <String, String>{
'subject': state.currentNotifyItem.value.name ?? '',
'body': state.templateContentController.text,
},
);
if (await canLaunchUrl(emailUri)) {
await launchUrl(emailUri);
} else {
throw 'Could not launch $emailUri';
}
}
}
} }

View File

@ -137,7 +137,9 @@ class _SendEmailNotificationPageState extends State<SendEmailNotificationPage> {
onClick: () { onClick: () {
if (state.notifyTypeSelect.value == 1) { if (state.notifyTypeSelect.value == 1) {
logic.keyNoticeSubmitRequest(); logic.keyNoticeSubmitRequest();
} else {} } else {
logic.sendPersonalSMSOrEmail();
}
}), }),
], ],
), ),

View File

@ -15,19 +15,6 @@ class SendEmailNotificationState {
if (Get.arguments['channelType'] != null) { if (Get.arguments['channelType'] != null) {
channelType.value = Get.arguments['channelType']; channelType.value = Get.arguments['channelType'];
updateNotifyTypeText(); updateNotifyTypeText();
// if (channelType.value == 1) {
// if (notifyTypeSelect.value == 1) {
// getNotifyTypeText.value = '系统短信';
// } else {
// getNotifyTypeText.value = '个人短信';
// }
// } else {
// if (notifyTypeSelect.value == 1) {
// getNotifyTypeText.value = '系统邮件';
// } else {
// getNotifyTypeText.value = '个人邮件';
// }
// }
} }
} }