You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
5.1 KiB
194 lines
5.1 KiB
2 years ago
|
import 'package:flutter/material.dart';
|
||
|
import 'package:project_telephony/utils/headers.dart';
|
||
|
|
||
|
import '../../constants/api.dart';
|
||
|
import '../../model/network/api_client.dart';
|
||
|
import '../../utils/toast/cloud_toast.dart';
|
||
|
|
||
|
class AppDialog extends Dialog {
|
||
|
final String title;
|
||
|
final String confirm; //按钮文字
|
||
|
// final String content; //内容
|
||
|
// final bool? showCancel;
|
||
|
// final OnDialogClickListener? clickListener;
|
||
|
|
||
|
const AppDialog( // this.showCancel,
|
||
|
// this.clickListener,
|
||
|
{
|
||
|
Key? key,
|
||
|
this.title = "恭喜您获得会员体验卡",
|
||
|
this.confirm = "立即领取",
|
||
|
// this.content = "内容",
|
||
|
}) : super(key: key);
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return Container(
|
||
|
margin: EdgeInsets.symmetric(horizontal: 95.w,vertical: 452.w),
|
||
|
decoration: BoxDecoration(
|
||
|
image:
|
||
|
DecorationImage(image: AssetImage(Assets.images.bouncedbg.path))),
|
||
|
child: Column(
|
||
|
children: [
|
||
|
32.hb,
|
||
|
Text(
|
||
|
title,
|
||
|
style: TextStyle(
|
||
|
fontSize: 36.sp,
|
||
|
),
|
||
|
),
|
||
|
80.hb,
|
||
|
_getVip(),
|
||
|
218.hb,
|
||
|
Row(
|
||
|
children: [
|
||
|
72.wb,
|
||
|
_getText("接听发送"),
|
||
|
64.wb,
|
||
|
_getText("拒接发送"),
|
||
|
64.wb,
|
||
|
_getText("提升形象"),
|
||
|
],
|
||
|
),
|
||
|
50.hb,
|
||
|
_getBotton(confirm, context),
|
||
|
],
|
||
|
),
|
||
|
);
|
||
|
/**/
|
||
|
//
|
||
|
// Stack(
|
||
|
// children: [
|
||
|
// Align(
|
||
|
// child: Image.asset(
|
||
|
// Assets.images.bouncedbg.path,
|
||
|
// width: 560.w,
|
||
|
// height: 720.w,
|
||
|
// fit: BoxFit.fill,
|
||
|
// ),
|
||
|
// ),
|
||
|
// Positioned(
|
||
|
// top: 64.w,
|
||
|
// left: 100.w,
|
||
|
// child: Text(
|
||
|
// title,
|
||
|
// style: TextStyle(
|
||
|
// fontSize: 36.sp,
|
||
|
// ),
|
||
|
// )),
|
||
|
// Positioned(top: 108.w, left: 96.w, child: _getVip()),
|
||
|
// Positioned(
|
||
|
// child: Row(
|
||
|
// children: [
|
||
|
// _getText("接听发送"),
|
||
|
// 64.wb,
|
||
|
// _getText("拒接发送"),
|
||
|
// 64.wb,
|
||
|
// _getText("提升形象"),
|
||
|
// ],
|
||
|
// )),
|
||
|
// Positioned(child: _getBotton(confirm, context)),
|
||
|
// ],
|
||
|
// );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
_getBotton(String bContent, context) {
|
||
|
return GestureDetector(
|
||
|
onTap: () async{
|
||
|
var res=await apiClient.request(API.app.trialVip);
|
||
|
if(res.code==0){
|
||
|
// showDialog(context: context, builder: (context){
|
||
|
// return const AppDialog();
|
||
|
// });
|
||
|
CloudToast.show(res.msg);
|
||
|
// BoxShadow.show(res.msg);
|
||
|
}else{
|
||
|
CloudToast.show(res.msg);
|
||
|
Navigator.pop(context);
|
||
|
}
|
||
|
},
|
||
|
child: Container(
|
||
|
margin: EdgeInsets.symmetric(horizontal: 64.w),
|
||
|
padding: EdgeInsets.symmetric(horizontal: 155.w,vertical: 28.w),
|
||
|
height: 88.w,
|
||
|
decoration: BoxDecoration(
|
||
|
borderRadius: BorderRadius.circular(12.w),
|
||
|
gradient: const LinearGradient(
|
||
|
colors: [Color(0xFFFFEAB0), Color(0xFFFFF6D8)],
|
||
|
end: Alignment.centerLeft,
|
||
|
begin: Alignment.centerRight)),
|
||
|
child: Text(
|
||
|
bContent,
|
||
|
style: TextStyle(fontSize: 28.sp,fontWeight:FontWeight.bold),
|
||
|
),
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
|
||
|
_getText(String content) {
|
||
|
return Text(
|
||
|
content,
|
||
|
style: TextStyle(color: const Color(0xFF1890FF), fontSize: 24.w),
|
||
|
);
|
||
|
}
|
||
|
|
||
|
_getVip() {
|
||
|
return SizedBox(
|
||
|
width: 370.w,
|
||
|
height: 100.w,
|
||
|
child: Column(
|
||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||
|
children: [
|
||
|
Row(
|
||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||
|
children: [
|
||
|
Text.rich(TextSpan(children: [
|
||
|
TextSpan(
|
||
|
text: "03",
|
||
|
style: TextStyle(
|
||
|
color: const Color(0xFFFFEAB0),
|
||
|
fontSize: 56.sp,
|
||
|
fontFamily: "BlackItalic",
|
||
|
fontWeight: FontWeight.bold)),
|
||
|
TextSpan(
|
||
|
text: "天",
|
||
|
style: TextStyle(
|
||
|
color: const Color(0xFFFFEAB0),
|
||
|
fontSize: 24.sp,
|
||
|
// height: 1.0,
|
||
|
))
|
||
|
])),
|
||
|
const Spacer(),
|
||
|
Column(
|
||
|
children: [
|
||
|
Text(
|
||
|
"VIP",
|
||
|
style: TextStyle(
|
||
|
color: const Color(0xFFE7F3FF),
|
||
|
fontSize: 32.sp,
|
||
|
fontFamily: "BlackItalic",
|
||
|
fontWeight: FontWeight.bold),
|
||
|
)
|
||
|
],
|
||
|
)
|
||
|
],
|
||
|
),
|
||
|
Text(
|
||
|
"短信帮手会员体验卡",
|
||
|
style: TextStyle(
|
||
|
color: const Color(0xFFFFEAB0),
|
||
|
fontSize: 24.sp,
|
||
|
),
|
||
|
)
|
||
|
],
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
|
||
|
// abstract class OnDialogClickListener {
|
||
|
// void onConfirm();
|
||
|
//
|
||
|
// void onCancel();
|
||
|
// }
|