Browse Source

[new]商店页增加渠道判断

zk 4 months ago
parent
commit
593f8dda39

File diff suppressed because it is too large
+ 842 - 563
lib/data/api/atmob_api.g.dart


+ 34 - 0
lib/data/consts/channel_id.dart

@@ -0,0 +1,34 @@
+abstract class ChannelId {
+  // 内推渠道
+  static const int nt = 99;
+
+  //神马
+  static const int sm = 108;
+
+  //  OPPO
+  static const int op = 107;
+
+  //万年历
+  static const int wnl = 106;
+
+  //微博
+  static const int wb = 105;
+
+  //百度
+  static const int bd = 104;
+
+  //爱奇艺
+  static const int iqy = 103;
+
+  // 快手
+  static const int ks = 102;
+
+  // 头条
+  static const int tt = 101;
+
+  //  广点通
+  static const int gdt = 100;
+
+  // 商店
+  static const int sd = 0;
+}

+ 10 - 11
lib/di/get_it.config.dart

@@ -1,4 +1,3 @@
-// dart format width=80
 // GENERATED CODE - DO NOT MODIFY BY HAND
 
 // **************************************************************************
@@ -63,15 +62,15 @@ extension GetItInjectableX on _i174.GetIt {
       environmentFilter,
     );
     final networkModule = _$NetworkModule();
-    gh.factory<_i973.SplashController>(() => _i973.SplashController());
-    gh.factory<_i756.TrackDetailController>(
-        () => _i756.TrackDetailController());
     gh.factory<_i256.AboutController>(() => _i256.AboutController());
-    gh.factory<_i769.FeedBackController>(() => _i769.FeedBackController());
     gh.factory<_i923.BrowserController>(() => _i923.BrowserController());
+    gh.factory<_i769.FeedBackController>(() => _i769.FeedBackController());
     gh.factory<_i779.NewsReportController>(() => _i779.NewsReportController());
     gh.factory<_i108.PermissionSettingController>(
         () => _i108.PermissionSettingController());
+    gh.factory<_i973.SplashController>(() => _i973.SplashController());
+    gh.factory<_i756.TrackDetailController>(
+        () => _i756.TrackDetailController());
     gh.singleton<_i361.Dio>(() => networkModule.createDefaultDio());
     gh.lazySingleton<_i772.InternetConnectionHelper>(
         () => _i772.InternetConnectionHelper());
@@ -85,14 +84,14 @@ extension GetItInjectableX on _i174.GetIt {
         .provideAtmobStreamApi(gh<_i361.Dio>(instanceName: 'stream')));
     gh.lazySingleton<_i20.AccountRepository>(
         () => _i20.AccountRepository(gh<_i243.AtmobApi>()));
-    gh.lazySingleton<_i274.PhoneEventRepository>(
-        () => _i274.PhoneEventRepository(gh<_i243.AtmobApi>()));
-    gh.lazySingleton<_i1053.FriendsRepository>(
-        () => _i1053.FriendsRepository(gh<_i243.AtmobApi>()));
     gh.lazySingleton<_i850.ContactRepository>(
         () => _i850.ContactRepository(gh<_i243.AtmobApi>()));
+    gh.lazySingleton<_i1053.FriendsRepository>(
+        () => _i1053.FriendsRepository(gh<_i243.AtmobApi>()));
     gh.lazySingleton<_i791.MessageRepository>(
         () => _i791.MessageRepository(gh<_i243.AtmobApi>()));
+    gh.lazySingleton<_i274.PhoneEventRepository>(
+        () => _i274.PhoneEventRepository(gh<_i243.AtmobApi>()));
     gh.lazySingleton<_i983.UrgentContactRepository>(
         () => _i983.UrgentContactRepository(gh<_i243.AtmobApi>()));
     gh.lazySingleton<_i220.AtmobLocationClient>(
@@ -128,10 +127,10 @@ extension GetItInjectableX on _i174.GetIt {
               gh<_i983.UrgentContactRepository>(),
               gh<_i20.AccountRepository>(),
             ));
