Bladeren bron

[new]调整平台参数获取

zk 1 jaar geleden
bovenliggende
commit
7d9972df34
2 gewijzigde bestanden met toevoegingen van 34 en 7 verwijderingen
  1. 4 7
      lib/base/base_request.dart
  2. 30 0
      lib/utils/android_device_info.dart

+ 4 - 7
lib/base/base_request.dart

@@ -1,5 +1,6 @@
 import 'dart:io';
 
+import 'package:electronic_assistant/utils/android_device_info.dart';
 import 'package:electronic_assistant/utils/app_info_util.dart';
 import 'package:electronic_assistant/utils/mmkv_util.dart';
 import 'package:flutter/cupertino.dart';
@@ -115,12 +116,8 @@ class BaseRequest {
   }
 
   void initDeviceInfo() {
-    //TODO  暂时使用UUID作为设备唯一标识
-    androidId = KVUtil.getString('androidId', '');
-    if (androidId == null || androidId?.isEmpty == true) {
-      String uuid = const Uuid().v4();
-      KVUtil.putString('androidId', uuid);
-      androidId = uuid;
-    }
+    if (Platform.isAndroid) {
+      androidId = androidDeviceInfo.androidId;
+    } else if (Platform.isIOS) {}
   }
 }

+ 30 - 0
lib/utils/android_device_info.dart

@@ -0,0 +1,30 @@
+import 'package:electronic_assistant/utils/common_utils.dart';
+import 'package:electronic_assistant/utils/mmkv_util.dart';
+import 'package:uuid/uuid.dart';
+
+class AndroidDeviceInfo {
+  String? _androidId;
+
+  AndroidDeviceInfo._() {
+    _androidId = KVUtil.getString(AndroidConstants.keyAndroidIdCache, null);
+  }
+
+  String? get androidId {
+    if (_androidId != null && _androidId!.isNotEmpty) {
+      return _androidId;
+    }
+    _androidId = getAndroidId();
+    KVUtil.putString(AndroidConstants.keyAndroidIdCache, _androidId);
+    return _androidId;
+  }
+
+  String getAndroidId() {
+    return const Uuid().v4();
+  }
+}
+
+class AndroidConstants {
+  static final String keyAndroidIdCache = stringToUnicode("keyAndroidIdCache");
+}
+
+final androidDeviceInfo = AndroidDeviceInfo._();