141 lines
5.4 KiB
Dart
141 lines
5.4 KiB
Dart
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(
|
||
{required bool isEmail, required Function(int) onSelected}) {
|
||
bool isSystemEmailSelected = true; // 默认选中系统邮件
|
||
showCupertinoDialog(
|
||
context: Get.context!,
|
||
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(
|
||
isEmail ? '系统邮件(推荐)' : '系统短信(推荐)',
|
||
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(
|
||
isEmail
|
||
? '邮件将从软件平台直接发给用户,请根据需要在软件那里购买邮件数量'
|
||
: '短信将从软件平台直接发给用户,请根据需要在软件那里购买短信数量',
|
||
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(
|
||
isEmail ? '个人邮件' : '个人短信',
|
||
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(
|
||
isEmail
|
||
? '邮件将从你的个人邮箱发给用户'
|
||
: '短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除',
|
||
style: TextStyle(fontSize: 18.sp),
|
||
textAlign: TextAlign.left,
|
||
),
|
||
),
|
||
),
|
||
],
|
||
),
|
||
actions: <Widget>[
|
||
CupertinoDialogAction(
|
||
onPressed: () {
|
||
final int selectedType =
|
||
isSystemEmailSelected ? 1 : 2; // 1 代表系统邮件,2 代表个人邮件
|
||
onSelected(selectedType);
|
||
Get.back();
|
||
},
|
||
child: Text(
|
||
'确定'.tr,
|
||
style: TextStyle(color: AppColors.mainColor),
|
||
),
|
||
),
|
||
],
|
||
);
|
||
});
|
||
},
|
||
);
|
||
}
|
||
}
|