app-starlock/lib/tools/device_info_service.dart
2024-05-18 09:37:50 +08:00

43 lines
1.2 KiB
Dart
Executable File

import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:get/get.dart';
import '../../app_settings/app_settings.dart';
import 'app_manager.dart';
import 'store_service.dart';
import 'package:uuid/uuid.dart';
class DeviceInfoService extends GetxService {
static DeviceInfoService get to => Get.find<DeviceInfoService>();
String _deviceID = '';
String get deviceID => _deviceID;
Future<DeviceInfoService> init() async {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
// String dId = StoreService.to.getDeviceId();
String dId = "";
if(dId.isNotEmpty){
dId = const Uuid().v1();
AppLog.log('初始化设备ID:$dId');
// StoreService.to.saveDeviceId(dId);
}
_deviceID = dId;
if(Platform.isAndroid){
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
AppPlatform.setBrandString(androidInfo.brand);
AndroidBuildVersion buildVersion = androidInfo.version;
AppPlatform.setSDKInt(buildVersion.sdkInt);
}
if(Platform.isIOS){
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
}
AppManager().saveDeviceID(deviceID);
AppLog.log(AppManager().deviceId);
return this;
}
}