Browse Source

Merge remote-tracking branch 'origin/v1.0.2' into v1.0.2

hezihao 6 months ago
parent
commit
1f867d89a2

BIN
assets/images/bg_new_discount_ticket.webp


BIN
assets/images/bg_new_discount_ticket_content.webp


BIN
assets/images/bg_new_surprise_dialog.webp


BIN
assets/images/bg_new_surprise_dialog_content.webp


BIN
assets/images/icon_new_discount_banner_531.webp


BIN
assets/images/icon_new_discount_ticket_button.webp


BIN
assets/images/icon_new_discount_ticket_shade.webp


BIN
assets/images/icon_new_surprise_dialog_531.webp


BIN
assets/images/icon_new_surprise_dialog_button.webp


BIN
assets/images/icon_new_surprise_dialog_close.webp


BIN
assets/images/icon_new_surprise_dialog_hand.webp


BIN
assets/images/icon_new_surprise_dialog_only.webp


BIN
assets/images/icon_store_banner_531.webp


+ 4 - 2
lib/module/character/content/character_group_content_controller.dart

@@ -11,6 +11,7 @@ import 'package:keyboard/data/repository/characters_repository.dart';
 import 'package:keyboard/dialog/character_details_dialog.dart';
 import 'package:keyboard/dialog/login/login_dialog.dart';
 import 'package:keyboard/module/character/character_controller.dart';
+import 'package:keyboard/module/store/new_surprise/new_surprise_dialog.dart';
 import 'package:keyboard/module/store/store_page.dart';
 import 'package:keyboard/module/store/ticket/discount_ticket_dialog.dart';
 import 'package:keyboard/utils/atmob_log.dart';
@@ -28,6 +29,7 @@ import '../../../handler/event_handler.dart';
 import '../../../resource/assets.gen.dart';
 import '../../../utils/error_handler.dart';
 import '../../store/new_discount/new_discount_page.dart';
+import '../../store/new_ticket/new_discount_ticket_dialog.dart';
 import '../../store/suprise/surprise_dialog.dart';
 
 @injectable
