24 changed files with 2089 additions and 1596 deletions
Unified View
Diff Options
-
BINassets/images/vip_buy_tag.png
-
BINassets/images/vip_chat.png
-
BINassets/images/vip_gift.png
-
BINassets/images/vip_message.png
-
BINassets/images/vip_special.png
-
BINassets/images/vip_visitor.png
-
BINassets/images/vip_voice.png
-
37lib/controller/mine/edit_info_controller.dart
-
9lib/controller/mine/mine_controller.dart
-
25lib/controller/mine/rose_controller.dart
-
71lib/generated/assets.dart
-
21lib/model/mine/submit_order_data.dart
-
3lib/network/api_urls.dart
-
6lib/network/user_api.dart
-
39lib/network/user_api.g.dart
-
993lib/pages/home/user_information_page.dart
-
1164lib/pages/mine/edit_info_page.dart
-
292lib/pages/mine/mine_page.dart
-
81lib/pages/mine/pay_fail_page.dart
-
75lib/pages/mine/renew_manage_page.dart
-
5lib/pages/mine/rose_page.dart
-
54lib/pages/mine/vip_manage_page.dart
-
390lib/pages/mine/vip_page.dart
-
420pubspec.lock
@ -0,0 +1,37 @@ |
|||||
|
import 'package:dating_touchme_app/controller/global.dart'; |
||||
|
import 'package:dating_touchme_app/generated/assets.dart'; |
||||
|
import 'package:dating_touchme_app/model/mine/user_data.dart'; |
||||
|
import 'package:dating_touchme_app/pages/mine/auth_center_page.dart'; |
||||
|
import 'package:dating_touchme_app/pages/mine/my_wallet_page.dart'; |
||||
|
import 'package:dating_touchme_app/pages/mine/rose_page.dart'; |
||||
|
import 'package:get/get.dart'; |
||||
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; |
||||
|
|
||||
|
class EditInfoController extends GetxController { |
||||
|
|
||||
|
|
||||
|
final menuActive = 1.obs; |
||||
|
|
||||
|
|
||||
|
List<String> imgList = [ |
||||
|
"https://fastly.picsum.photos/id/64/800/800.jpg?hmac=NBZ4_-vqzD6p25oCeaW0H5vH-ql9zzei-SqJNeUo1QU", |
||||
|
"https://fastly.picsum.photos/id/985/800/800.jpg?hmac=DfRt99HFbMJ96DlN-poOhruWYRsexESE94ilLC3g1rU", |
||||
|
"https://fastly.picsum.photos/id/703/800/800.jpg?hmac=-bRTkPxnsiQ5kCo2tfXj6tFrXMD7YnVx7bQ0STno3Tg" |
||||
|
]; |
||||
|
|
||||
|
final nowSelect = 0.obs; |
||||
|
|
||||
|
List<String> tagList = [ |
||||
|
"北京", "160cm", "想要甜甜的恋爱", "本科", "朋友圈摄影师", "英雄联盟", "流放之路", |
||||
|
"CF", "DNA", "堡垒之夜", "SCP" |
||||
|
]; |
||||
|
|
||||
|
final userData = GlobalData().userData.obs; |
||||
|
|
||||
|
@override |
||||
|
void onInit() { |
||||
|
super.onInit(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
class SubmitOrderData { |
||||
|
String? orderId; |
||||
|
String? paymentOrderId; |
||||
|
bool? freeSettlement; |
||||
|
|
||||
|
SubmitOrderData({this.orderId, this.paymentOrderId, this.freeSettlement}); |
||||
|
|
||||
|
SubmitOrderData.fromJson(Map<String, dynamic> json) { |
||||
|
orderId = json['orderId']; |
||||
|
paymentOrderId = json['paymentOrderId']; |
||||
|
freeSettlement = json['freeSettlement']; |
||||
|
} |
||||
|
|
||||
|
Map<String, dynamic> toJson() { |
||||
|
final Map<String, dynamic> data = new Map<String, dynamic>(); |
||||
|
data['orderId'] = this.orderId; |
||||
|
data['paymentOrderId'] = this.paymentOrderId; |
||||
|
data['freeSettlement'] = this.freeSettlement; |
||||
|
return data; |
||||
|
} |
||||
|
} |
||||
993
lib/pages/home/user_information_page.dart
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1164
lib/pages/mine/edit_info_page.dart
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,81 @@ |
|||||
|
import 'package:dating_touchme_app/components/page_appbar.dart'; |
||||
|
import 'package:flutter/material.dart'; |
||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
|
|
||||
|
class PayFailPage extends StatefulWidget { |
||||
|
const PayFailPage({super.key}); |
||||
|
|
||||
|
@override |
||||
|
State<PayFailPage> createState() => _PayFailPageState(); |
||||
|
} |
||||
|
|
||||
|
class _PayFailPageState extends State<PayFailPage> { |
||||
|
@override |
||||
|
Widget build(BuildContext context) { |
||||
|
return Scaffold( |
||||
|
appBar: PageAppbar(title: "支付结果"), |
||||
|
body: SingleChildScrollView( |
||||
|
child: Container( |
||||
|
width: 375.w, |
||||
|
padding: EdgeInsets.symmetric( |
||||
|
vertical: 60.w |
||||
|
), |
||||
|
child: Column( |
||||
|
children: [ |
||||
|
Container( |
||||
|
width: 70.w, |
||||
|
height: 70.w, |
||||
|
margin: EdgeInsets.only(bottom: 16.w), |
||||
|
decoration: BoxDecoration( |
||||
|
borderRadius: BorderRadius.all(Radius.circular(70.w)), |
||||
|
color: const Color.fromRGBO(248, 85, 66, 1) |
||||
|
), |
||||
|
child: Center( |
||||
|
child: Icon( |
||||
|
Icons.close, |
||||
|
size: 50.w, |
||||
|
color: Colors.white, |
||||
|
), |
||||
|
), |
||||
|
), |
||||
|
Text( |
||||
|
"交易失败", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
SizedBox(height: 292.w,), |
||||
|
Container( |
||||
|
width: 150.w, |
||||
|
height: 30.w, |
||||
|
decoration: BoxDecoration( |
||||
|
borderRadius: BorderRadius.all(Radius.circular(30.w)), |
||||
|
color: const Color.fromRGBO(245, 245, 245, 1) |
||||
|
), |
||||
|
child: Center( |
||||
|
child: Text( |
||||
|
"联系客服", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
), |
||||
|
), |
||||
|
SizedBox(height: 18.w,), |
||||
|
Text( |
||||
|
"返回", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1), |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
) |
||||
|
], |
||||
|
), |
||||
|
), |
||||
|
), |
||||
|
); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,75 @@ |
|||||
|
import 'package:dating_touchme_app/components/page_appbar.dart'; |
||||
|
import 'package:flutter/material.dart'; |
||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
|
import 'package:tdesign_flutter/tdesign_flutter.dart'; |
||||
|
|
||||
|
class RenewManagePage extends StatefulWidget { |
||||
|
const RenewManagePage({super.key}); |
||||
|
|
||||
|
@override |
||||
|
State<RenewManagePage> createState() => _RenewManagePageState(); |
||||
|
} |
||||
|
|
||||
|
class _RenewManagePageState extends State<RenewManagePage> { |
||||
|
|
||||
|
bool blockUser = false; |
||||
|
|
||||
|
@override |
||||
|
Widget build(BuildContext context) { |
||||
|
return Scaffold( |
||||
|
appBar: PageAppbar(title: "自动续费管理"), |
||||
|
body: SingleChildScrollView( |
||||
|
child: Column( |
||||
|
children: [ |
||||
|
Container( |
||||
|
padding: EdgeInsets.symmetric( |
||||
|
vertical: 20.w, |
||||
|
horizontal: 14.w |
||||
|
), |
||||
|
margin: EdgeInsets.only( |
||||
|
bottom: 12.w |
||||
|
), |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"自动续费管理", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
TDSwitch( |
||||
|
isOn: blockUser, |
||||
|
trackOnColor: const Color.fromRGBO(117, 98, 249, 1), |
||||
|
onChanged: (bool e){ |
||||
|
print(e); |
||||
|
blockUser = e; |
||||
|
setState(() { |
||||
|
|
||||
|
}); |
||||
|
return e; |
||||
|
}, |
||||
|
), |
||||
|
], |
||||
|
), |
||||
|
), |
||||
|
Padding( |
||||
|
padding: EdgeInsets.symmetric( |
||||
|
horizontal: 14.w |
||||
|
), |
||||
|
child: Text( |
||||
|
"关闭“会员自动续费”即可解除连续包月协议,次月将不再扣除会员服务费,也可以前往支付宝和微信进行解约。", |
||||
|
style: TextStyle( |
||||
|
fontSize: 11.w, |
||||
|
color: const Color.fromRGBO(144, 144, 144, 1) |
||||
|
), |
||||
|
), |
||||
|
) |
||||
|
|
||||
|
], |
||||
|
), |
||||
|
), |
||||
|
); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,54 @@ |
|||||
|
import 'package:dating_touchme_app/components/page_appbar.dart'; |
||||
|
import 'package:dating_touchme_app/extension/ex_widget.dart'; |
||||
|
import 'package:dating_touchme_app/pages/mine/renew_manage_page.dart'; |
||||
|
import 'package:flutter/material.dart'; |
||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
|
import 'package:get/get.dart'; |
||||
|
import 'package:get/get_core/src/get_main.dart'; |
||||
|
|
||||
|
class VipManagePage extends StatefulWidget { |
||||
|
const VipManagePage({super.key}); |
||||
|
|
||||
|
@override |
||||
|
State<VipManagePage> createState() => _VipManagePageState(); |
||||
|
} |
||||
|
|
||||
|
class _VipManagePageState extends State<VipManagePage> { |
||||
|
@override |
||||
|
Widget build(BuildContext context) { |
||||
|
return Scaffold( |
||||
|
appBar: PageAppbar(title: "会员特权管理"), |
||||
|
body: SingleChildScrollView( |
||||
|
child: Column( |
||||
|
children: [ |
||||
|
Container( |
||||
|
padding: EdgeInsets.symmetric( |
||||
|
vertical: 20.w, |
||||
|
horizontal: 14.w |
||||
|
), |
||||
|
child: Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
children: [ |
||||
|
Text( |
||||
|
"自动续费管理", |
||||
|
style: TextStyle( |
||||
|
fontSize: 13.w, |
||||
|
fontWeight: FontWeight.w500 |
||||
|
), |
||||
|
), |
||||
|
Icon( |
||||
|
Icons.keyboard_arrow_right, |
||||
|
size: 20.w, |
||||
|
color: const Color.fromRGBO(191, 191, 191, 1), |
||||
|
) |
||||
|
], |
||||
|
), |
||||
|
).onTap((){ |
||||
|
Get.to(() => RenewManagePage()); |
||||
|
}) |
||||
|
], |
||||
|
), |
||||
|
), |
||||
|
); |
||||
|
} |
||||
|
} |
||||
420
pubspec.lock
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save