Browse Source

fix(配对): 修复设备绑定逻辑和ID类型问题

修复设备绑定逻辑中错误的设备类型检查,将devicetype从0改为1
将DBProduct的id字段从String改为int类型
移除BLE服务中多余的调试日志
weicu
lxm 1 year ago
parent
commit
6425118dcc
  1. 2
      lib/data/models/appconfig_model.dart
  2. 2
      lib/data/models/appconfig_model.g.dart
  3. 18
      lib/modules/pairing/controllers/pairing_controller.dart
  4. 2
      local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt

2
lib/data/models/appconfig_model.dart

@ -71,7 +71,7 @@ class DBMCPServer {
@JsonSerializable()
class DBProduct {
final String id;
final int id;
final int factoryid;
final String devicename;

2
lib/data/models/appconfig_model.g.dart

@ -72,7 +72,7 @@ Map<String, dynamic> _$DBMCPServerToJson(DBMCPServer instance) =>
};
DBProduct _$DBProductFromJson(Map<String, dynamic> json) => DBProduct(
id: json['id'] as String,
id: json['id'] as int,
factoryid: (json['factoryid'] as num).toInt(),
devicename: json['devicename'] as String,
);

18
lib/modules/pairing/controllers/pairing_controller.dart

@ -606,9 +606,14 @@ class PairingController extends GetxController {
//自动绑定设备 0 未合作商 1 合作商 9经典蓝牙已绑定 10,ble蓝牙已绑定
Future<int> authbindingDevice(BluetoothDevice device) async {
// 检查设备名称是否包含 DeepSound 或 DeapSound
final deviceName = device.name;
final names = AppConfig.allproductNames();
// 检查是否已有绑定的设备
print("device.address${device.address}");
final existingDevice = User.instance.devices.firstWhere(
(d) => d.devicetype == 0 && d.devicemac == device.address,
(d) => d.devicetype == 1 && d.devicemac == device.address,
orElse: () => UserDevice(
id: -1,
uid: '',
@ -622,10 +627,6 @@ class PairingController extends GetxController {
return 9;
}
// 检查设备名称是否包含 DeepSound 或 DeapSound
final deviceName = device.name;
final names = AppConfig.allproductNames();
print(
'获取到 deviceName: $deviceName address: ${device.address} names:$names');
if (names.contains(deviceName)) {
@ -707,13 +708,10 @@ class PairingController extends GetxController {
await Future.delayed(Duration(seconds: 1));
}
return 0;
}
//可以跳转1
else {
return 1;
}
return 0;
//可以跳转1
}
// 新增方法:从hex数据中提取MAC地址并与当前设备MAC对比

2
local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt

@ -412,7 +412,7 @@ object BleService {
// 解析服务数据
scanRecord.serviceData?.forEach { (uuid, data) ->
val dataHex = data.joinToString("") { String.format("%02X", it) }
Log.d(TAG, "服务数据: UUID=${uuid.uuid}, 数据=$dataHex")
//Log.d(TAG, "服务数据: UUID=${uuid.uuid}, 数据=$dataHex")
}
}
return info

Loading…
Cancel
Save