|
|
@@ -382,87 +382,85 @@ class MemberPage extends BasePage<MemberController> {
|
|
|
stops: [0.4368, 1.0], // 对应 43.68% 和 100%
|
|
|
),
|
|
|
),
|
|
|
- child: Obx(() {
|
|
|
- return Column(
|
|
|
- mainAxisAlignment: MainAxisAlignment.end,
|
|
|
- children: [
|
|
|
- Container(
|
|
|
- width: double.infinity, // 设置容器宽度
|
|
|
- height: 50.w, // 设置容器高度
|
|
|
- padding: EdgeInsets.only(left: 20.w),
|
|
|
- decoration: BoxDecoration(
|
|
|
- image: DecorationImage(
|
|
|
- image: Assets.images.iconMemberSettlementBg.provider(),
|
|
|
- fit: BoxFit.fill,
|
|
|
- ),
|
|
|
+ child: Column(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.end,
|
|
|
+ children: [
|
|
|
+ Container(
|
|
|
+ width: double.infinity, // 设置容器宽度
|
|
|
+ height: 50.w, // 设置容器高度
|
|
|
+ padding: EdgeInsets.only(left: 20.w),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ image: DecorationImage(
|
|
|
+ image: Assets.images.iconMemberSettlementBg.provider(),
|
|
|
+ fit: BoxFit.fill,
|
|
|
),
|
|
|
- // 实现内阴影效果
|
|
|
- child: Row(
|
|
|
- children: [
|
|
|
- Transform.translate(
|
|
|
- offset: Offset(0, 3), // 向下偏移4像素
|
|
|
- child: Text('¥',
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 14.sp,
|
|
|
- color: '#FFF8EF'.color,
|
|
|
- fontWeight: FontWeight.bold)),
|
|
|
- ),
|
|
|
- SizedBox(width: 3.w,),
|
|
|
- Text(
|
|
|
- controller.selectedGoods?.amount.divideBy100() ?? '--',
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 24.sp,
|
|
|
- color: '#FFF8EF'.color,
|
|
|
- fontWeight: FontWeight.bold),
|
|
|
- ),
|
|
|
- SizedBox(width: 3.w,),
|
|
|
- Text("/",
|
|
|
+ ),
|
|
|
+ // 实现内阴影效果
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Transform.translate(
|
|
|
+ offset: Offset(0, 3), // 向下偏移4像素
|
|
|
+ child: Text('¥',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 14.sp,
|
|
|
+ color: '#FFF8EF'.color,
|
|
|
+ fontWeight: FontWeight.bold)),
|
|
|
+ ),
|
|
|
+ SizedBox(width: 3.w,),
|
|
|
+ Text(
|
|
|
+ controller.selectedGoods?.amount.divideBy100() ?? '--',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 24.sp,
|
|
|
+ color: '#FFF8EF'.color,
|
|
|
+ fontWeight: FontWeight.bold),
|
|
|
+ ),
|
|
|
+ SizedBox(width: 3.w,),
|
|
|
+ Text("/",
|
|
|
style: TextStyle(
|
|
|
fontSize: 12.sp,
|
|
|
fontWeight: FontWeight.w400,
|
|
|
color: "#FFF8EF".color),),
|
|
|
- Text('原价${controller.selectedGoods?.originalAmount.divideBy100()}',
|
|
|
- style: TextStyle(
|
|
|
- decoration: TextDecoration.lineThrough,
|
|
|
- decorationColor: Colors.white,
|
|
|
- decorationThickness: 1.0,
|
|
|
- fontSize: 12.sp,
|
|
|
- fontWeight: FontWeight.w400,
|
|
|
- color: "#FFF8EF".color)),
|
|
|
- Spacer(),
|
|
|
- GestureDetector(
|
|
|
- onTap: controller.onBuyClick,
|
|
|
- child: Container(
|
|
|
- decoration: BoxDecoration(
|
|
|
- image: DecorationImage(
|
|
|
- image: Assets.images.iconMemberSettlementConfirm.provider(),
|
|
|
- fit: BoxFit.fill,
|
|
|
- )
|
|
|
- ),
|
|
|
- // width: 164.w,
|
|
|
- // height: 44.w,
|
|
|
- padding: EdgeInsets.only(left: 64.w,right: 29.w),
|
|
|
- child: Center(
|
|
|
- child: Text(
|
|
|
- controller.memberStatusInfo?.expired == false
|
|
|
- ? StringName.memberVipRenew
|
|
|
- : StringName.memberVipUnlock,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 18.sp,
|
|
|
- color: "#9B3800".color,
|
|
|
- fontWeight: FontWeight.bold),
|
|
|
- ),
|
|
|
+ Text('原价${controller.selectedGoods?.originalAmount.divideBy100()}',
|
|
|
+ style: TextStyle(
|
|
|
+ decoration: TextDecoration.lineThrough,
|
|
|
+ decorationColor: Colors.white,
|
|
|
+ decorationThickness: 1.0,
|
|
|
+ fontSize: 12.sp,
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
+ color: "#FFF8EF".color)),
|
|
|
+ Spacer(),
|
|
|
+ GestureDetector(
|
|
|
+ onTap: controller.onBuyClick,
|
|
|
+ child: Container(
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ image: DecorationImage(
|
|
|
+ image: Assets.images.iconMemberSettlementConfirm.provider(),
|
|
|
+ fit: BoxFit.fill,
|
|
|
+ )
|
|
|
+ ),
|
|
|
+ // width: 164.w,
|
|
|
+ // height: 44.w,
|
|
|
+ padding: EdgeInsets.only(left: 64.w,right: 29.w),
|
|
|
+ child: Center(
|
|
|
+ child: Text(
|
|
|
+ controller.memberStatusInfo?.expired == false
|
|
|
+ ? StringName.memberVipRenew
|
|
|
+ : StringName.memberVipUnlock,
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 18.sp,
|
|
|
+ color: "#9B3800".color,
|
|
|
+ fontWeight: FontWeight.bold),
|
|
|
),
|
|
|
),
|
|
|
- )
|
|
|
- ],
|
|
|
- ),
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ ],
|
|
|
),
|
|
|
- SizedBox(height: 8.w,),
|
|
|
- buildPrivacyPolicyView(),
|
|
|
- ],
|
|
|
- );
|
|
|
- }),
|
|
|
+ ),
|
|
|
+ SizedBox(height: 8.w,),
|
|
|
+ buildPrivacyPolicyView(),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
),
|
|
|
);
|
|
|
@@ -561,10 +559,9 @@ class MemberPage extends BasePage<MemberController> {
|
|
|
}
|
|
|
|
|
|
Widget buildHeadBar() {
|
|
|
- return Obx(() {
|
|
|
- return Stack(
|
|
|
- children: [
|
|
|
- /*IgnorePointer(
|
|
|
+ return Stack(
|
|
|
+ children: [
|
|
|
+ /*IgnorePointer(
|
|
|
child: Container(
|
|
|
color: ColorName.colorPrimary.withOpacity(controller.toolBarOpacity),
|
|
|
child: SafeArea(
|
|
|
@@ -575,72 +572,74 @@ class MemberPage extends BasePage<MemberController> {
|
|
|
),
|
|
|
),
|
|
|
),*/
|
|
|
- SafeArea(
|
|
|
- child: SizedBox(
|
|
|
- width: double.infinity,
|
|
|
- height: 56.w,
|
|
|
- child: Stack(alignment: Alignment.center, children: [
|
|
|
- Positioned(
|
|
|
- left: 15.w,
|
|
|
- child: GestureDetector(
|
|
|
- onTap: () => controller.onPopBack(),
|
|
|
- child: Assets.images.iconMemberVipBack
|
|
|
- .image(width: 26.w, height: 26..w),
|
|
|
- )),
|
|
|
-
|
|
|
- Container(
|
|
|
- padding: EdgeInsets.only(left: 51.w,right: 12.w),
|
|
|
- child: buildVerticalSlideshowWidget())
|
|
|
- ]),
|
|
|
- ),
|
|
|
+ SafeArea(
|
|
|
+ child: SizedBox(
|
|
|
+ width: double.infinity,
|
|
|
+ height: 56.w,
|
|
|
+ child: Stack(alignment: Alignment.center, children: [
|
|
|
+ Positioned(
|
|
|
+ left: 15.w,
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: () => controller.onPopBack(),
|
|
|
+ child: Assets.images.iconMemberVipBack
|
|
|
+ .image(width: 26.w, height: 26..w),
|
|
|
+ )),
|
|
|
+
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.only(left: 51.w,right: 12.w),
|
|
|
+ child: buildVerticalSlideshowWidget()
|
|
|
+ )
|
|
|
+ ]),
|
|
|
),
|
|
|
- ],
|
|
|
- );
|
|
|
- });
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
Widget buildVerticalSlideshowWidget() {
|
|
|
- return Row(
|
|
|
- children: [
|
|
|
- Visibility(visible: !Platform.isIOS, child: Spacer()),
|
|
|
- Container(
|
|
|
- width: 192.w,
|
|
|
- height: 26.w,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: ColorName.black40,
|
|
|
- borderRadius: BorderRadius.circular(87.w),
|
|
|
+ return Obx(() {
|
|
|
+ return Row(
|
|
|
+ children: [
|
|
|
+ Visibility(visible: !Platform.isIOS, child: Spacer()),
|
|
|
+ Container(
|
|
|
+ width: 192.w,
|
|
|
+ height: 26.w,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: ColorName.black40,
|
|
|
+ borderRadius: BorderRadius.circular(87.w),
|
|
|
+ ),
|
|
|
+ child: Center(
|
|
|
+ child: AnimatedSwitcherWidget(
|
|
|
+ controller: controller.switcherController)),
|
|
|
),
|
|
|
- child: Center(
|
|
|
- child: AnimatedSwitcherWidget(
|
|
|
- controller: controller.switcherController)),
|
|
|
- ),
|
|
|
- Spacer(),
|
|
|
- Visibility(
|
|
|
- visible: Platform.isIOS && controller.accountRepository.isLogin.value,
|
|
|
- child: GestureDetector(
|
|
|
- onTap: controller.clickRecoverSubscribe,
|
|
|
- child: Container(
|
|
|
- height: 26.w,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: ColorName.black40,
|
|
|
- borderRadius: BorderRadius.circular(26.w / 2.0),
|
|
|
- ),
|
|
|
- padding: EdgeInsets.symmetric(horizontal: 10.w),
|
|
|
- child: Row(
|
|
|
- children: [
|
|
|
- Assets.images.iconAppleRecoverSubscribe.image(width: 14.w,height: 14.w),
|
|
|
- Text(StringName.appleRecoverSubscribeTxt,
|
|
|
- style: TextStyle(
|
|
|
- fontSize: 11.sp,
|
|
|
- color: ColorName.white,
|
|
|
- fontWeight: FontWeight.w500)),
|
|
|
- ],
|
|
|
+ Spacer(),
|
|
|
+ Visibility(
|
|
|
+ visible: Platform.isIOS && controller.accountRepository.isLogin.value,
|
|
|
+ child: GestureDetector(
|
|
|
+ onTap: controller.clickRecoverSubscribe,
|
|
|
+ child: Container(
|
|
|
+ height: 26.w,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: ColorName.black40,
|
|
|
+ borderRadius: BorderRadius.circular(26.w / 2.0),
|
|
|
+ ),
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10.w),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Assets.images.iconAppleRecoverSubscribe.image(width: 14.w,height: 14.w),
|
|
|
+ Text(StringName.appleRecoverSubscribeTxt,
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 11.sp,
|
|
|
+ color: ColorName.white,
|
|
|
+ fontWeight: FontWeight.w500)),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
- ),
|
|
|
- )
|
|
|
- )
|
|
|
- ],
|
|
|
- );
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
Widget buildPrivacyPolicyView() {
|