From 8fba83ebff2496b82cbf839b4991b027729a325a Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 8 Sep 2025 17:06:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/services/network/api.dart | 9 +++++++ .../controllers/devices_controller.dart | 24 ++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/lib/data/services/network/api.dart b/lib/data/services/network/api.dart index 08733ee66..499c93939 100644 --- a/lib/data/services/network/api.dart +++ b/lib/data/services/network/api.dart @@ -154,6 +154,15 @@ class Api { ); } + // 获取验证码 + static getdevices([params]) { + return DioManager().request( + NWMethod.post, + '/api/home/user_getdevices', + params: params, + ); + } + //绑定设备 static bindauthcode([params]) { return DioManager().request( diff --git a/lib/modules/devices/controllers/devices_controller.dart b/lib/modules/devices/controllers/devices_controller.dart index 66ff69211..65d6b24b1 100644 --- a/lib/modules/devices/controllers/devices_controller.dart +++ b/lib/modules/devices/controllers/devices_controller.dart @@ -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) + .map((e) => UserDevice.fromJson(e as Map)) + .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;