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.

198 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.only(left: 95.w,top: 452.w),
// EdgeInsets.symmetric(horizontal: 95.w,vertical: 452.w),
2 years ago
decoration: BoxDecoration(
image:
DecorationImage(image: AssetImage(Assets.images.bouncedbg.path,))),
2 years ago
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);
2 years ago
} else{
2 years ago
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();
// }