import 'dart:ffi'; import '/core/utils/logger.dart'; import '/data/models/user_Info.dart'; import '/data/services/ble_manager.dart'; import '/data/services/network/api.dart'; import '/routes/app_routes.dart'; import 'package:get/get.dart'; import 'package:get/get_rx/get_rx.dart'; import 'package:get/get_state_manager/src/simple/get_controllers.dart'; /* 设备管理 */ class DevicesController extends GetxController { late final BleManager _bleManager; late final Map> devices; @override void onInit() { super.onInit(); _bleManager = Get.find(); } @override void onClose() { super.onClose(); for (var device in User.instance.devices) { if (!devices.containsKey(device.id)) { devices[device.devicetype] = []; } else { devices[device.devicetype]!.add(device); } } } void unbindearphone(UserDevice device) async { final response = await Api.unbindearphone({ "id": device.id, }); if (response != null) { devices[device.devicetype]!.remove(device); User.instance.removeUserDevice(device.id); _bleManager.clearPairedDevices(); _bleManager.disconnect(); Get.toNamed(Routes.pairing); return; } else { return; } } }