Browse Source

1、优化设备连接

guanxinyi 1 year ago
parent
commit
3dd0cf0727

+ 5 - 3
lib/pages/medical/widgets/blood_sugar.dart

@@ -37,7 +37,9 @@ class _ExamBloodSugarState extends State<BloodSugar> {
   late String _value = controller.diagnosisDataValue['GLU']?['sugar'] ?? '';
   @override
   void initState() {
-    initSugar();
+    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
+      initSugar();
+    });
     super.initState();
   }
 
@@ -125,7 +127,7 @@ class _ExamBloodSugarState extends State<BloodSugar> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }
@@ -152,7 +154,7 @@ class _ExamBloodSugarState extends State<BloodSugar> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }

+ 5 - 3
lib/pages/medical/widgets/body_bmi.dart

@@ -37,7 +37,9 @@ class _ExamBodyWeightState extends State<BodyWeight> {
 
   @override
   void initState() {
-    initBmi();
+    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
+      initBmi();
+    });
     super.initState();
   }
 
@@ -131,7 +133,7 @@ class _ExamBodyWeightState extends State<BodyWeight> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }
@@ -145,7 +147,7 @@ class _ExamBodyWeightState extends State<BodyWeight> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }

+ 9 - 4
lib/pages/medical/widgets/body_temperature.dart

@@ -38,8 +38,13 @@ class _ExamBodyTemperatureState extends State<BodyTemperature> {
       controller.diagnosisDataValue['Temp']?['Temperature'] ?? '';
   @override
   void initState() {
-    initTemperature();
-    currentDevice();
+    WidgetsBinding.instance.addPostFrameCallback(
+      (timeStamp) {
+        initTemperature();
+        currentDevice();
+      },
+    );
+
     super.initState();
   }
 
@@ -121,7 +126,7 @@ class _ExamBodyTemperatureState extends State<BodyTemperature> {
     logger.i("连接设备失败:${worker!.mac}");
     if (errorCount < 3) {
       errorCount++;
-      disconnect();
+      loadListeners();
       worker?.connect();
     } else {
       isConnectFail = true;
@@ -144,7 +149,7 @@ class _ExamBodyTemperatureState extends State<BodyTemperature> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }

+ 5 - 3
lib/pages/medical/widgets/bool_oxygen.dart

@@ -33,7 +33,9 @@ class _ExamBloodOxygenState extends State<BloodOxygen> {
   @override
   void initState() {
     super.initState();
-    initOxygen();
+    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
+      initOxygen();
+    });
   }
 
   @override
@@ -114,7 +116,7 @@ class _ExamBloodOxygenState extends State<BloodOxygen> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }
@@ -137,7 +139,7 @@ class _ExamBloodOxygenState extends State<BloodOxygen> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker?.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }

+ 5 - 3
lib/pages/medical/widgets/heart_rate.dart

@@ -50,7 +50,9 @@ class _HeartRateState extends State<HeartRate> {
   String _deviceError = '';
   @override
   void initState() {
-    initHeart();
+    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
+      initHeart();
+    });
     print(controller.diagnosisDataValue['Heart']?['ECG_POINT']);
     super.initState();
   }
@@ -188,7 +190,7 @@ class _HeartRateState extends State<HeartRate> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }
@@ -203,7 +205,7 @@ class _HeartRateState extends State<HeartRate> {
     if (errorCount < 3) {
       errorCount++;
       disconnect();
-      worker.connect();
+      loadListeners();
     } else {
       isConnectFail = true;
     }

+ 7 - 4
lib/pages/medical/widgets/urinalysis.dart

@@ -52,9 +52,12 @@ class _ExamUrinalysisState extends State<Urinalysis> {
   Map _value = {};
   @override
   void initState() {
-    initTemperature();
-    currentDevice();
-    controller.changePatient.addListener(_onPatientChange);
+    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
+      initUrinlysis();
+      currentDevice();
+      controller.changePatient.addListener(_onPatientChange);
+    });
+
     super.initState();
   }
 
@@ -71,7 +74,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
     loadListeners();
   }
 
-  Future<void> initTemperature() async {
+  Future<void> initUrinlysis() async {
     await initData();
   }