2024-06-11 17:55:00 +08:00
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
|
|
import 'package:get/get.dart';
|
|
|
|
|
|
import 'package:star_lock/app_settings/app_colors.dart';
|
|
|
|
|
|
|
|
|
|
|
|
class EmailNotifyTypeSelectAlert extends StatelessWidget {
|
|
|
|
|
|
const EmailNotifyTypeSelectAlert({Key? key}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
|
// 不需要实现,因为这个组件只是为了显示静态方法的对话框
|
|
|
|
|
|
|
|
|
|
|
|
throw UnimplementedError();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void showEmailNotifyTypeSelectAlert(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
{required bool isEmail, required Function(int) onSelected}) {
|
2024-06-11 17:55:00 +08:00
|
|
|
|
bool isSystemEmailSelected = true; // 默认选中系统邮件
|
|
|
|
|
|
showCupertinoDialog(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
context: Get.context!,
|
2024-06-11 17:55:00 +08:00
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
|
return StatefulBuilder(
|
|
|
|
|
|
builder: (BuildContext context, StateSetter setState) {
|
|
|
|
|
|
return CupertinoAlertDialog(
|
|
|
|
|
|
title: const Text('类型选择'),
|
|
|
|
|
|
content: Column(
|
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
|
Padding(
|
|
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
|
|
left: 10.w, top: 8.h, bottom: 16.h, right: 10.w),
|
|
|
|
|
|
child: Align(
|
|
|
|
|
|
alignment: Alignment.centerLeft,
|
|
|
|
|
|
child:
|
|
|
|
|
|
Text('请选择要使用哪种类型', style: TextStyle(fontSize: 20.sp)),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
GestureDetector(
|
|
|
|
|
|
onTap: () {
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
isSystemEmailSelected = true;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
|
Image.asset(
|
|
|
|
|
|
isSystemEmailSelected
|
|
|
|
|
|
? 'images/icon_round_select.png'
|
|
|
|
|
|
: 'images/icon_round_unSelect.png',
|
|
|
|
|
|
width: 30.w,
|
|
|
|
|
|
height: 30.w,
|
|
|
|
|
|
),
|
|
|
|
|
|
Padding(
|
|
|
|
|
|
padding: EdgeInsets.only(left: 10.w),
|
|
|
|
|
|
child: Text(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
isEmail ? '系统邮件(推荐)' : '系统短信(推荐)',
|
2024-06-11 17:55:00 +08:00
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
fontSize: 22.sp, fontWeight: FontWeight.bold),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
Padding(
|
|
|
|
|
|
padding: EdgeInsets.only(top: 6.h, left: 10.w, bottom: 10.h),
|
|
|
|
|
|
child: Align(
|
|
|
|
|
|
alignment: Alignment.centerLeft,
|
|
|
|
|
|
child: Text(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
isEmail
|
2024-07-08 18:18:20 +08:00
|
|
|
|
? '邮件将从软件平台直接发给用户,请根据需要在软件里购买邮件数量。'
|
|
|
|
|
|
: '短信将从软件平台直接发给用户,请根据需要在软件里购买短信数量。',
|
2024-06-11 17:55:00 +08:00
|
|
|
|
style: TextStyle(fontSize: 18.sp),
|
|
|
|
|
|
textAlign: TextAlign.left,
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
GestureDetector(
|
|
|
|
|
|
onTap: () {
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
isSystemEmailSelected = false;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
|
Image.asset(
|
|
|
|
|
|
!isSystemEmailSelected
|
|
|
|
|
|
? 'images/icon_round_select.png'
|
|
|
|
|
|
: 'images/icon_round_unSelect.png',
|
|
|
|
|
|
width: 30.w,
|
|
|
|
|
|
height: 30.w,
|
|
|
|
|
|
),
|
|
|
|
|
|
Padding(
|
|
|
|
|
|
padding: EdgeInsets.only(left: 10.w),
|
|
|
|
|
|
child: Text(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
isEmail ? '个人邮件' : '个人短信',
|
2024-06-11 17:55:00 +08:00
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
fontSize: 22.sp, fontWeight: FontWeight.bold),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
Padding(
|
|
|
|
|
|
padding: EdgeInsets.only(top: 6.h, left: 10.w),
|
|
|
|
|
|
child: Align(
|
|
|
|
|
|
alignment: Alignment.centerLeft,
|
|
|
|
|
|
child: Text(
|
2024-06-12 13:53:59 +08:00
|
|
|
|
isEmail
|
|
|
|
|
|
? '邮件将从你的个人邮箱发给用户'
|
|
|
|
|
|
: '短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除',
|
2024-06-11 17:55:00 +08:00
|
|
|
|
style: TextStyle(fontSize: 18.sp),
|
2024-06-12 13:53:59 +08:00
|
|
|
|
textAlign: TextAlign.left,
|
2024-06-11 17:55:00 +08:00
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
actions: <Widget>[
|
|
|
|
|
|
CupertinoDialogAction(
|
|
|
|
|
|
onPressed: () {
|
|
|
|
|
|
final int selectedType =
|
|
|
|
|
|
isSystemEmailSelected ? 1 : 2; // 1 代表系统邮件,2 代表个人邮件
|
|
|
|
|
|
onSelected(selectedType);
|
|
|
|
|
|
Get.back();
|
|
|
|
|
|
},
|
|
|
|
|
|
child: Text(
|
|
|
|
|
|
'确定'.tr,
|
|
|
|
|
|
style: TextStyle(color: AppColors.mainColor),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
|
|
|
|
|
);
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|