Parcourir la source

feature:修改多个设备的切换问题

zeng.chen il y a 6 mois
Parent
commit
557391987b
1 fichiers modifiés avec 10 ajouts et 10 suppressions
  1. 10 10
      devices/ble_manager.js

+ 10 - 10
devices/ble_manager.js

@@ -203,9 +203,10 @@ class bleManager {
 
       }
       // that.disconnect(result)
-      //断开连接是失败的, 只能监听到下线。
-      console.log("监听到设备状态变化0:", result);
-      that.errorDisconnect(result.connected);
+      //断开连接是失败的。
+      console.log("监听到设备状态变化0:", result.deviceId, JSON.stringify(result));
+      that.errorDisconnect({ "deviceId": result.deviceId, "state": result.connected ? "online" : "offline" });
+
 
 
       // ///是否已配对
@@ -448,9 +449,9 @@ class bleManager {
       wx.closeBLEConnection({
         deviceId: deviceId,
         success: (res) => {
-          console.log('成功断开连接', res);
           let publicDevice = that.publicDevice ?? {}
           if (deviceId == publicDevice.deviceId) {
+            console.log('成功断开连接', res, deviceId);
             that.publicDevice = null;
           }
           resolve(res);
@@ -487,7 +488,7 @@ class bleManager {
             that.disconnect({ "deviceId": device.deviceId })
           } else {
             that.isConnecting = false;
-            that.errorDisconnect(false)
+            that.errorDisconnect({ "deviceId": device.deviceId, "state": "offline" })
             let publicDevice = that.publicDevice ?? {}
             if (device.deviceId == publicDevice.deviceId) {
               that.publicDevice = null;
@@ -539,7 +540,7 @@ class bleManager {
             callback(false)
           }
           console.log('数据发送失败:', err);
-          that.errorDisconnect(false)
+          that.errorDisconnect({ "deviceId": that.publicDevice.deviceId, "state": "offline" })
           resolve(false);
         }
       });
@@ -743,10 +744,9 @@ class bleManager {
   }
   errorDisconnect(result) {
     // this.disconnect();
-    console.log("监听到设备状态变化:", result, this.stateChangeCallback);
-    if (this.stateChangeCallback) {
-      let device = this.publicDevice ?? {};
-      this.stateChangeCallback({ "deviceId": device.deviceId ?? "", "state": "offline" });
+    console.log("监听到设备状态变化1:", result.deviceId, result.connected, this.stateChangeCallback);
+    if (this.stateChangeCallback && result.deviceId) {
+      this.stateChangeCallback(result);
     }
   }
 }