10 changed files with 339 additions and 49 deletions
Unified 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