修复蓝牙扫描界面不自动扫描的bug

This commit is contained in:
wyf
2025-07-14 10:07:07 +08:00
parent 27273ff18d
commit bd5710c040
2 changed files with 102 additions and 93 deletions

View File

@@ -189,6 +189,7 @@ class MHTBlueToothController extends GetControllerEx<MHTBlueToothModel> {
return res; return res;
} else { } else {
model.deviceDataStatus = []; model.deviceDataStatus = [];
return ApiResponse(code:1, msg: "".tr);
} }
} catch (e) { } catch (e) {
print("获取设备状态异常: $e"); print("获取设备状态异常: $e");
@@ -218,9 +219,9 @@ class MHTBlueToothController extends GetControllerEx<MHTBlueToothModel> {
"macA": bleDevice.macA, "macA": bleDevice.macA,
if (bleDevice.macB != null && bleDevice.macB!.isNotEmpty) if (bleDevice.macB != null && bleDevice.macB!.isNotEmpty)
"macB": bleDevice.macB, "macB": bleDevice.macB,
if (bleDevice.name!=null && bleDevice.name!.isNotEmpty) if (bleDevice.name != null && bleDevice.name!.isNotEmpty)
'param':{ 'param': {
'name':bleDevice.name, 'name': bleDevice.name,
}, },
}; };
@@ -237,8 +238,8 @@ class MHTBlueToothController extends GetControllerEx<MHTBlueToothModel> {
// personController.currentPersonId.value = res.data['id']; // personController.currentPersonId.value = res.data['id'];
//todo 绑定成功需要返回传感器id //todo 绑定成功需要返回传感器id
currentDeviceMac.value = ""; currentDeviceMac.value = "";
if(res.data!=null){ if (res.data != null) {
if(currentFullDevice!=null){ if (currentFullDevice != null) {
currentFullDevice!.macAID = res.data['macA']; currentFullDevice!.macAID = res.data['macA'];
currentFullDevice!.macBID = res.data['macB']; currentFullDevice!.macBID = res.data['macB'];
} }

View File

@@ -112,6 +112,7 @@ class _MHTBlueteethDevicePageState extends State<MHTBlueteethDevicePage> {
} }
void _startScanning() async { void _startScanning() async {
try {
if (!mounted || isScanning || !mhtBlueToothController.shouldScan.value) if (!mounted || isScanning || !mhtBlueToothController.shouldScan.value)
return; return;
@@ -204,6 +205,13 @@ class _MHTBlueteethDevicePageState extends State<MHTBlueteethDevicePage> {
}); });
} }
} }
} catch (e) {
ef.log("$e");
} finally {
setState(() {
isScanning = false;
});
}
} }
void _startPeriodicScan() { void _startPeriodicScan() {