-    gh.factory<_i492.FriendSettingController>(
-        () => _i492.FriendSettingController(gh<_i1053.FriendsRepository>()));
     gh.factory<_i897.AddFriendDialogController>(
         () => _i897.AddFriendDialogController(gh<_i1053.FriendsRepository>()));
+    gh.factory<_i492.FriendSettingController>(
+        () => _i492.FriendSettingController(gh<_i1053.FriendsRepository>()));
     gh.lazySingleton<_i814.MemberRepository>(() => _i814.MemberRepository(
           gh<_i243.AtmobApi>(),
           gh<_i20.AccountRepository>(),

+ 75 - 47
lib/module/member/member_controller.dart

@@ -11,6 +11,7 @@ import 'package:injectable/injectable.dart';
 import 'package:location/base/base_controller.dart';
 import 'package:location/data/bean/goods_bean.dart';
 import 'package:location/data/bean/pay_item_bean.dart';
+import 'package:location/data/consts/channel_id.dart';
 import 'package:location/data/repositories/account_repository.dart';
 import 'package:location/data/repositories/member_repository.dart';
 import 'package:location/dialog/alipay_qr_code_dialog.dart';
@@ -29,6 +30,7 @@ import '../../data/consts/error_code.dart';
 import '../../data/consts/payment_type.dart';
 import '../../data/consts/web_url.dart';
 import '../../data/repositories/phone_event_repository.dart';
+import '../../device/atmob_platform_info.dart';
 import '../../dialog/common_confirm_dialog_impl.dart';
 import '../../dialog/loading_dialog.dart';
 import '../../dialog/member_retain_dialog.dart';
@@ -153,24 +155,20 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       _toolBarOpacity.value = opacity;
     });
     refreshMemberData();
-
   }
 
   ///是否弹窗提示
   void _isTherePopUpPrompt() {
-    MemberPageType pageType = Get.arguments ?? MemberPageType.universalAccessEnter;
+    MemberPageType pageType =
+        Get.arguments ?? MemberPageType.universalAccessEnter;
     if (pageType == MemberPageType.afeterTrialMemberEnter) {
-      MemberFirstWeekDiscountDialog.show(
-          confirmOnTap: () {
-            onBuyClick();
-          },
-          onPrivacyPolicyClick: () {
-            onPrivacyPolicyClick();
-          },
-          onTermOfServiceClick: () {
-            onTermOfServiceClick();
-          }
-      );
+      MemberFirstWeekDiscountDialog.show(confirmOnTap: () {
+        onBuyClick();
+      }, onPrivacyPolicyClick: () {
+        onPrivacyPolicyClick();
+      }, onTermOfServiceClick: () {
+        onTermOfServiceClick();
+      });
     }
   }
 
