|
|
|
@ -7,6 +7,7 @@ import 'package:flutter/foundation.dart'; |
|
|
|
import 'package:logger/web.dart'; |
|
|
|
import 'package:get_storage/get_storage.dart'; |
|
|
|
import 'package:device_info_plus/device_info_plus.dart'; |
|
|
|
import 'package:crypto/crypto.dart'; // 用于生成设备指纹 |
|
|
|
import 'dart:convert'; |
|
|
|
import '../../../data/services/db/sqflite_api.dart'; |
|
|
|
import 'facebookLogin.dart'; |
|
|
|
@ -182,10 +183,26 @@ class LoginController extends GetxController { |
|
|
|
} else if (GetPlatform.isIOS) { |
|
|
|
IosDeviceInfo iosInfo = await deviceInfo.iosInfo; |
|
|
|
//print('lxm---iosInfo: $iosInfo.toString()'); |
|
|
|
final utsname = iosInfo.utsname; // 包含更详细的设备信息 |
|
|
|
//print('lxm---utsname: $utsname'); |
|
|
|
final machineId = utsname.machine.toLowerCase(); // 例如: "iPhone14,2" |
|
|
|
Logger().d('lxm---machineId: $machineId'); |
|
|
|
final systemVersion = utsname.release; // 例如: "16.4.1" |
|
|
|
Logger().d('lxm---systemVersion: $systemVersion'); |
|
|
|
|
|
|
|
_deviceId = iosInfo.identifierForVendor ?? 'unknown'; |
|
|
|
try { |
|
|
|
// 组合 machine 和 systemVersion 生成指纹 |
|
|
|
final fingerprint = '$machineId|$systemVersion'; |
|
|
|
final hashedFingerprint = |
|
|
|
md5.convert(utf8.encode(fingerprint)).toString(); |
|
|
|
Logger() |
|
|
|
.d('生成设备指纹: $hashedFingerprint (基于 $machineId 和 $systemVersion)'); |
|
|
|
_deviceId = hashedFingerprint; |
|
|
|
} catch (e) { |
|
|
|
Logger().e('生成设备指纹失败: $e'); |
|
|
|
_deviceId = iosInfo.identifierForVendor ?? 'unknown'; |
|
|
|
} |
|
|
|
} |
|
|
|
Logger().d('lxm--deviceId: $_deviceId'); |
|
|
|
} catch (e) { |
|
|
|
Logger().e('获取设备信息失败: $e'); |
|
|
|
_deviceId = 'unknown'; |
|
|
|
|