Prechádzať zdrojové kódy

[new]调整会员页挽留支付弹窗内容

zk 3 mesiacov pred
rodič
commit
1caa344169

BIN
assets/images/img_member_retain_container.webp


BIN
assets/images/img_member_retain_header.webp


+ 1 - 0
assets/string/base/string.xml

@@ -285,6 +285,7 @@
         本应用功能仅限于家庭成员和亲人朋友之间使用,根据相关法规和隐私协议规定,共享位置功能需要对方下载得到好友授权同意才能正常使用。
     </string>
     <string name="member_continue_pay">继续支付</string>
+    <string name="member_continue_pay_ios">解锁更多权益</string>
     <string name="member_please_choice_goods">请选择支付商品</string>
     <string name="member_please_choice_payment">请选择支付方式</string>
 

+ 78 - 53
lib/dialog/member_retain_dialog.dart

@@ -1,3 +1,5 @@
+import 'dart:io';
+
 import 'package:flutter/material.dart';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
 import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -35,64 +37,87 @@ class _MemberRetainDialogWidget extends Dialog {
 
   @override
   Widget build(BuildContext context) {
-    return Container(
-      child: IntrinsicHeight(
-        child: Column(
-          children: [
-            Stack(
-              children: [
-                AspectRatio(
-                    aspectRatio: 1110 / 1296,
-                    child: Assets.images.imgMemberRetainContainer
-                        .image(width: 301.w)),
-                Positioned(
-                  top: 360.w,
-                  left: 73.w,
-                  right: 73.w,
-                  child: GestureDetector(
-                    onTap: () {
-                      MemberRetainDialog.dismiss();
-                      payClick();
-                    },
-                    child: Container(
-                      height: 40.w,
-                      decoration: BoxDecoration(
-                        gradient: LinearGradient(
-                          begin: Alignment.centerLeft, // 90度相当于从左到右
-                          end: Alignment.centerRight,
-                          colors: [
-                            Color(0xFF7B7DFF), // #7B7DFF
-                            Color(0xFF6365FF), // #6365FF
-                          ],
-                          stops: [0.0, 1.0],
-                          // 从0%到100%
-                        ),
-                        borderRadius: BorderRadius.circular(40.w / 2.0),
-                      ),
-                      //getPrimaryBtnDecoration(100.w),
-                      child: Center(
-                        child: Text(StringName.memberContinuePay,
-                            style: TextStyle(
-                                fontSize: 15.sp, color: Colors.white)),
+    return IntrinsicHeight(
+      child: Column(
+        children: [
+          Stack(
+            children: [
+              Visibility(
+                visible: Platform.isAndroid,
+                child: Positioned(
+                  top: 0,
+                  left: 10.w,
+                  child: SizedBox(
+                    width: 300.w,
+                    child: AspectRatio(
+                        aspectRatio: 987 / 543,
+                        child: Assets.images.imgMemberRetainHeader.image()),
+                  ),
+                ),
+              ),
+              Column(
+                children: [
+                  SizedBox(height: 110.w),
+                  SizedBox(
+                    width: 294.w,
+                    child: AspectRatio(
+                        aspectRatio: 882 / 966,
+                        child: Assets.images.imgMemberRetainContainer.image()),
+                  )
+                ],
+              ),
+              Positioned(
+                bottom: 22.w,
+                left: 36.w,
+                right: 36.w,
+                child: GestureDetector(
+                  onTap: () {
+                    MemberRetainDialog.dismiss();
+                    payClick();
+                  },
+                  child: Container(
+                    height: 40.w,
+                    decoration: BoxDecoration(
+                      gradient: LinearGradient(
+                        begin: Alignment.centerLeft, // 90度相当于从左到右
+                        end: Alignment.centerRight,
+                        colors: [
+                          Color(0xFF7B7DFF), // #7B7DFF
+                          Color(0xFF6365FF), // #6365FF
+                        ],
+                        stops: [0.0, 1.0],
+                        // 从0%到100%
                       ),
+                      borderRadius: BorderRadius.circular(40.w / 2.0),
+                    ),
+                    //getPrimaryBtnDecoration(100.w),
+                    child: Center(
+                      child: Text(
+                          Platform.isAndroid
+                              ? StringName.memberContinuePay
+                              : StringName.memberContinuePayIos,
+                          style:
+                              TextStyle(fontSize: 15.sp, color: Colors.white)),
                     ),
                   ),
                 ),
-              ],
+              )
+            ],
+          ),
+          SizedBox(
+            height: 24.w,
+          ),
+          Center(
+            child: GestureDetector(
+              onTap: () {
+                MemberRetainDialog.dismiss();
+                cancelClick();
+              },
+              child: Assets.images.iconMemberRetainClose
+                  .image(width: 32.w, height: 32.w),
             ),
-            SizedBox(height: 24.w,),
-            Center(
-              child: GestureDetector(
-                onTap: () {
-                  MemberRetainDialog.dismiss();
-                  cancelClick();
-                },
-                child: Assets.images.iconMemberRetainClose
-                    .image(width: 32.w, height: 32.w),
-              ),
-            )
-          ],
-        ),
+          )
+        ],
       ),
     );
   }

+ 5 - 0
lib/resource/assets.gen.dart

@@ -735,6 +735,10 @@ class $AssetsImagesGen {
   AssetGenImage get imgMemberRetainContainer =>
       const AssetGenImage('assets/images/img_member_retain_container.webp');
 
+  /// File path: assets/images/img_member_retain_header.webp
+  AssetGenImage get imgMemberRetainHeader =>
+      const AssetGenImage('assets/images/img_member_retain_header.webp');
+
   /// File path: assets/images/img_member_user_cancels_container.webp
   AssetGenImage get imgMemberUserCancelsContainer => const AssetGenImage(
       'assets/images/img_member_user_cancels_container.webp');
@@ -935,6 +939,7 @@ class $AssetsImagesGen {
         imgMemberHeaderAd3,
         imgMemberHeaderAd4,
         imgMemberRetainContainer,
+        imgMemberRetainHeader,
         imgMemberUserCancelsContainer,
         imgTrackAiAnalyse,
         imgTrackNoData,

+ 3 - 0
lib/resource/string.gen.dart

@@ -240,6 +240,8 @@ class StringName {
   static String get memberUserEvaluate => 'member_user_evaluate'.tr; // 用户评价
   static String get memberTips => 'member_tips'.tr; // 本应用功能仅限于家庭成员和亲人朋友之间使用,根据相关法规和隐私协议规定,共享位置功能需要对方下载得到好友授权同意才能正常使用。
   static String get memberContinuePay => 'member_continue_pay'.tr; // 继续支付
+  static String get memberContinuePayIos =>
+      'member_continue_pay_ios'.tr; // 解锁更多权益
   static String get memberPleaseChoiceGoods => 'member_please_choice_goods'.tr; // 请选择支付商品
   static String get memberPleaseChoicePayment => 'member_please_choice_payment'.tr; // 请选择支付方式
   static String get payLoading => 'pay_loading'.tr; // 请求中...
@@ -580,6 +582,7 @@ class StringMultiSource {
       'member_user_evaluate': '用户评价',
       'member_tips': '本应用功能仅限于家庭成员和亲人朋友之间使用,根据相关法规和隐私协议规定,共享位置功能需要对方下载得到好友授权同意才能正常使用。',
       'member_continue_pay': '继续支付',
+      'member_continue_pay_ios': '解锁更多权益',
       'member_please_choice_goods': '请选择支付商品',
       'member_please_choice_payment': '请选择支付方式',
       'pay_loading': '请求中...',