|
|
@@ -11,7 +11,7 @@ class MineView extends BaseView<MineController> {
|
|
|
|
|
|
@override
|
|
|
Color backgroundColor() {
|
|
|
- return Color(0xFFF6F5FA);
|
|
|
+ return const Color(0xFFF6F5FA);
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
@@ -20,9 +20,7 @@ class MineView extends BaseView<MineController> {
|
|
|
children: [
|
|
|
SafeArea(
|
|
|
child: SingleChildScrollView(
|
|
|
- child: Column(
|
|
|
- children: [heardCard(), baseSettingCard(), functionCard()],
|
|
|
- ),
|
|
|
+ child: Column(children: [heardCard(), functionCard()]),
|
|
|
),
|
|
|
),
|
|
|
IgnorePointer(child: Assets.images.bgMine.image(width: 360.w)),
|
|
|
@@ -55,78 +53,31 @@ class MineView extends BaseView<MineController> {
|
|
|
baseFunctionButton(
|
|
|
text: StringName.onlineCustomerService,
|
|
|
funIcon: Assets.images.iconMineOnlineCustomerService.path,
|
|
|
- onTap: () => controller.clickOnlineCustomerService(),
|
|
|
- ),
|
|
|
- baseFunctionButton(
|
|
|
- text: StringName.setting,
|
|
|
- funIcon: Assets.images.iconMineSettings.path,
|
|
|
- onTap: () => controller.clickSetting(),
|
|
|
+ onTap: controller.clickOnlineCustomerService,
|
|
|
),
|
|
|
+
|
|
|
baseFunctionButton(
|
|
|
- text: StringName.userAgreement,
|
|
|
- funIcon: Assets.images.iconMineUserAgreement.path,
|
|
|
- onTap: () => controller.clickUserAgreement(),
|
|
|
+ text: StringName.tutorials,
|
|
|
+ funIcon: Assets.images.iconMineTutorials.path,
|
|
|
+ onTap: controller.clickTutorials,
|
|
|
),
|
|
|
+
|
|
|
baseFunctionButton(
|
|
|
- text: StringName.privacyPolicy,
|
|
|
- funIcon: Assets.images.iconMinePrivacy.path,
|
|
|
- onTap: () => controller.clickPrivacyPolicy(),
|
|
|
+ text: StringName.personalProfile,
|
|
|
+ funIcon: Assets.images.iconMinePersonalProfile.path,
|
|
|
+ onTap: controller.clickPersonalProfile,
|
|
|
),
|
|
|
+
|
|
|
baseFunctionButton(
|
|
|
text: StringName.feedback,
|
|
|
funIcon: Assets.images.iconMineFeedback.path,
|
|
|
- onTap: () => controller.clickFeedback(),
|
|
|
- ),
|
|
|
- baseFunctionButton(
|
|
|
- text: StringName.systemNotification,
|
|
|
- funIcon: Assets.images.iconMineSystemNotification.path,
|
|
|
- onTap: () => controller.clickSystemNotification(),
|
|
|
+ onTap: controller.clickFeedback,
|
|
|
),
|
|
|
+
|
|
|
baseFunctionButton(
|
|
|
text: StringName.aboutUs,
|
|
|
funIcon: Assets.images.iconMineAbout.path,
|
|
|
- onTap: () => controller.clickAboutUs(),
|
|
|
- ),
|
|
|
- baseFunctionButton(
|
|
|
- text: StringName.shareApp,
|
|
|
- funIcon: Assets.images.iconMineShare.path,
|
|
|
- onTap: () => controller.clickShare(),
|
|
|
- ),
|
|
|
- baseFunctionButton(
|
|
|
- text: StringName.reportComplaint,
|
|
|
- funIcon: Assets.images.iconMineReportComplaint.path,
|
|
|
- onTap: () => controller.clickReportComplaint(),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- Widget baseSettingCard() {
|
|
|
- return Container(
|
|
|
- margin: EdgeInsets.only(top: 13.w, left: 16.w, right: 16.w),
|
|
|
- child: Row(
|
|
|
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
- children: [
|
|
|
- baseSettingButton(
|
|
|
- text: StringName.preset,
|
|
|
- btnIcon: Assets.images.iconMinePreset.image(
|
|
|
- width: 20.w,
|
|
|
- height: 20.h,
|
|
|
- ),
|
|
|
- onTap: () {
|
|
|
- controller.clickPreset();
|
|
|
- },
|
|
|
- ),
|
|
|
- baseSettingButton(
|
|
|
- text: StringName.keyboardSetting,
|
|
|
- btnIcon: Assets.images.iconMineKeyboardSetting.image(
|
|
|
- width: 20.w,
|
|
|
- height: 20.h,
|
|
|
- ),
|
|
|
- onTap: () {
|
|
|
- controller.clickKeyboardSetting();
|
|
|
- },
|
|
|
+ onTap: controller.clickAboutUs,
|
|
|
),
|
|
|
],
|
|
|
),
|
|
|
@@ -144,23 +95,15 @@ class MineView extends BaseView<MineController> {
|
|
|
height: 56.r,
|
|
|
),
|
|
|
SizedBox(width: 12.r),
|
|
|
- controller.isLogin
|
|
|
- ? Text(
|
|
|
- controller.getUserName(),
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 18.sp,
|
|
|
- color: Colors.black,
|
|
|
- fontWeight: FontWeight.w500,
|
|
|
- ),
|
|
|
- )
|
|
|
- : Text(
|
|
|
- StringName.loginAccount,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 18.sp,
|
|
|
- color: Colors.black,
|
|
|
- fontWeight: FontWeight.w500,
|
|
|
- ),
|
|
|
- ),
|
|
|
+ Text(
|
|
|
+ controller.getUserName(),
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 18.sp,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w500,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+
|
|
|
SizedBox(width: 4.r),
|
|
|
|
|
|
Assets.images.iconMineLoginArrow.image(width: 16.r, height: 16.r),
|
|
|
@@ -173,7 +116,7 @@ class MineView extends BaseView<MineController> {
|
|
|
return Container(
|
|
|
margin: EdgeInsets.only(top: 21.w),
|
|
|
width: 326.w,
|
|
|
- height: 108.w,
|
|
|
+ height: 79.w,
|
|
|
decoration: ShapeDecoration(
|
|
|
image: DecorationImage(
|
|
|
image: Assets.images.bgMineVipCard.provider(),
|
|
|
@@ -183,132 +126,83 @@ class MineView extends BaseView<MineController> {
|
|
|
borderRadius: BorderRadius.circular(11.r),
|
|
|
),
|
|
|
),
|
|
|
- child: Stack(
|
|
|
- children: [
|
|
|
- Positioned(
|
|
|
- top: 19.w,
|
|
|
- left: 15.w,
|
|
|
- right: 15.w,
|
|
|
- child: GestureDetector(
|
|
|
- behavior: HitTestBehavior.opaque,
|
|
|
- onTap: controller.clickVip,
|
|
|
- child: SizedBox(
|
|
|
- width: 326.w,
|
|
|
- child: Row(
|
|
|
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
- children: [
|
|
|
- Column(
|
|
|
- crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
- children: [
|
|
|
- // vip 图标
|
|
|
- Assets.images.iconMineVip.image(
|
|
|
- width: 62.w,
|
|
|
- height: 19.h,
|
|
|
- ),
|
|
|
- // vip描述文本
|
|
|
- Row(
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- StringName.vipLevel0Desc,
|
|
|
- style: TextStyle(
|
|
|
- color: Color(0xFFE4B483),
|
|
|
- fontSize: 12.sp,
|
|
|
- fontWeight: FontWeight.w400,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Assets.images.iconMineVipDescArrow.image(
|
|
|
- width: 16.w,
|
|
|
- height: 16.h,
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- // VIP按钮
|
|
|
- Container(
|
|
|
- alignment: Alignment.center,
|
|
|
- width: 80.w,
|
|
|
- height: 28.h,
|
|
|
- decoration: ShapeDecoration(
|
|
|
- gradient: LinearGradient(
|
|
|
- begin: Alignment(-0.94.r, 0.35.r),
|
|
|
- end: Alignment(0.94.r, -0.35.r),
|
|
|
- colors: [
|
|
|
- Color(0xFFFFD79C),
|
|
|
- Color(0xFFF19F45),
|
|
|
- Color(0xFFF19F45),
|
|
|
- Color(0xFFFFC387),
|
|
|
- ],
|
|
|
- ),
|
|
|
- shape: RoundedRectangleBorder(
|
|
|
- side: BorderSide(
|
|
|
- width: 1.w,
|
|
|
- color: Color(0xFFEA973E),
|
|
|
- ),
|
|
|
- borderRadius: BorderRadius.circular(32.r),
|
|
|
+ child: GestureDetector(
|
|
|
+ behavior: HitTestBehavior.opaque,
|
|
|
+ onTap: controller.clickVip,
|
|
|
+ child: Container(
|
|
|
+ padding: EdgeInsets.only(left: 15.w, right: 15.w),
|
|
|
+ width: 326.w,
|
|
|
+ child: Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ mainAxisAlignment: MainAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ // vip 图标
|
|
|
+ Assets.images.iconMineVip.image(width: 62.w, height: 19.h),
|
|
|
+ // vip描述文本
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ StringName.vipLevel0Desc,
|
|
|
+ style: TextStyle(
|
|
|
+ color: Color(0xFFE4B483),
|
|
|
+ fontSize: 12.sp,
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
),
|
|
|
),
|
|
|
- child: Row(
|
|
|
- mainAxisAlignment: MainAxisAlignment.center,
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- StringName.vipLevel0Btn,
|
|
|
- textAlign: TextAlign.center,
|
|
|
- style: TextStyle(
|
|
|
- color: Colors.white,
|
|
|
- fontSize: 13.sp,
|
|
|
- fontWeight: FontWeight.w400,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Assets.images.iconMineVipArrow.image(
|
|
|
- width: 10.w,
|
|
|
- height: 10.w,
|
|
|
- ),
|
|
|
- ],
|
|
|
+ Assets.images.iconMineVipDescArrow.image(
|
|
|
+ width: 16.w,
|
|
|
+ height: 16.h,
|
|
|
),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ],
|
|
|
),
|
|
|
- ),
|
|
|
- ),
|
|
|
-
|
|
|
- // 我的订单
|
|
|
- Positioned(
|
|
|
- bottom: 7.h,
|
|
|
- left: 16.w,
|
|
|
- child: GestureDetector(
|
|
|
- onTap: controller.clickOrders,
|
|
|
- behavior: HitTestBehavior.opaque,
|
|
|
- child: SizedBox(
|
|
|
- width: 320.w,
|
|
|
+ // VIP按钮
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.center,
|
|
|
+ width: 80.w,
|
|
|
+ height: 28.h,
|
|
|
+ decoration: ShapeDecoration(
|
|
|
+ gradient: LinearGradient(
|
|
|
+ begin: Alignment(-0.94.r, 0.35.r),
|
|
|
+ end: Alignment(0.94.r, -0.35.r),
|
|
|
+ colors: [
|
|
|
+ Color(0xFFFFD79C),
|
|
|
+ Color(0xFFF19F45),
|
|
|
+ Color(0xFFF19F45),
|
|
|
+ Color(0xFFFFC387),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ shape: RoundedRectangleBorder(
|
|
|
+ side: BorderSide(width: 1.w, color: Color(0xFFEA973E)),
|
|
|
+ borderRadius: BorderRadius.circular(32.r),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
child: Row(
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
children: [
|
|
|
- Assets.images.iconMineOrderLogo.image(
|
|
|
- width: 16.w,
|
|
|
- height: 16.h,
|
|
|
- ),
|
|
|
- SizedBox(width: 2.w),
|
|
|
Text(
|
|
|
- StringName.myOrders,
|
|
|
+ StringName.vipLevel0Btn,
|
|
|
+ textAlign: TextAlign.center,
|
|
|
style: TextStyle(
|
|
|
- color: Color(0xFFE79F63),
|
|
|
- fontSize: 12.sp,
|
|
|
+ color: Colors.white,
|
|
|
+ fontSize: 13.sp,
|
|
|
fontWeight: FontWeight.w400,
|
|
|
),
|
|
|
),
|
|
|
- Assets.images.iconMineVipOrderArrow.image(
|
|
|
- width: 16.w,
|
|
|
- height: 16.h,
|
|
|
+ Assets.images.iconMineVipArrow.image(
|
|
|
+ width: 10.w,
|
|
|
+ height: 10.w,
|
|
|
),
|
|
|
- Expanded(child: SizedBox.shrink()),
|
|
|
],
|
|
|
),
|
|
|
),
|
|
|
- ),
|
|
|
+ ],
|
|
|
),
|
|
|
- ],
|
|
|
+ ),
|
|
|
),
|
|
|
);
|
|
|
}
|