@@ -200,7 +198,10 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       children: [
         RichText(
             text: TextSpan(
-                style: TextStyle(fontSize: 11.sp, color: Colors.white,fontWeight: FontWeight.w400),
+                style: TextStyle(
+                    fontSize: 11.sp,
+                    color: Colors.white,
+                    fontWeight: FontWeight.w400),
                 children: [
               TextSpan(text: userIdStr),
               TextSpan(text: '用户 '),
@@ -304,7 +305,8 @@ class MemberController extends BaseController implements PaymentStatusCallback {
     _isPopBackInProgress = true; // 锁定状态
     //_keMemberPageShowKey
     String? memberPageKeyStr = KVUtil.getString(_keMemberPageShowKey, '');
-    if ((memberPageKeyStr ?? '').isEmpty && (accountRepository.memberStatusInfo.value?.trialed == false)) {
+    if ((memberPageKeyStr ?? '').isEmpty &&
+        (accountRepository.memberStatusInfo.value?.trialed == false)) {
       ///永久化存储
       KVUtil.putString(_keMemberPageShowKey, _keMemberPageShowKey);
       MemberUserCancelPayDialog.show(payClick: () {
@@ -337,7 +339,7 @@ class MemberController extends BaseController implements PaymentStatusCallback {
     });
   }
 
-  void onBuyClick() {
+  void onBuyClick() async {
     if (selectedGoods == null) {
       ToastUtil.show(StringName.memberPleaseChoiceGoods);
       return;
@@ -346,6 +348,16 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       ToastUtil.show(StringName.memberPleaseChoicePayment);
       return;
     }
+    //增加渠道登录判断
+    if (atmobPlatformInfo.tgPlatform == ChannelId.sd) {
+      if (!accountRepository.isLogin.value) {
+        ToastUtil.show(StringName.accountNoLogin);
+        final isLogin = await LoginPage.start();
+        if (!isLogin) {
+          return;
+        }
+      }
+    }
     final buyGoods = selectedGoods!;
     final buyPayWay = selectedPayWay!;
 
@@ -400,10 +412,12 @@ class MemberController extends BaseController implements PaymentStatusCallback {
   }
 
   ///发起购买请求
-  Future<void> _onApplePay(String outTradeNo,
-      String appAccountToken,
-      PayItemBean payWayInfo,
-      GoodsBean goodsInfo,) async {
+  Future<void> _onApplePay(
+    String outTradeNo,
+    String appAccountToken,
+    PayItemBean payWayInfo,
+    GoodsBean goodsInfo,
+  ) async {
     final result = await ApplePay().purchase(
       productId: goodsInfo.appleGoodsId ?? "",
       appAccountToken: appAccountToken,
@@ -617,6 +631,7 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       String orderNo, PayItemBean paymentWay, GoodsBean storeItemBean) {
     ///购买成功消失
     LoadingDialog.hide();
+
     ///购买成功之后弹出
     afterTheFirstPurchasePromptSharingBoxPops();
   }
@@ -632,50 +647,63 @@ class MemberController extends BaseController implements PaymentStatusCallback {
     paymentStatusManager.onOrderFirstCheck().then((checkReponse) {
       //是否展示邀请弹框
       if (checkReponse.showInvite || checkReponse.showEvaluate) {
-        MemberPageType pageType = Get.arguments ?? MemberPageType.universalAccessEnter;
+        MemberPageType pageType =
+            Get.arguments ?? MemberPageType.universalAccessEnter;
         //去分享
-        if (checkReponse.showInvite && pageType == MemberPageType.addFriendToEnter) {
+        if (checkReponse.showInvite &&
+            pageType == MemberPageType.addFriendToEnter) {
           MemberPaymentCompletedDialog.show(confirmOnTap: () {
             WechatShareUtil.shareWebPage().catchError((error) {
               ToastUtil.show(error);
             });
             if (checkReponse.showEvaluate) {
               ///是否展示好评领会员弹框
-              MemberEvaluationPopUpDialog.show(confirmOnTap: () {
-                AppReviewService.requestAppReview(Get.context!);
-                onPaySucessShow();
-              },cancelOnTap: () {
-                onPaySucessShow();
-              },days: 1);
+              MemberEvaluationPopUpDialog.show(
+                  confirmOnTap: () {
+                    AppReviewService.requestAppReview(Get.context!);
+                    onPaySucessShow();
+                  },
+                  cancelOnTap: () {
+                    onPaySucessShow();
+                  },
+                  days: 1);
             } else {
               onPaySucessShow();
             }
-          },cancelOnTap: () {
+          }, cancelOnTap: () {
             if (checkReponse.showEvaluate) {
               ///是否展示好评领会员弹框
-              MemberEvaluationPopUpDialog.show(confirmOnTap: () {
-                AppReviewService.requestAppReview(Get.context!);
-                ///领取会员后请求
-                memberRepository.memberEvaluate().then((_){
-                }).catchError((error) {
-                });;//memberEvaluate
-                onPaySucessShow();
-              },cancelOnTap: () {
-                onPaySucessShow();
-              },days: 1);
+              MemberEvaluationPopUpDialog.show(
+                  confirmOnTap: () {
+                    AppReviewService.requestAppReview(Get.context!);
+
+                    ///领取会员后请求
+                    memberRepository
+                        .memberEvaluate()
+                        .then((_) {})
+                        .catchError((error) {});
+                    ; //memberEvaluate
+                    onPaySucessShow();
+                  },
+                  cancelOnTap: () {
+                    onPaySucessShow();
+                  },
+                  days: 1);
             } else {
               onPaySucessShow();
             }
           });
-        }
-        else if (checkReponse.showEvaluate) {
+        } else if (checkReponse.showEvaluate) {
           ///是否展示好评领会员弹框
-          MemberEvaluationPopUpDialog.show(confirmOnTap: () {
-            AppReviewService.requestAppReview(Get.context!);
-            onPaySucessShow();
-          },cancelOnTap: () {
-            onPaySucessShow();
-          },days: 1);
+          MemberEvaluationPopUpDialog.show(
+              confirmOnTap: () {
+                AppReviewService.requestAppReview(Get.context!);
+                onPaySucessShow();
+              },
+              cancelOnTap: () {
+                onPaySucessShow();
+              },
+              days: 1);
         }
       } else {
         onPaySucessShow();

+ 1 - 17
lib/resource/assets.gen.dart

@@ -1,5 +1,3 @@
-// dart format width=80
-
 /// GENERATED CODE - DO NOT MODIFY BY HAND
 /// *****************************************************
 ///  FlutterGen
@@ -7,7 +5,7 @@
 
 // coverage:ignore-file
 // ignore_for_file: type=lint
-// ignore_for_file: deprecated_member_use,directives_ordering,implicit_dynamic_list_literal,unnecessary_import
+// ignore_for_file: directives_ordering,unnecessary_import,implicit_dynamic_list_literal,deprecated_member_use
 
 import 'package:flutter/widgets.dart';
 
@@ -899,14 +897,12 @@ class AssetGenImage {
     this._assetName, {
     this.size,
     this.flavors = const {},
-    this.animation,
   });
 
   final String _assetName;
 
   final Size? size;
   final Set<String> flavors;
-  final AssetGenImageAnimation? animation;
 
   Image image({
     Key? key,
@@ -976,15 +972,3 @@ class AssetGenImage {
 
   String get keyName => _assetName;
 }
-
-class AssetGenImageAnimation {
-  const AssetGenImageAnimation({
-    required this.isAnimation,
-    required this.duration,
-    required this.frames,
-  });
-
-  final bool isAnimation;
-  final Duration duration;
-  final int frames;
-}

+ 1 - 2
lib/resource/colors.gen.dart

@@ -1,4 +1,3 @@
-// dart format width=80
 /// GENERATED CODE - DO NOT MODIFY BY HAND
 /// *****************************************************
 ///  FlutterGen
@@ -6,7 +5,7 @@
 
 // coverage:ignore-file
 // ignore_for_file: type=lint
-// ignore_for_file: deprecated_member_use,directives_ordering,implicit_dynamic_list_literal,unnecessary_import
+// ignore_for_file: directives_ordering,unnecessary_import,implicit_dynamic_list_literal,deprecated_member_use
 
 import 'package:flutter/painting.dart';
 import 'package:flutter/material.dart';

+ 1 - 2
lib/resource/fonts.gen.dart

@@ -1,4 +1,3 @@
-// dart format width=80
 /// GENERATED CODE - DO NOT MODIFY BY HAND
 /// *****************************************************
 ///  FlutterGen
@@ -6,7 +5,7 @@
 
 // coverage:ignore-file
 // ignore_for_file: type=lint
-// ignore_for_file: deprecated_member_use,directives_ordering,implicit_dynamic_list_literal,unnecessary_import
+// ignore_for_file: directives_ordering,unnecessary_import,implicit_dynamic_list_literal,deprecated_member_use
 
 class FontFamily {
   FontFamily._();

File diff suppressed because it is too large
+ 290 - 277
pubspec.lock