Files
tuiche/lib/pages/mh_page/device/model/BlueToothDataModel.dart

52 lines
1.1 KiB
Dart

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, // ✅ 赋值
);
}
}