Commit 1de9bc4e19427f957398053ce03b45f4c2a9c078

Authored by xiaoyu
2 parents c725435a 27dad3d1

Merge remote-tracking branch 'origin/feat-wqf-payment' into xiaoyu_cocossteve

android/app/src/main/AndroidManifest.xml
@@ -42,4 +42,5 @@ @@ -42,4 +42,5 @@
42 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 42 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
43 <uses-permission android:name="android.permission.CAMERA" /> 43 <uses-permission android:name="android.permission.CAMERA" />
44 <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> 44 <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  45 + <uses-permission android:name="android.permission.READ_PHONE_STATE" />
45 </manifest> 46 </manifest>
android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
@@ -10,6 +10,7 @@ import com.gyf.immersionbar.BarHide @@ -10,6 +10,7 @@ import com.gyf.immersionbar.BarHide
10 import com.gyf.immersionbar.ImmersionBar 10 import com.gyf.immersionbar.ImmersionBar
11 import com.kouyuxingqiu.wow_english.methodChannels.GameMethodChannel 11 import com.kouyuxingqiu.wow_english.methodChannels.GameMethodChannel
12 import com.kouyuxingqiu.wow_english.methodChannels.SingSoungMethodChannel 12 import com.kouyuxingqiu.wow_english.methodChannels.SingSoungMethodChannel
  13 +import com.umeng.commonsdk.UMConfigure