@@ -157,7 +159,7 @@ class CharacterGroupContentController extends BaseController {
                 characterInfo.isLock == true &&
                 !isVipUser,
             onExecute: () {
-              DiscountTicketDialog.show(
+              NewDiscountTicketDialog.show(
                 clickConfirm: () {
                   NewDiscountPage.start();
                 },
@@ -172,7 +174,7 @@ class CharacterGroupContentController extends BaseController {
                 characterInfo.isLock == true &&
                 !isVipUser,
             onExecute: () {
-              SurpriseDialog.show(
+              NewSurpriseDialog.show(
                 clickConfirm: () {
                   NewDiscountPage.start();
                 },

+ 1 - 1
lib/module/splash/splash_controller.dart

@@ -55,7 +55,7 @@ class SplashController extends BaseController {
   }
 
   void isAgreePrivacyNextStep() {
-    _goMain(Duration(microseconds: 800));
+    _goMain(Duration(seconds: splashDelayedTime));
   }
 
   void _goMain(Duration delayTime, {Map<String, String>? arguments}) {

+ 5 - 5
lib/module/store/new_discount/new_discount_controller.dart

@@ -37,6 +37,8 @@ import '../../../utils/atmob_log.dart';
 import '../../../utils/http_handler.dart';
 import '../../../utils/payment_status_manager.dart';
 import '../../../utils/toast_util.dart';
+import '../new_surprise/new_surprise_dialog.dart';
+import '../new_ticket/new_discount_ticket_dialog.dart';
 import '../suprise/surprise_dialog.dart';
 import '../ticket/discount_ticket_dialog.dart';
 import 'new_discount_page.dart';
@@ -54,7 +56,6 @@ class NewDiscountController extends BaseController
 
   final PaymentStatusManager paymentStatusManager;
 
-
   RxList<GoodsInfo> get goodsInfoList =>
       storeRepository.newDiscountGoodsInfoList;
 
@@ -93,7 +94,7 @@ class NewDiscountController extends BaseController
 
   /// 轮播图控制器
   final List<AssetGenImage> bannerList = [
-    Assets.images.iconNewDiscountBanner1,
+    Assets.images.iconNewDiscountBanner531,
 
     Assets.images.iconNewDiscountBanner2,
 
@@ -495,7 +496,7 @@ class NewDiscountController extends BaseController
     paymentStatusManager.unregisterPaymentSuccessCallback(this);
     if (!isFirstIntoDiscount() && !accountRepository.isVipUser) {
       if (Platform.isAndroid) {
-        SurpriseDialog.show(
+        NewSurpriseDialog.show(
           clickConfirm: () {
             NewDiscountPage.start();
           },
@@ -503,13 +504,12 @@ class NewDiscountController extends BaseController
         );
       }
       if (Platform.isIOS) {
-        DiscountTicketDialog.show(
+        NewDiscountTicketDialog.show(
           clickConfirm: () {
             NewDiscountPage.start();
           },
           clickCancel: () {},
         );
-
       }
     } else {
       setFirstIntoDiscount(false);

+ 231 - 0
lib/module/store/new_surprise/new_surprise_dialog.dart

@@ -0,0 +1,231 @@
+import 'dart:ui';
+
+import 'package:flutter/Material.dart';
+import 'package:flutter/cupertino.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
+import 'package:get/get.dart';
+import 'package:keyboard/module/store/suprise/goods_surprise_controller.dart';
+import '../../../data/consts/constants.dart';
+import '../../../data/consts/event_report.dart';
+import '../../../handler/event_handler.dart';
+import '../../../resource/assets.gen.dart';
+import '../../../resource/colors.gen.dart';
+import '../../../resource/string.gen.dart';
+import '../../../widget/horizontal_dashed_line.dart';
+
+class NewSurpriseDialog {
+  static const String tag = 'NewSurpriseDialog';
+
+  static void show({VoidCallback? clickConfirm, VoidCallback? clickCancel}) {
+    EventHandler.report(EventId.event_02009);
+    if (SmartDialog.checkExist(tag: tag)) return;
+    SmartDialog.show(
+      tag: tag,
+      keepSingle: true,
+      backType: SmartBackType.block,
+      clickMaskDismiss: false,
+      maskColor: ColorName.black70,
+      onDismiss: () => Get.delete<GoodsSurpriseController>(),
+      animationType: SmartAnimationType.centerScale_otherSlide,
+      builder: (_) {
+        final controller = Get.find<GoodsSurpriseController>();
+        return Column(
+          crossAxisAlignment: CrossAxisAlignment.center,
+          mainAxisAlignment: MainAxisAlignment.start,
+          children: [
+            SizedBox(height: 243.h),
+            Stack(
+              clipBehavior: Clip.none,
+              children: [
+                Positioned(
+                  top: -153.h,
+                  child: Assets.images.iconNewSurpriseDialog531.image(
+                    width: 318.w,
+                    height: 183.h,
+                    fit: BoxFit.contain,
+                  ),
+                ),
+                Assets.images.bgNewSurpriseDialog.image(width: 351.w),
+                Positioned(
+                  left: 0,
+                  right: 0,
+                  child: Column(
+                    children: [
+                      Assets.images.iconNewSurpriseDialogOnly.image(
+                        width: 178.32.w,
+                        height: 69.31.h,
+                      ),
+                      SizedBox(height: 7.2.h),
+                      Container(
+                        width: 240.w,
+                        height: 108.h,
+                        decoration: BoxDecoration(
+                          image: DecorationImage(
+                            image:
+                                Assets.images.bgNewSurpriseDialogContent
+                                    .provider(),
+                            fit: BoxFit.contain,
+                          ),
+                        ),
+                        child: Column(
+                          mainAxisAlignment: MainAxisAlignment.center,
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: [
+                            SizedBox(height: 15.h),
+                            Obx(() {
+                              return _buildPricesPartOne(controller);
+                            }),
+                            HorizontalDashedLine(
+                              width: 200.w,
+                              color: Color(0xFFFFA0AE),
+                              strokeWidth: 2.h,
+                              dashLength: 5.w,
+                              dashSpace: 3.w,
+                            ),
+                            SizedBox(height: 5.h),
+                            Obx(() {
+                              return Text(
+                                controller.firstAmount?.description ?? "",
+                                style: TextStyle(
+                                  color: const Color(0xFFFFF2F4),
+                                  fontSize: 10.sp,
+                                  fontWeight: FontWeight.w400,
+                                  height: 2,
+                                ),
+                              );
+                            }),
+                          ],
+                        ),
+                      ),
+                      SizedBox(height: 7.86.h),
+                      GestureDetector(
+                        onTap: () {
+                          EventHandler.report(EventId.event_02010);
+                          clickConfirm?.call();
+                          SmartDialog.dismiss(tag: tag);
+                        },
+                        child: SizedBox(
+                          width: 240.w,
+                          height: 60.h,
+                          child: SizedBox(
+                            child: Assets.images.iconNewSurpriseDialogButton
+                                .image(width: 240.w, height: 60.h),
+                          ),
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+                Positioned(
+                  right: 20.w,
+                  bottom: -5.h,
+                  child: IgnorePointer(
+                    child: Assets.images.iconNewSurpriseDialogHand.image(
+                      width: 78.w,
+                      height: 79.h,
+                    ),
+                  ),
+                ),
+              ],
+            ),
+
+            SizedBox(height: 26.h),
+            GestureDetector(
+              onTap: () {
+                EventHandler.report(EventId.event_02011);
+                SmartDialog.dismiss(tag: tag);
+                clickCancel?.call();
+              },
+              child: Assets.images.iconNewSurpriseDialogClose.image(
+                width: 40.r,
+                height: 40.r,
+              ),
+            ),
+          ],
+        );
+      },
+    );
+  }
+
+  static Widget _buildPricesPartOne(GoodsSurpriseController controller) {
+    return Stack(
+      children: [
+        Row(
+          mainAxisAlignment: MainAxisAlignment.center,
+          crossAxisAlignment: CrossAxisAlignment.center,
+          children: [
+            Text(
+              controller.firstAmount?.priceDescNumber ?? "",
+              style: TextStyle(
+                color: Colors.white,
+                fontSize: 42.sp,
+                fontWeight: FontWeight.w900,
+                height: 0,
+              ),
+            ),
+            Column(
+              children: [
+                Container(
+                  width: 30.w,
+                  height: 18.h,
+                  decoration: BoxDecoration(
+                    image: DecorationImage(
+                      image: Assets.images.iconSurpriseDialogOnly.provider(),
+                      fit: BoxFit.cover,
+                    ),
+                  ),
+                  child: Center(
+                    child: Text(
+                      StringName.surpriseDialogOnly,
+                      style: TextStyle(
+                        color: const Color(0xFFFF451D),
+                        fontSize: 11.sp,
+                        fontWeight: FontWeight.w500,
+                      ),
+                    ),
+                  ),
+                ),
+                Text(
+                  controller.firstAmount?.priceDescUnit ?? '',
+                  style: TextStyle(
+                    color: Colors.white,
+                    fontSize: 14.sp,
+                    fontWeight: FontWeight.w700,
+                  ),
+                ),
+              ],
+            ),
+          ],
+        ),
+        Positioned(
+          top: 5.r,
+          left: 47.30.w,
+          child: Container(
+            padding: EdgeInsets.symmetric(horizontal: 2.w),
+            transform:
+                Matrix4.identity()
+                  ..translate(0.0, 0.0)
+                  ..rotateZ(-0.41),
+            decoration: ShapeDecoration(
+              color: const Color(0xFFD8FF1E),
+              shape: RoundedRectangleBorder(
+                borderRadius: BorderRadius.circular(3.r),
+              ),
+            ),
+            child: Text(
+              controller.firstAmount?.name ?? "",
+              textAlign: TextAlign.center,
+              style: TextStyle(
+                color: const Color(0xFF231815),
+                fontSize: 12.sp,
+                fontWeight: FontWeight.w700,
+                letterSpacing: -0.36,
+              ),
+            ),
+          ),
+        ),
+      ],
+    );
+  }
+}

+ 213 - 0
lib/module/store/new_ticket/new_discount_ticket_dialog.dart

@@ -0,0 +1,213 @@
+import 'dart:ui';
+
+import 'package:flutter/Material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
+import 'package:get/get.dart';
+import '../../../data/consts/event_report.dart';
+import '../../../handler/event_handler.dart';
+import '../../../resource/assets.gen.dart';
+import '../../../resource/colors.gen.dart';
+import '../suprise/goods_surprise_controller.dart';
+
+class NewDiscountTicketDialog {
+  static const String tag = 'NewDiscountTicketDialog';
+
+  static void show({VoidCallback? clickConfirm, VoidCallback? clickCancel}) {
+    EventHandler.report(EventId.event_02006);
+    if (SmartDialog.checkExist(tag: tag)) return;
+    SmartDialog.show(
+      tag: tag,
+      keepSingle: true,
+      backType: SmartBackType.block,
+      clickMaskDismiss: false,
+      maskColor: ColorName.black70,
+      onDismiss: () => Get.delete<GoodsSurpriseController>(),
+      animationType: SmartAnimationType.centerScale_otherSlide,
+      builder: (_) {
+        final controller = Get.find<GoodsSurpriseController>();
+        return Column(
+          crossAxisAlignment: CrossAxisAlignment.center,
+          mainAxisAlignment: MainAxisAlignment.start,
+          children: [
+            SizedBox(height: 50.h),
+            Stack(
+              clipBehavior: Clip.none,
+              children: [
+                Container(
+                  width: 360.w,
+                  height: 567.h,
+                  decoration: BoxDecoration(
+                    image: DecorationImage(
+                      image: Assets.images.bgNewDiscountTicket.provider(),
+                      fit: BoxFit.contain,
+                    ),
+                  ),
+                  child: Column(
+                    children: [
+                      SizedBox(height: 305.h),
+                      Container(
+                        width: 240.w,
+                        height: 119.h,
+                        decoration: BoxDecoration(
+                          image: DecorationImage(
+                            image:
+                                Assets.images.bgNewDiscountTicketContent
+                                    .provider(),
+                            fit: BoxFit.contain,
+                          ),
+                        ),
+                        child: Column(
+                          mainAxisAlignment: MainAxisAlignment.start,
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: [
+                            SizedBox(height: 3.h),
+                            Obx(() {
+                              return Container(
+                                padding: EdgeInsets.symmetric(
+                                  horizontal: 10.w,
+                                  vertical: 2.h,
+                                ),
+                                decoration: BoxDecoration(
+                                  color: Color(0xFFFFE1D9),
+                                  borderRadius: BorderRadius.only(
+                                    bottomLeft: Radius.circular(10.r),
+                                    bottomRight: Radius.circular(10.r),
+                                  ),
+                                ),
+                                child: Text(
+                                  controller.secondAmount?.name ?? '',
+                                  style: TextStyle(
+                                    color: const Color(0xFFFF2F79),
+                                    fontSize: 13.sp,
+                                    fontWeight: FontWeight.w500,
+                                  ),
+                                ),
+                              );
+                            }),
+                            SizedBox(height: 10.h,),
+                            Row(
+                              mainAxisAlignment: MainAxisAlignment.center,
+                              crossAxisAlignment: CrossAxisAlignment.end,
+                              children: [
+                                Stack(
+                                  clipBehavior: Clip.none,
+                                  children: [
+                                    Obx(() {
+                                      return Text(
+                                        controller.secondAmount?.amountText ??
+                                            "",
+                                        style: TextStyle(
+                                          color: const Color(0xFFFF005A),
+                                          fontSize: 42.sp,
+                                          fontWeight: FontWeight.w900,
+
+                                          height: 0,
+                                        ),
+                                      );
+                                    }),
+                                    Positioned(
+                                      bottom: 5.h,
+                                      right: -12.w,
+                                      child: _unit(),
+                                    ),
+                                  ],
+                                ),
+                              ],
+                            ),
+                            Obx(() {
+                              return Text(
+                                controller.secondAmount?.description ?? "",
+                                style: TextStyle(
+                                  color: const Color(0xFFEA8AAC),
+                                  fontSize: 12.sp,
+                                  fontWeight: FontWeight.w400,
+                                ),
+                              );
+                            }),
+                          ],
+                        ),
+                      ),
+                      SizedBox(height: 18.h),
+                      GestureDetector(
+                        onTap: () {
+                          EventHandler.report(EventId.event_02010);
+                          clickConfirm?.call();
+                          SmartDialog.dismiss(tag: tag);
+                        },
+                        child: SizedBox(
+                          width: 240.w,
+                          height: 60.h,
+                          child: SizedBox(
+                            child: Assets.images.iconNewDiscountTicketButton
+                                .image(
+                                  width: 260.w,
+                                  height: 50.h,
+                                  fit: BoxFit.contain,
+                                ),
+                          ),
+                        ),
+                      ),
+                    ],
+                  ),
+                ),
+                Positioned(
+                  right: 25.w,
+                  bottom: 20.h,
+                  child: IgnorePointer(
+                    child: Assets.images.iconNewSurpriseDialogHand.image(
+                      width: 78.w,
+                      height: 79.h,
+                    ),
+                  ),
+                ),
+              ],
+            ),
+            Transform.translate(
+              offset: Offset(0, -20.h),
+              child: GestureDetector(
+                onTap: () {
+                  EventHandler.report(EventId.event_02011);
+                  SmartDialog.dismiss(tag: tag);
+                  clickCancel?.call();
+                },
+                child: Assets.images.iconNewSurpriseDialogClose.image(
+                  width: 40.r,
+                  height: 40.r,
+                ),
+              ),
+            ),
+          ],
+        );
+      },
+    );
+  }
+
+  static Widget _unit() {
+    return Container(
+      width: 20.w,
+      height: 20.w,
+      decoration: ShapeDecoration(
+        color: const Color(0xFFFF005A),
+        shape: OvalBorder(
+          side: BorderSide(
+            width: 2.w,
+            strokeAlign: BorderSide.strokeAlignCenter,
+            color: Colors.white,
+          ),
+        ),
+      ),
+      child: Center(
+        child: Text(
+          '元',
+          style: TextStyle(
+            color: Colors.white,
+            fontSize: 12.sp,
+            fontWeight: FontWeight.w700,
+            height: 1.67,
+          ),
+        ),
+      ),
+    );
+  }
+}

+ 6 - 3
lib/module/store/store_controller.dart

@@ -45,6 +45,8 @@ import '../../utils/http_handler.dart';
 import '../../utils/payment_status_manager.dart';
 import '../../utils/toast_util.dart';
 import '../login/login_page.dart';
+import 'new_surprise/new_surprise_dialog.dart';
+import 'new_ticket/new_discount_ticket_dialog.dart';
 
 @injectable
 class StoreController extends BaseController implements PaymentStatusCallback {
@@ -87,7 +89,7 @@ class StoreController extends BaseController implements PaymentStatusCallback {
 
   final List<StoreBannerBean> bannerList = [
     StoreBannerBean(
-      banner: Assets.images.iconStoreBanner1,
+      banner: Assets.images.iconStoreBanner531,
       indicatorImg: Assets.images.iconStoreIndicator1,
       unSelectedDesc: "定制人设",
     ),
@@ -209,6 +211,7 @@ class StoreController extends BaseController implements PaymentStatusCallback {
   }
 
   void clickBack() {
+
     EventHandler.report(EventId.event_02005);
     Get.back();
   }
@@ -483,7 +486,7 @@ class StoreController extends BaseController implements PaymentStatusCallback {
       return;
     }
     if (Platform.isAndroid) {
-      SurpriseDialog.show(
+      NewSurpriseDialog.show(
         clickConfirm: () {
           NewDiscountPage.start();
         },
@@ -491,7 +494,7 @@ class StoreController extends BaseController implements PaymentStatusCallback {
       );
     }
     if (Platform.isIOS) {
-      DiscountTicketDialog.show(
+      NewDiscountTicketDialog.show(
         clickConfirm: () {
           NewDiscountPage.start();
         },

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

@@ -273,6 +273,22 @@ class $AssetsImagesGen {
   AssetGenImage get bgNewDiscountItemUnselect =>
       const AssetGenImage('assets/images/bg_new_discount_item_unselect.webp');
 
+  /// File path: assets/images/bg_new_discount_ticket.webp
+  AssetGenImage get bgNewDiscountTicket =>
+      const AssetGenImage('assets/images/bg_new_discount_ticket.webp');
+
+  /// File path: assets/images/bg_new_discount_ticket_content.webp
+  AssetGenImage get bgNewDiscountTicketContent =>
+      const AssetGenImage('assets/images/bg_new_discount_ticket_content.webp');
+
+  /// File path: assets/images/bg_new_surprise_dialog.webp
+  AssetGenImage get bgNewSurpriseDialog =>
+      const AssetGenImage('assets/images/bg_new_surprise_dialog.webp');
+
+  /// File path: assets/images/bg_new_surprise_dialog_content.webp
+  AssetGenImage get bgNewSurpriseDialogContent =>
+      const AssetGenImage('assets/images/bg_new_surprise_dialog_content.webp');
+
   /// File path: assets/images/bg_new_user_result.webp
   AssetGenImage get bgNewUserResult =>
       const AssetGenImage('assets/images/bg_new_user_result.webp');
@@ -961,6 +977,10 @@ class $AssetsImagesGen {
   AssetGenImage get iconNewDiscountBanner3 =>
       const AssetGenImage('assets/images/icon_new_discount_banner_3.webp');
 
+  /// File path: assets/images/icon_new_discount_banner_531.webp
+  AssetGenImage get iconNewDiscountBanner531 =>
+      const AssetGenImage('assets/images/icon_new_discount_banner_531.webp');
+
   /// File path: assets/images/icon_new_discount_character_title.webp
   AssetGenImage get iconNewDiscountCharacterTitle => const AssetGenImage(
     'assets/images/icon_new_discount_character_title.webp',
@@ -1000,6 +1020,34 @@ class $AssetsImagesGen {
     'assets/images/icon_new_discount_membership_card_title.webp',
   );
 
+  /// File path: assets/images/icon_new_discount_ticket_button.webp
+  AssetGenImage get iconNewDiscountTicketButton =>
+      const AssetGenImage('assets/images/icon_new_discount_ticket_button.webp');
+
+  /// File path: assets/images/icon_new_discount_ticket_shade.webp
+  AssetGenImage get iconNewDiscountTicketShade =>
+      const AssetGenImage('assets/images/icon_new_discount_ticket_shade.webp');
+
+  /// File path: assets/images/icon_new_surprise_dialog_531.webp
+  AssetGenImage get iconNewSurpriseDialog531 =>
+      const AssetGenImage('assets/images/icon_new_surprise_dialog_531.webp');
+
+  /// File path: assets/images/icon_new_surprise_dialog_button.webp
+  AssetGenImage get iconNewSurpriseDialogButton =>
+      const AssetGenImage('assets/images/icon_new_surprise_dialog_button.webp');
+
+  /// File path: assets/images/icon_new_surprise_dialog_close.webp
+  AssetGenImage get iconNewSurpriseDialogClose =>
+      const AssetGenImage('assets/images/icon_new_surprise_dialog_close.webp');
+
+  /// File path: assets/images/icon_new_surprise_dialog_hand.webp
+  AssetGenImage get iconNewSurpriseDialogHand =>
+      const AssetGenImage('assets/images/icon_new_surprise_dialog_hand.webp');
+
+  /// File path: assets/images/icon_new_surprise_dialog_only.webp
+  AssetGenImage get iconNewSurpriseDialogOnly =>
+      const AssetGenImage('assets/images/icon_new_surprise_dialog_only.webp');
+
   /// File path: assets/images/icon_new_user_birthday_logo.webp
   AssetGenImage get iconNewUserBirthdayLogo =>
       const AssetGenImage('assets/images/icon_new_user_birthday_logo.webp');
@@ -1108,6 +1156,10 @@ class $AssetsImagesGen {
   AssetGenImage get iconStoreBanner3 =>
       const AssetGenImage('assets/images/icon_store_banner3.webp');
 
+  /// File path: assets/images/icon_store_banner_531.webp
+  AssetGenImage get iconStoreBanner531 =>
+      const AssetGenImage('assets/images/icon_store_banner_531.webp');
+
   /// File path: assets/images/icon_store_divider.webp
   AssetGenImage get iconStoreDivider =>
       const AssetGenImage('assets/images/icon_store_divider.webp');
@@ -1345,6 +1397,10 @@ class $AssetsImagesGen {
     bgMineVipCard,
     bgNewDiscountItemSelect,
     bgNewDiscountItemUnselect,
+    bgNewDiscountTicket,
+    bgNewDiscountTicketContent,
+    bgNewSurpriseDialog,
+    bgNewSurpriseDialogContent,
     bgNewUserResult,
     bgNewUserResultIntimacy,
     bgProfileEditIntimacy,
@@ -1507,6 +1563,7 @@ class $AssetsImagesGen {
     iconNewDiscountBanner1,
     iconNewDiscountBanner2,
     iconNewDiscountBanner3,
+    iconNewDiscountBanner531,
     iconNewDiscountCharacterTitle,
     iconNewDiscountItemSelect,
     iconNewDiscountMembershipCard1,
@@ -1515,6 +1572,13 @@ class $AssetsImagesGen {
     iconNewDiscountMembershipCard4,
     iconNewDiscountMembershipCard5,
     iconNewDiscountMembershipCardTitle,
+    iconNewDiscountTicketButton,
+    iconNewDiscountTicketShade,
+    iconNewSurpriseDialog531,
+    iconNewSurpriseDialogButton,
+    iconNewSurpriseDialogClose,
+    iconNewSurpriseDialogHand,
+    iconNewSurpriseDialogOnly,
     iconNewUserBirthdayLogo,
     iconNewUserOpenNow,
     iconNewUserResultLoveLeft,
@@ -1542,6 +1606,7 @@ class $AssetsImagesGen {
     iconStoreBanner1,
     iconStoreBanner2,
     iconStoreBanner3,
+    iconStoreBanner531,
     iconStoreDivider,
     iconStoreIndicator1,
     iconStoreIndicator2,