10 changed files with 339 additions and 49 deletions
Split View
Diff Options
-
BINassets/images/error_icon.png
-
BINassets/images/success_icon.png
-
BINassets/images/teenager_bg.png
-
BINassets/images/teenager_list.png
-
13lib/generated/assets.dart
-
119lib/pages/setting/deactivate_page.dart
-
51lib/pages/setting/setting_page.dart
-
73lib/pages/setting/teenager_mode_open_page.dart
-
131lib/pages/setting/teenager_mode_page.dart
-
1pubspec.yaml
@ -0,0 +1,119 @@ |
|||
import 'package:dating_touchme_app/components/page_appbar.dart'; |
|||
import 'package:dating_touchme_app/generated/assets.dart'; |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|||
|
|||
class DeactivatePage extends StatelessWidget { |
|||
const DeactivatePage({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
appBar: PageAppbar(title: ""), |
|||
body: Container( |
|||
padding: EdgeInsets.symmetric( |
|||
vertical: 52.w, |
|||
horizontal: 15.w |
|||
), |
|||
child: Column( |
|||
children: [ |
|||
Text( |
|||
"账号注销安全提示", |
|||
style: TextStyle( |
|||
fontSize: 16.w, |
|||
fontWeight: FontWeight.w700 |
|||
), |
|||
), |
|||
SizedBox(height: 35.w,), |
|||
Text( |
|||
"申请注销趣恋恋账号前,趣恋恋将进行以下验证,以保证你的账号安全、财产安全。", |
|||
style: TextStyle( |
|||
fontSize: 13.w, |
|||
fontWeight: FontWeight.w500, |
|||
color: const Color.fromRGBO(144, 144, 144, 1) |
|||
), |
|||
), |
|||
SizedBox(height: 15.w,), |
|||
Container( |
|||
height: 104.w, |
|||
padding: EdgeInsets.symmetric( |
|||
vertical: 20.w, |
|||
horizontal: 17.w |
|||
), |
|||
decoration: BoxDecoration( |
|||
color: const Color.fromRGBO(245, 245, 245, 1), |
|||
borderRadius: BorderRadius.all(Radius.circular(8.w)) |
|||
), |
|||
child: Column( |
|||
crossAxisAlignment: CrossAxisAlignment.start, |
|||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|||
children: [ |
|||
Row( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesSuccessIcon, |
|||
width: 15.w, |
|||
), |
|||
SizedBox(width: 9.w,), |
|||
Text( |
|||
"账号处于安全状态", |
|||
style: TextStyle( |
|||
fontSize: 13.w, |
|||
color: const Color.fromRGBO(41, 186, 63, 1) |
|||
), |
|||
) |
|||
], |
|||
), |
|||
Row( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesErrorIcon, |
|||
width: 15.w, |
|||
), |
|||
SizedBox(width: 9.w,), |
|||
Text( |
|||
"钱包余额未结清", |
|||
style: TextStyle( |
|||
fontSize: 13.w, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
) |
|||
], |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Spacer(), |
|||
Container( |
|||
width: 350.w, |
|||
height: 45.w, |
|||
decoration: BoxDecoration( |
|||
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
|||
gradient: LinearGradient( |
|||
begin: Alignment.centerLeft, // 90deg: 从左到右 |
|||
end: Alignment.centerRight, |
|||
colors: [ |
|||
Color.fromRGBO(131, 89, 255, 1), // 起点颜色 |
|||
Color.fromRGBO(77, 127, 231, 1), // 中间颜色 |
|||
Color.fromRGBO(61, 138, 224, 1), // 终点颜色 |
|||
], |
|||
stops: [0.0, 0.7753, 1.0], // 对应 0%、77.53%、100% |
|||
), |
|||
), |
|||
child: Center( |
|||
child: Text( |
|||
"提交注销申请", |
|||
style: TextStyle( |
|||
fontSize: 18.w, |
|||
color: Colors.white, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
), |
|||
), |
|||
) |
|||
], |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
|||
@ -0,0 +1,73 @@ |
|||
import 'package:dating_touchme_app/components/page_appbar.dart'; |
|||
import 'package:dating_touchme_app/extension/ex_widget.dart'; |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:flutter/services.dart'; |
|||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|||
import 'package:get/get.dart'; |
|||
import 'package:pinput/pinput.dart'; |
|||
|
|||
class TeenagerModeOpenPage extends StatelessWidget { |
|||
const TeenagerModeOpenPage({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
appBar: PageAppbar(title: "开启未成年人模式"), |
|||
body: Container( |
|||
width: 375.w, |
|||
padding: EdgeInsets.only(top: 140.w), |
|||
child: Column( |
|||
children: [ |
|||
Text( |
|||
"设置密码", |
|||
style: TextStyle( |
|||
fontSize: 21.w, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
), |
|||
SizedBox(height: 25.w,), |
|||
Pinput( |
|||
inputFormatters: [ |
|||
// 只允许 0-9 |
|||
FilteringTextInputFormatter.digitsOnly, |
|||
], |
|||
onCompleted: (pin) => print(pin), |
|||
), |
|||
Container( |
|||
margin: EdgeInsets.only(top: 60.w), |
|||
child: Container( |
|||
width: 350.w, |
|||
height: 45.w, |
|||
decoration: BoxDecoration( |
|||
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
|||
gradient: LinearGradient( |
|||
begin: Alignment.centerLeft, // 90deg: 从左到右 |
|||
end: Alignment.centerRight, |
|||
colors: [ |
|||
Color.fromRGBO(131, 89, 255, 1), // 起点颜色 |
|||
Color.fromRGBO(77, 127, 231, 1), // 中间颜色 |
|||
Color.fromRGBO(61, 138, 224, 1), // 终点颜色 |
|||
], |
|||
stops: [0.0, 0.7753, 1.0], // 对应 0%、77.53%、100% |
|||
), |
|||
), |
|||
child: Center( |
|||
child: Text( |
|||
"下一步", |
|||
style: TextStyle( |
|||
fontSize: 18.w, |
|||
color: Colors.white, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
), |
|||
), |
|||
).onTap((){ |
|||
Get.to(() => TeenagerModeOpenPage()); |
|||
}), |
|||
) |
|||
], |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
|||
@ -0,0 +1,131 @@ |
|||
import 'package:dating_touchme_app/components/page_appbar.dart'; |
|||
import 'package:dating_touchme_app/extension/ex_widget.dart'; |
|||
import 'package:dating_touchme_app/generated/assets.dart'; |
|||
import 'package:dating_touchme_app/pages/setting/teenager_mode_open_page.dart'; |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|||
import 'package:get/get.dart'; |
|||
|
|||
class TeenagerModePage extends StatelessWidget { |
|||
const TeenagerModePage({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
appBar: PageAppbar(title: "", backgroundColor: const Color.fromRGBO(242, 241, 246, 1),), |
|||
backgroundColor: const Color.fromRGBO(242, 241, 246, 1), |
|||
body: Container( |
|||
width: 375.w, |
|||
padding: EdgeInsets.only( |
|||
top: 10.w |
|||
), |
|||
child: Column( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesTeenagerBg, |
|||
width: 203.w, |
|||
height: 203.w, |
|||
), |
|||
Text( |
|||
"未成年人模式未开启", |
|||
style: TextStyle( |
|||
fontSize: 21.w, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
), |
|||
SizedBox(height: 25.w,), |
|||
Container( |
|||
padding: EdgeInsets.symmetric( |
|||
horizontal: 50.w |
|||
), |
|||
child: Column( |
|||
children: [ |
|||
Row( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesTeenagerList, |
|||
width: 11.w, |
|||
), |
|||
SizedBox(width: 6.w,), |
|||
Text( |
|||
"青少年模式中,无法进行充值、购买等操作", |
|||
style: TextStyle( |
|||
fontSize: 13.w |
|||
), |
|||
) |
|||
], |
|||
), |
|||
SizedBox(height: 14.w,), |
|||
Row( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesTeenagerList, |
|||
width: 11.w, |
|||
), |
|||
SizedBox(width: 6.w,), |
|||
Text( |
|||
"无法进行连麦、直播等操作", |
|||
style: TextStyle( |
|||
fontSize: 13.w |
|||
), |
|||
) |
|||
], |
|||
), |
|||
SizedBox(height: 14.w,), |
|||
Row( |
|||
children: [ |
|||
Image.asset( |
|||
Assets.imagesTeenagerList, |
|||
width: 11.w, |
|||
), |
|||
SizedBox(width: 6.w,), |
|||
Text( |
|||
"无法使用推荐发消息等功能", |
|||
style: TextStyle( |
|||
fontSize: 13.w |
|||
), |
|||
) |
|||
], |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Spacer(), |
|||
Container( |
|||
margin: EdgeInsets.only(bottom: 30.w), |
|||
child: Container( |
|||
width: 350.w, |
|||
height: 45.w, |
|||
decoration: BoxDecoration( |
|||
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
|||
gradient: LinearGradient( |
|||
begin: Alignment.centerLeft, // 90deg: 从左到右 |
|||
end: Alignment.centerRight, |
|||
colors: [ |
|||
Color.fromRGBO(131, 89, 255, 1), // 起点颜色 |
|||
Color.fromRGBO(77, 127, 231, 1), // 中间颜色 |
|||
Color.fromRGBO(61, 138, 224, 1), // 终点颜色 |
|||
], |
|||
stops: [0.0, 0.7753, 1.0], // 对应 0%、77.53%、100% |
|||
), |
|||
), |
|||
child: Center( |
|||
child: Text( |
|||
"开启未成年人模式", |
|||
style: TextStyle( |
|||
fontSize: 18.w, |
|||
color: Colors.white, |
|||
fontWeight: FontWeight.w500 |
|||
), |
|||
), |
|||
), |
|||
).onTap((){ |
|||
Get.to(() => TeenagerModeOpenPage()); |
|||
}), |
|||
) |
|||
], |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save