From 93b24fec2ed02069c8d971569de7571261c423e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com>
Date: Sat, 19 Oct 2024 18:26:41 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=BB=E5=8A=A0=E5=8F=8B=E7=9B=9F?=
=?UTF-8?q?=E7=BB=9F=E8=AE=A1=202=E3=80=81=E6=B7=BB=E5=8A=A0=E5=9F=8B?=
=?UTF-8?q?=E7=82=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/build.gradle | 4 ++
android/app/proguard-rules-sky.pro | 7 +++-
android/app/proguard-rules-xhj.pro | 7 +++-
android/app/proguard-rules.pro | 7 +++-
android/app/src/main/AndroidManifest.xml | 15 ++++++++
android/app/src/main/assets/umeng_config.xml | 5 +++
.../kotlin/com/skychip/lock/MainActivity.kt | 6 +++
ios/Podfile | 3 ++
ios/Podfile.lock | 19 +++++++++-
ios/Runner/AppDelegate.m | 4 +-
.../starLock_forgetPassword_logic.dart | 14 +++++++
lib/login/login/starLock_login_logic.dart | 16 +++++++-
.../register/starLock_register_logic.dart | 14 +++++++
lib/main.dart | 5 +++
.../card/addICCard/addICCard_logic.dart | 15 +++++++-
.../doorLockLog/doorLockLog_logic.dart | 29 +++++++++++++-
.../view/sendElectronicKeyView_logic.dart | 18 +++++++++
.../lockDetail/lockDetail_logic.dart | 30 ++++++++++++++-
.../lockSet/lockSet/lockSet_logic.dart | 38 ++++++++++++++++++-
lib/mine/addLock/saveLock/saveLock_logic.dart | 18 ++++++++-
lib/mine/mineSet/mineSet/mineSet_logic.dart | 17 +++++++++
pubspec.yaml | 3 +-
22 files changed, 281 insertions(+), 13 deletions(-)
create mode 100644 android/app/src/main/assets/umeng_config.xml
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 68d0a18d..9cdae46d 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -259,4 +259,8 @@ dependencies {
// implementation(name: 'HiPushSDK-7.0.61.303', ext: 'aar')
//接入 VIVO 厂商
implementation 'cn.jiguang.sdk.plugin:vivo:5.2.3'
+
+ // Umeng统计
+ implementation 'com.umeng.umsdk:common:9.3.7'
+ implementation 'com.umeng.umsdk:asms:1.4.1'
}
diff --git a/android/app/proguard-rules-sky.pro b/android/app/proguard-rules-sky.pro
index d8df8d76..92eda14c 100644
--- a/android/app/proguard-rules-sky.pro
+++ b/android/app/proguard-rules-sky.pro
@@ -131,4 +131,9 @@
-keep class com.tencent.mm.opensdk.** { *; }
-dontwarn com.tencent.bugly.**
--keep public class com.tencent.bugly.**{*;}
\ No newline at end of file
+-keep public class com.tencent.bugly.**{*;}
+
+-keep class com.umeng.** { *; }
+-keep class com.umeng.**$* { *; }
+-keep class com.umeng.message.** { *; }
+-keep class com.umeng.message.**$* { *; }
\ No newline at end of file
diff --git a/android/app/proguard-rules-xhj.pro b/android/app/proguard-rules-xhj.pro
index 78db18c1..b48710ff 100644
--- a/android/app/proguard-rules-xhj.pro
+++ b/android/app/proguard-rules-xhj.pro
@@ -131,4 +131,9 @@
-keep class com.tencent.mm.opensdk.** { *; }
-dontwarn com.tencent.bugly.**
--keep public class com.tencent.bugly.**{*;}
\ No newline at end of file
+-keep public class com.tencent.bugly.**{*;}
+
+-keep class com.umeng.** { *; }
+-keep class com.umeng.**$* { *; }
+-keep class com.umeng.message.** { *; }
+-keep class com.umeng.message.**$* { *; }
\ No newline at end of file
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro
index de19f619..3934e6aa 100644
--- a/android/app/proguard-rules.pro
+++ b/android/app/proguard-rules.pro
@@ -128,4 +128,9 @@
}
-keep class com.tencent.mm.sdk.** { *; }
--keep class com.tencent.mm.opensdk.** { *; }
\ No newline at end of file
+-keep class com.tencent.mm.opensdk.** { *; }
+
+-keep class com.umeng.** { *; }
+-keep class com.umeng.**$* { *; }
+-keep class com.umeng.message.** { *; }
+-keep class com.umeng.message.**$* { *; }
\ No newline at end of file
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index cbd0e27b..8415ede5 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -58,6 +58,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/assets/umeng_config.xml b/android/app/src/main/assets/umeng_config.xml
new file mode 100644
index 00000000..28e1002b
--- /dev/null
+++ b/android/app/src/main/assets/umeng_config.xml
@@ -0,0 +1,5 @@
+
+
+ 671244cf80464b33f6df9648
+ RD_test
+
\ No newline at end of file
diff --git a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
index dcd984c1..520179ea 100755
--- a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
@@ -12,10 +12,16 @@ import android.bluetooth.BluetoothAdapter;
import androidx.core.content.FileProvider
import java.io.File
+import com.umeng.commonsdk.UMConfigure
+
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(flutterEngine!!)
+
+ // 初始化 Umeng SDK
+ UMConfigure.init(this, "671244cf80464b33f6df9648", "RD_test", UMConfigure.DEVICE_TYPE_PHONE, null)
+
MethodChannel(flutterEngine?.dartExecutor!!.binaryMessenger, "starLockFlutterSend").setMethodCallHandler { call, result ->
if (call.method == "loadNativeShare") {
val map = call.arguments as Map
diff --git a/ios/Podfile b/ios/Podfile
index f60e3f48..76407fa5 100755
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -30,6 +30,9 @@ flutter_ios_podfile_setup
target 'Runner' do
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+
+ pod 'UMCommon'
+ pod 'UMDevice'
end
# Plugin Pods
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 9952b79e..b8e2e0f3 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -148,6 +148,13 @@ PODS:
- system_settings (0.0.1):
- Flutter
- Toast (4.1.1)
+ - UMCommon (7.4.7):
+ - UMDevice
+ - UMDevice (3.4.0)
+ - umeng_common_sdk (0.0.1):
+ - Flutter
+ - UMCommon
+ - UMDevice
- url_launcher_ios (0.0.1):
- Flutter
- video_player_avfoundation (0.0.1):
@@ -194,6 +201,9 @@ DEPENDENCIES:
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
- system_settings (from `.symlinks/plugins/system_settings/ios`)
+ - UMCommon
+ - UMDevice
+ - umeng_common_sdk (from `.symlinks/plugins/umeng_common_sdk/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
@@ -221,6 +231,8 @@ SPEC REPOS:
- SDWebImage
- SwiftyGif
- Toast
+ - UMCommon
+ - UMDevice
- WechatOpenSDK-XCFramework
EXTERNAL SOURCES:
@@ -292,6 +304,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/sqflite/darwin"
system_settings:
:path: ".symlinks/plugins/system_settings/ios"
+ umeng_common_sdk:
+ :path: ".symlinks/plugins/umeng_common_sdk/ios"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
video_player_avfoundation:
@@ -354,11 +368,14 @@ SPEC CHECKSUMS:
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
+ UMCommon: 8b4cd0423297c39bca6eea1ec896558b40e5bcf7
+ UMDevice: dcdf7ec167387837559d149fbc7d793d984faf82
+ umeng_common_sdk: a8abd7f86dfd013dbbeeae587ee143760c6582f2
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3
webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1
WechatOpenSDK-XCFramework: 36fb2bea0754266c17184adf4963d7e6ff98b69f
-PODFILE CHECKSUM: 317f9473a5705c6fe4d79d95e81676f248048fdc
+PODFILE CHECKSUM: a4d4747e9f246a7c5b9d643d5efa33799112963a
COCOAPODS: 1.14.3
diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m
index 086a7d55..1c0be45e 100755
--- a/ios/Runner/AppDelegate.m
+++ b/ios/Runner/AppDelegate.m
@@ -5,7 +5,7 @@
#import "XSFlutterManager.h"
#import
-
+#import
@interface AppDelegate()
@@ -19,6 +19,8 @@
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ [UMConfigure initWithAppkey:@"671244ae80464b33f6df9646" channel:@"RD_test"];
+
XSFlutterManager *VC = [[XSFlutterManager alloc] init];
self.window.rootViewController = VC;
[self.window makeKeyAndVisible];
diff --git a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
index c9119cdf..3566ba34 100755
--- a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
+++ b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
@@ -6,9 +6,11 @@ import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_state.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../network/api_repository.dart';
import '../../tools/baseGetXController.dart';
+import '../../tools/dateTool.dart';
import '../../tools/regularExpression.dart';
import '../../tools/showTipView.dart';
import '../register/entity/checkIP_entity.dart';
@@ -53,8 +55,20 @@ class StarLockForgetPasswordLogic extends BaseGetXController {
'B748F838-94EE-4BDB-A0E6-7B2D16849792',
state.verificationCode.value);
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('resetPassword_result', {
+ 'account':state.phoneStr.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'resetPassword_res':'成功',
+ });
+
showToast('重置成功'.tr);
Get.back();
+ }else{
+ UmengCommonSdk.onEvent('resetPassword_result', {
+ 'account':state.phoneStr.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'resetPassword_res':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart
index a5e2fa90..2b5e797e 100755
--- a/lib/login/login/starLock_login_logic.dart
+++ b/lib/login/login/starLock_login_logic.dart
@@ -1,4 +1,3 @@
-import 'dart:io';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -9,11 +8,12 @@ import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/mine/mine/starLockMine_state.dart';
import 'package:star_lock/tools/baseGetXController.dart';
-import 'package:star_lock/tools/push/xs_jPhush.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../main/lockMian/lockMain/lockMain_logic.dart';
import '../../mine/mine/starLockMine_logic.dart';
import '../../network/api_repository.dart';
+import '../../tools/dateTool.dart';
import '../../tools/eventBusEventManage.dart';
import '../../tools/showTipView.dart';
import '../../tools/storage.dart';
@@ -51,6 +51,12 @@ class StarLockLoginLogic extends BaseGetXController {
username: state.emailOrPhone.value,
deviceInfo: state.deviceInfoMap);
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('login_result', {
+ 'account':state.emailOrPhone.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'login_res':'成功',
+ });
+
Storage.saveLoginData(entity.data);
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
eventBus.fire(MineInfoChangeRefreshUI());
@@ -59,6 +65,12 @@ class StarLockLoginLogic extends BaseGetXController {
}
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
+ }else{
+ UmengCommonSdk.onEvent('login_result', {
+ 'account':state.emailOrPhone.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'login_res':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/lib/login/register/starLock_register_logic.dart b/lib/login/register/starLock_register_logic.dart
index 22d05cab..ac6f76c0 100755
--- a/lib/login/register/starLock_register_logic.dart
+++ b/lib/login/register/starLock_register_logic.dart
@@ -11,9 +11,11 @@ import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/storage.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../network/api_repository.dart';
import '../../tools/baseGetXController.dart';
+import '../../tools/dateTool.dart';
import '../../tools/regularExpression.dart';
import '../../tools/showTipView.dart';
import 'entity/checkIP_entity.dart';
@@ -58,12 +60,24 @@ class StarLockRegisterLogic extends BaseGetXController {
verificationCode: state.verificationCode.value,
deviceInfo: state.deviceInfoMap.value);
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('register_result', {
+ 'account':state.phoneOrEmailStr.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'register_res':'成功',
+ });
+
Storage.saveLoginData(entity.data);
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
eventBus.fire(MineInfoChangeRefreshUI());
XSJPushProvider().initLocalNotification(isCancelLocalPush: false);
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
+ }else{
+ UmengCommonSdk.onEvent('register_result', {
+ 'account':state.phoneOrEmailStr.value,
+ 'date':DateTool().getNowDateWithType(1),
+ 'register_res':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/lib/main.dart b/lib/main.dart
index a72682a4..a20f0449 100755
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -17,6 +17,7 @@ import 'package:star_lock/tools/platform_info_services.dart';
import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/translations/trans_lib.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import 'app.dart';
import 'app_settings/app_settings.dart';
@@ -24,6 +25,10 @@ import 'tools/store_service.dart';
// 该文件不可作为编译入口,请查看 flavorizr.yaml 中的说明
FutureOr main() async {
+
+ UmengCommonSdk.initCommon('671244cf80464b33f6df9648', ' 671244ae80464b33f6df9646 Store', 'RD_test');
+ UmengCommonSdk.setPageCollectionModeManual();
+
FlutterBugly.postCatchedException(() async {
WidgetsFlutterBinding.ensureInitialized();
diff --git a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
index 9884cbd3..26945a8a 100755
--- a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
+++ b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
@@ -7,6 +7,7 @@ import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/card/addICCard/addICCard_entity.dart';
import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_protocol/io_addICCardWithTimeCycleCoercion.dart';
@@ -101,10 +102,16 @@ class AddICCardLogic extends BaseGetXController{
Future _replyAddICCardConfirmation(Reply reply) async {
final int status = reply.data[2];
state.ifAddState.value = false;
+ final String getMobile = (await Storage.getMobile())!;
switch(status){
case 0x00:
//成功
- //成功
+ UmengCommonSdk.onEvent('add_card', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'add_card_result':'成功',
+ });
switch(reply.data[5]){
case 0xff:
// 注册指纹失败
@@ -139,6 +146,12 @@ class AddICCardLogic extends BaseGetXController{
break;
default:
//失败
+ UmengCommonSdk.onEvent('add_card', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'add_card_result':reply.data[2],
+ });
break;
}
}
diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
index a04750a8..b3c66aa7 100755
--- a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
+++ b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
@@ -7,7 +7,9 @@ import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_state.dart';
import 'package:star_lock/main/lockDetail/lockOperatingRecord/lockOperatingRecordGetLastRecordTime_entity.dart';
import 'package:star_lock/tools/commonDataManage.dart';
+import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../blue/blue_manage.dart';
import '../../../blue/io_protocol/io_referEventRecordTime.dart';
@@ -39,6 +41,7 @@ class DoorLockLogLogic extends BaseGetXController {
Future _replyReferEventRecordTime(Reply reply) async {
cancelBlueConnetctToastTimer();
final int status = reply.data[2];
+
switch (status) {
case 0x00:
//成功
@@ -106,8 +109,16 @@ class DoorLockLogLogic extends BaseGetXController {
// 查询事件记录(时间查询)
Future senderReferEventRecordTime() async {
showEasyLoading();
- showBlueConnetctToastTimer(action: () {
+ showBlueConnetctToastTimer(action: () async {
dismissEasyLoading();
+
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('check_doorLockLog', {
+ 'lockName':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'超时',
+ });
});
BlueManage().blueSendData(BlueManage().connectDeviceName,
(BluetoothConnectionState connectionStateState) async {
@@ -141,6 +152,15 @@ class DoorLockLogLogic extends BaseGetXController {
BluetoothConnectionState.disconnected) {
dismissEasyLoading();
cancelBlueConnetctToastTimer();
+
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('check_doorLockLog', {
+ 'lockName':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'断开连接',
+ });
+
if (state.ifCurrentScreen.value == true) {
showBlueConnetctToast();
}
@@ -225,6 +245,13 @@ class DoorLockLogLogic extends BaseGetXController {
if (state.ifHaveNext == true) {
getLockRecordLastUploadDataTime();
} else {
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('check_doorLockLog', {
+ 'lockName':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'成功',
+ });
mockNetworkDataRequest(isRefresh: true);
}
}
diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
index 0f5ef873..eb6792c1 100755
--- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
+++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
@@ -17,6 +17,9 @@ import 'package:star_lock/tools/regularExpression.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
import 'package:star_lock/tools/showTipView.dart';
import 'package:star_lock/tools/storage.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
+
+import '../../../../../../blue/blue_manage.dart';
class SendElectronicKeyViewLogic extends BaseGetXController {
SendElectronicKeyViewLogic(this.type);
@@ -180,7 +183,15 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
idCardNumber: state.isRequireAuth.value == true
? state.idCardController.text
: '');
+ final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('add_electronic_key', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'add_electronic_key_result':'成功',
+ });
+
emailOrPhone = state.emailOrPhoneController.text;
state.createUser.value = 0;
state.isSendSuccess = true;
@@ -190,6 +201,13 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
update();
eventBus.fire(ElectronicKeyListRefreshUI());
} else {
+ UmengCommonSdk.onEvent('add_electronic_key', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'add_electronic_key_result':'${entity.errorCode}--${entity.errorMsg}',
+ });
+
emailOrPhone = null;
if (entity.errorCode == 425) {
//用户未注册
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
index 6b8cdfde..9b72bfde 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
@@ -13,6 +13,7 @@ import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
import 'package:star_lock/tools/bugly/bugly_tool.dart';
import 'package:star_lock/tools/throttler.dart';
import 'package:star_lock/widget/permission/permission_dialog.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
@@ -25,6 +26,7 @@ import '../../../blue/sender_manage.dart';
import '../../../network/api_repository.dart';
import '../../../tools/baseGetXController.dart';
import '../../../tools/commonDataManage.dart';
+import '../../../tools/dateTool.dart';
import '../../../tools/eventBusEventManage.dart';
import '../../../tools/storage.dart';
import '../lockOperatingRecord/keyOperationRecord_entity.dart';
@@ -67,6 +69,16 @@ class LockDetailLogic extends BaseGetXController {
upload: true
);
+ if(status != 6){
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('open_lock', {
+ 'lock_name':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'${reply.data}',
+ });
+ }
+
switch (status) {
case 0x00:
//成功
@@ -360,7 +372,15 @@ class LockDetailLogic extends BaseGetXController {
showBlueConnetctToastTimer(
outTimer: 20,
- action: () {
+ action: () async {
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('open_lock', {
+ 'lock_name':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'超时',
+ });
+
resetOpenDoorState();
blueManageDisconnect();
BuglyTool.uploadException(
@@ -396,6 +416,14 @@ class LockDetailLogic extends BaseGetXController {
detail: '蓝牙连接失败,断开连接, 开锁失败--OpenLockCommand:$command',
upload: true
);
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('open_lock', {
+ 'lock_name':state.keyInfos.value.lockName!,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'open_lock_result':'断开连接',
+ });
+
if (state.ifCurrentScreen.value == true) {
showBlueConnetctToast();
}
diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
index 2a38d64c..3ccbe408 100755
--- a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
+++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
@@ -1,3 +1,4 @@
+
import 'dart:async';
import 'package:flutter/scheduler.dart';
@@ -5,7 +6,7 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
-import 'package:star_lock/tools/showTipView.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_protocol/io_factoryDataReset.dart';
@@ -19,6 +20,7 @@ import '../../../../blue/sender_manage.dart';
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
import '../../../../tools/commonDataManage.dart';
+import '../../../../tools/dateTool.dart';
import '../../../../tools/eventBusEventManage.dart';
import '../../../../tools/storage.dart';
import 'checkingInInfoData_entity.dart';
@@ -568,7 +570,16 @@ class LockSetLogic extends BaseGetXController {
final LockListInfoEntity entity = await ApiRepository.to.deletOwnerLockData(
lockId: state.lockSetInfoData.value.lockId!,
);
+ final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('delet_lock', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'delet_type':'lock',
+ 'delet_lock_result':'成功',
+ });
+
BlueManage().connectDeviceMacAddress = '';
final bool isOnlyOneData = state.isOnlyOneData.value == true;
await Future.delayed(const Duration(milliseconds: 200))
@@ -578,6 +589,14 @@ class LockSetLogic extends BaseGetXController {
SchedulerBinding.instance.addPostFrameCallback((_) {
eventBus.fire(RefreshLockListInfoDataEvent());
});
+ }else{
+ UmengCommonSdk.onEvent('delet_lock', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'delet_type':'lock',
+ 'delet_lock_result':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
@@ -588,7 +607,16 @@ class LockSetLogic extends BaseGetXController {
keyId: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(),
includeUnderlings:
state.deleteAdministratorIsHaveAllData.value == true ? 1 : 0);
+ final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('delet_lock', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'delet_type':'key',
+ 'delet_lock_result':'成功',
+ });
+
BlueManage().connectDeviceMacAddress = '';
final bool isOnlyOneData = state.isOnlyOneData.value == true;
await Future.delayed(const Duration(milliseconds: 200))
@@ -598,6 +626,14 @@ class LockSetLogic extends BaseGetXController {
SchedulerBinding.instance.addPostFrameCallback((_) {
eventBus.fire(RefreshLockListInfoDataEvent());
});
+ }else{
+ UmengCommonSdk.onEvent('delet_lock', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'delet_type':'key',
+ 'delet_lock_result':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/lib/mine/addLock/saveLock/saveLock_logic.dart b/lib/mine/addLock/saveLock/saveLock_logic.dart
index 68232ed1..2074d793 100755
--- a/lib/mine/addLock/saveLock/saveLock_logic.dart
+++ b/lib/mine/addLock/saveLock/saveLock_logic.dart
@@ -6,6 +6,7 @@ import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart';
import 'package:star_lock/mine/addLock/saveLock/entity/SaveLockEntity.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
@@ -17,6 +18,7 @@ import '../../../blue/sender_manage.dart';
import '../../../network/api_repository.dart';
import '../../../tools/baseGetXController.dart';
import '../../../tools/commonDataManage.dart';
+import '../../../tools/dateTool.dart';
import '../../../tools/eventBusEventManage.dart';
import '../../../tools/storage.dart';
import 'saveLock_state.dart';
@@ -404,8 +406,14 @@ class SaveLockLogic extends BaseGetXController {
if (entity.errorCode!.codeIsSuccessful) {
state.lockId = entity.data!.lockId!;
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('save_lock_result', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'save_lock_result':'成功',
+ });
backAction();
-
// await senderCustomPasswords();
// BlueManage().disconnect(BlueManage().connectDeviceMacAddress);
@@ -413,6 +421,14 @@ class SaveLockLogic extends BaseGetXController {
// Get.close(state.isFromMap == 1 ? 5 : 6);
} else {
state.sureBtnState.value = 0;
+
+ final String getMobile = (await Storage.getMobile())!;
+ UmengCommonSdk.onEvent('save_lock_result', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'save_lock_result':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/lib/mine/mineSet/mineSet/mineSet_logic.dart b/lib/mine/mineSet/mineSet/mineSet_logic.dart
index d5da7a22..80449534 100755
--- a/lib/mine/mineSet/mineSet/mineSet_logic.dart
+++ b/lib/mine/mineSet/mineSet/mineSet_logic.dart
@@ -13,12 +13,14 @@ import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/versionUndate/versionUndate_entity.dart';
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
import '../../../talk/udp/udp_help.dart';
+import '../../../tools/dateTool.dart';
import '../../../tools/eventBusEventManage.dart';
import '../../../tools/store_service.dart';
import '../../../translations/app_dept.dart';
@@ -128,7 +130,15 @@ class MineSetLogic extends BaseGetXController {
}
});
final LoginEntity entity = await ApiRepository.to.userLogout(deviceld: getPushDeviceID);
+ final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
+ UmengCommonSdk.onEvent('logout', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'logout_result':'成功',
+ });
+
UdpHelp().closeUDP();
logOut();
@@ -138,6 +148,13 @@ class MineSetLogic extends BaseGetXController {
BlueManage().disconnect();
XSJPushProvider().initLocalNotification(isCancelLocalPush: true);
Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false);
+ }else{
+ UmengCommonSdk.onEvent('logout', {
+ 'lock_name':BlueManage().connectDeviceName,
+ 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date':DateTool().getNowDateWithType(1),
+ 'logout_result':'${entity.errorCode}--${entity.errorMsg}',
+ });
}
}
diff --git a/pubspec.yaml b/pubspec.yaml
index 27ff15dc..eeaf352d 100755
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -230,7 +230,7 @@ dependencies:
# audio_service: ^0.18.12
app_settings: ^5.1.1
flutter_local_notifications: ^17.0.0
- fluwx: ^4.5.5
+ fluwx: 4.5.5
system_settings: ^2.0.0
expandable: ^5.0.1
colorfilter_generator: ^0.0.8
@@ -240,6 +240,7 @@ dependencies:
flutter_bugly: ^1.0.2
open_filex: ^4.4.0
+ umeng_common_sdk: 1.2.7
dependency_overrides:
#强制设置google_maps_flutter_ios 为 2.5.2