|
|
|
@ -1,5 +1,7 @@ |
|
|
|
import 'dart:ffi'; |
|
|
|
|
|
|
|
import 'package:voitrans/data/models/appconfig_model.dart'; |
|
|
|
|
|
|
|
import '/core/utils/logger.dart'; |
|
|
|
import '/data/models/user_Info.dart'; |
|
|
|
import '/data/services/ble_manager.dart'; |
|
|
|
@ -29,8 +31,16 @@ class DevicesController extends GetxController { |
|
|
|
} |
|
|
|
|
|
|
|
// 加载设备数据 |
|
|
|
void _loadDevices() { |
|
|
|
void _loadDevices() async { |
|
|
|
devices.clear(); |
|
|
|
final response = await Api.getdevices(); |
|
|
|
if (response != null) { |
|
|
|
var devices = (response['devices'] as List<dynamic>) |
|
|
|
.map((e) => UserDevice.fromJson(e as Map<String, dynamic>)) |
|
|
|
.toList(); |
|
|
|
User.instance.devices = devices; |
|
|
|
} |
|
|
|
|
|
|
|
for (var device in User.instance.devices) { |
|
|
|
if (!devices.containsKey(device.devicetype)) { |
|
|
|
devices[device.devicetype] = []; |
|
|
|
@ -54,11 +64,13 @@ class DevicesController extends GetxController { |
|
|
|
devices[device.devicetype]?.remove(device); |
|
|
|
devices.refresh(); // 触发UI更新 |
|
|
|
|
|
|
|
User.instance.removeUserDevice(device.id); |
|
|
|
_bleManager.clearPairedDevices(); |
|
|
|
_bleManager.disconnect(); |
|
|
|
await Future.delayed(const Duration(seconds: 1)); |
|
|
|
Get.toNamed(Routes.pairing); |
|
|
|
if (device.devicemac == _bleManager.deviceInfo.value?.address) { |
|
|
|
User.instance.removeUserDevice(device.id); |
|
|
|
_bleManager.clearPairedDevices(); |
|
|
|
_bleManager.disconnect(); |
|
|
|
await Future.delayed(const Duration(seconds: 1)); |
|
|
|
Get.toNamed(Routes.pairing); |
|
|
|
} |
|
|
|
return; |
|
|
|
} else { |
|
|
|
return; |
|
|
|
|