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.

269 lines
7.0 KiB

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:project_telephony/base/base_style.dart';
import 'package:project_telephony/ui/widget/plone_bottom.dart';
import 'package:project_telephony/utils/headers.dart';
import 'package:project_telephony/utils/user_tool.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; //按钮文字
const AppDialog({
Key? key,
this.title = "恭喜您获得会员体验卡",
this.confirm = "立即领取",
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Center(
child: Container(
margin: EdgeInsets.only(
left: 100.w,
right: 100.w,
),
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
Assets.images.bouncedbg.path,
),
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
title,
style: TextStyle(
fontSize: 36.sp,
),
),
60.hb,
_getVip(),
200.hb,
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
_getText("接听发送"),
60.wb,
_getText("拒接发送"),
60.wb,
_getText("提升形象"),
],
),
50.hb,
_getBotton(confirm, context),
],
),
),
);
}
}
_getBotton(String bContent, context) {
return GestureDetector(
onTap: () async {
var res = await apiClient.request(API.app.trialVip);
if (res.code == 0) {
CloudToast.show(res.msg);
UserTool.userProvider.updateUserInfo();
Navigator.pop(context);
} else {
CloudToast.show(res.msg);
}
},
child: Container(
margin: EdgeInsets.symmetric(horizontal: 64.w),
width: 500.w,
height: 88.w,
alignment: Alignment.center,
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: 110.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,
),
),
],
),
),
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,
),
),
],
),
);
}
// class FindDialog extends StatefulWidget{
// final String title;
//
// // final Widget widget;
// final VoidCallback ontap;
// final String name;
// final String phone;
//
// const FindDialog(
// {Key? key,
// required this.title,
// required this.ontap,
// // required this.widget,
// required this.name,
// required this.phone})
// : super(key: key);
//
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// body:Container(
// margin: EdgeInsets.only(
// left: 100.w,
// right: 100.w,
// ),
// height: 720.w,
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text(
// title,
// style: TextStyle(
// fontSize: 36.sp,
// ),
// ),
// _getUpdate(name, phone),
// PloneBottom(
// onTap: ontap,
// text: "保存",
// )
// ],
// ),
// ),
// );
// }
//
// _getUpdate(String name, String phone) {
// return Container(
// height: 400.w,
// padding: EdgeInsets.zero,
// child: Column(
// children: [
// Text(
// "名称",
// style: TextStyle(
// fontSize: 28.sp,
// color: BaseStyle.color999999,
// ),
// ),
// 24.hb,
// SizedBox(
// height: 96.w,
// child: TextField(
// decoration: InputDecoration.collapsed(
// hintText: name,
// hintStyle:
// TextStyle(fontSize: 28.sp, color: BaseStyle.color333333),
// fillColor: Colors.transparent,
// // contentPadding: EdgeInsets.zero,
// ),
// ),
// ),
// 48.hb,
// Text(
// "名称",
// style: TextStyle(
// fontSize: 28.sp,
// color: BaseStyle.color999999,
// ),
// ),
// 24.hb,
// SizedBox(
// height: 96.w,
// child: TextField(
// decoration: InputDecoration.collapsed(
// hintText: phone,
// hintStyle:
// TextStyle(fontSize: 28.sp, color: BaseStyle.color333333),
// fillColor: Colors.transparent,
// // contentPadding: EdgeInsets.zero,
// ),
// ),
// )
// ],
// ),
// );
// }
//
// @override
// State<StatefulWidget> createState() {
// throw UnimplementedError();
// }
// }