import 'package:flutter_blue_plus/flutter_blue_plus.dart'; class BlueToothDataModel { String name; // 设备型号 bool bind; String mac; ScanResult scanResult; String macA; String macB; int type; String? macAID; String? macBID; DateTime lastSeen; // 最后可见时间 String? deviceID; // 设备ID BlueToothDataModel({ this.name = '', required this.bind, required this.mac, required this.scanResult, required this.type, this.macA = '', this.macB = '', required this.lastSeen, this.deviceID, // ✅ 加入构造函数参数 }); factory BlueToothDataModel.fromScanResult( ScanResult result, int type, { bool bind = false, String name = '', String mac = '', String? deviceID, // ✅ 工厂方法接收 deviceID }) { String finalName = name.isNotEmpty ? name : (result.advertisementData.localName ?? ''); return BlueToothDataModel( name: finalName, bind: bind, mac: mac, scanResult: result, type: type, macA: '', macB: '', lastSeen: DateTime.now(), deviceID: deviceID, // ✅ 赋值 ); } }