13 import io.flutter.embedding.android.FlutterActivity 14 import io.flutter.embedding.android.FlutterActivity
14 15
15 class MainActivity : FlutterActivity() { 16 class MainActivity : FlutterActivity() {
@@ -22,6 +23,9 @@ class MainActivity : FlutterActivity() { @@ -22,6 +23,9 @@ class MainActivity : FlutterActivity() {
22 SingSoungMethodChannel(this, it) 23 SingSoungMethodChannel(this, it)
23 GameMethodChannel(this, it) 24 GameMethodChannel(this, it)
24 } 25 }
  26 + //UM日志打印
  27 + UMConfigure.setLogEnabled(true)
  28 + UMConfigure.preInit(this, "663b66b0b3362515012f4ea5", "official")
25 } 29 }
26 30
27 override fun onResume() { 31 override fun onResume() {
lib/app/splash_page.dart
@@ -6,6 +6,7 @@ import &#39;package:flutter/foundation.dart&#39;; @@ -6,6 +6,7 @@ import &#39;package:flutter/foundation.dart&#39;;
6 import 'package:flutter/material.dart'; 6 import 'package:flutter/material.dart';
7 import 'package:flutter/services.dart'; 7 import 'package:flutter/services.dart';
8 import 'package:limiting_direction_csx/limiting_direction_csx.dart'; 8 import 'package:limiting_direction_csx/limiting_direction_csx.dart';
  9 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
9 import 'package:wow_english/common/core/app_config_helper.dart'; 10 import 'package:wow_english/common/core/app_config_helper.dart';
10 import 'package:wow_english/common/core/user_util.dart'; 11 import 'package:wow_english/common/core/user_util.dart';
11 import 'package:wow_english/common/extension/string_extension.dart'; 12 import 'package:wow_english/common/extension/string_extension.dart';
@@ -67,7 +68,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; { @@ -67,7 +68,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
67 }*/ 68 }*/
68 bool isAggreementAccepted = AppConfigHelper.getAgreementAccepted(); 69 bool isAggreementAccepted = AppConfigHelper.getAgreementAccepted();
69 if (isAggreementAccepted) { 70 if (isAggreementAccepted) {
70 - pushNamedAndRemoveUntil(AppRouteName.home, (route) => false); 71 + _initData();
71 } else { 72 } else {
72 showDialog( 73 showDialog(
73 context: context, 74 context: context,
@@ -80,8 +81,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; { @@ -80,8 +81,7 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
80 webUrl: AppConsts.userPrivacyPolicyUrl, 81 webUrl: AppConsts.userPrivacyPolicyUrl,
81 leftTap: () { 82 leftTap: () {
82 AppConfigHelper.saveAgreementAccepted(true); 83 AppConfigHelper.saveAgreementAccepted(true);
83 - pushNamedAndRemoveUntil(  
84 - AppRouteName.home, (route) => false); 84 + _initData();
85 }, 85 },
86 rightTap: () { 86 rightTap: () {
87 // 退出应用 87 // 退出应用
@@ -95,6 +95,12 @@ class _TransitionViewState extends State&lt;TransitionView&gt; { @@ -95,6 +95,12 @@ class _TransitionViewState extends State&lt;TransitionView&gt; {
95 }); 95 });
96 } 96 }
97 97
  98 + ///初始化数据
  99 + void _initData() {
  100 + UmengCommonSdk.initCommon("663b66b0b3362515012f4ea5", "663b66ecf32cc41105ae74b7", "official");
  101 + pushNamedAndRemoveUntil(AppRouteName.home, (route) => false);
  102 + }
  103 +
98 Future<void> fetchNecessaryData(String userToken, 104 Future<void> fetchNecessaryData(String userToken,
99 {Completer<void>? completer}) async { 105 {Completer<void>? completer}) async {
100 completer ??= Completer<void>(); 106 completer ??= Completer<void>();
lib/common/core/user_util.dart
1 import 'dart:convert'; 1 import 'dart:convert';
2 2
3 import 'package:flutter/foundation.dart'; 3 import 'package:flutter/foundation.dart';
4 -import 'package:flutter/material.dart';  
5 -import 'package:flutter/widgets.dart'; 4 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
6 import 'package:wow_english/common/core/sp_const.dart'; 5 import 'package:wow_english/common/core/sp_const.dart';
7 import 'package:wow_english/models/user_entity.dart'; 6 import 'package:wow_english/models/user_entity.dart';
8 import 'package:wow_english/route/route.dart'; 7 import 'package:wow_english/route/route.dart';
@@ -60,6 +59,7 @@ class UserUtil { @@ -60,6 +59,7 @@ class UserUtil {
60 if (currentPageName != AppRouteName.splash) { 59 if (currentPageName != AppRouteName.splash) {
61 Navigator.of(AppRouter.context).pushNamedAndRemoveUntil(AppRouteName.login, (route) => false); 60 Navigator.of(AppRouter.context).pushNamedAndRemoveUntil(AppRouteName.login, (route) => false);
62 }*/ 61 }*/
  62 + UmengCommonSdk.onProfileSignOff();
63 pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage}); 63 pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage});
64 } 64 }
65 65
lib/common/request/dao/user_dao.dart
  1 +import 'package:umeng_common_sdk/umeng_common_sdk.dart';
1 import 'package:wow_english/common/core/user_util.dart'; 2 import 'package:wow_english/common/core/user_util.dart';
2 import 'package:wow_english/models/user_entity.dart'; 3 import 'package:wow_english/models/user_entity.dart';
3 import 'package:wow_english/utils/log_util.dart'; 4 import 'package:wow_english/utils/log_util.dart';
@@ -25,6 +26,7 @@ class UserDao { @@ -25,6 +26,7 @@ class UserDao {
25 data = await getUserInfo(); 26 data = await getUserInfo();
26 data?.token = token; 27 data?.token = token;
27 UserUtil.saveUser(data); 28 UserUtil.saveUser(data);
  29 + UmengCommonSdk.onProfileSignIn(data?.phoneNum ?? phoneNumber);
28 } 30 }
29 return data; 31 return data;
30 } 32 }
pubspec.yaml
@@ -107,6 +107,10 @@ dependencies: @@ -107,6 +107,10 @@ dependencies:
107 package_info_plus: ^4.2.0 107 package_info_plus: ^4.2.0
108 # 应用内更新 https://pub-web.flutter-io.cn/packages/flutter_app_update 108 # 应用内更新 https://pub-web.flutter-io.cn/packages/flutter_app_update
109 flutter_app_update: ^3.0.4 109 flutter_app_update: ^3.0.4
  110 + # 友盟统计 https://pub-web.flutter-io.cn/packages/umeng_common_sdk
  111 + umeng_common_sdk: ^1.2.7
  112 + # 友盟APM https://pub-web.flutter-io.cn/packages/umeng_apm_sdk
  113 + umeng_apm_sdk: ^2.2.1
110 114
111 dev_dependencies: 115 dev_dependencies:
112 build_runner: ^2.4.4 116 build_runner: ^2.4.4