Browse Source

feature:修改蓝牙连接页的返回方法

zeng.chen 1 year ago
parent
commit
792570fc39
2 changed files with 38 additions and 34 deletions
  1. 12 19
      pages/bluConnect/bleconnect.js
  2. 26 15
      pages/home/home.js

+ 12 - 19
pages/bluConnect/bleconnect.js

@@ -32,7 +32,8 @@ Page(
       }
     }, getBluetoothStatusCallck(v) {
       this.setData({
-        scopeBluetooth: v
+        scopeBluetooth: v,
+        isScaning:v
       })
     },
     setBluetooth() {
@@ -42,21 +43,13 @@ Page(
         }
       })
     }, connectDeviceTap() {
-var _this = this;
-      // var curPage = getCurrentPages();
-      // var homePage = curPage[curPage.length - 1];
-      var key = 'home_device_list'+wx.getUserInfo().userId;
-      var saveStr = wx.getStorageSync(key) ?? "[]";
-      console.log("返回数据: "+saveStr);
+      var _this = this;
+      const eventChannel = this.getOpenerEventChannel();
+      eventChannel.emit('getBackData', {  
+       backData:  _this.deviceItem});
 
-      var oldList = JSON.parse(saveStr);
+      wx.navigateBack();
 
-      oldList.push(_this.deviceItem);
-      console.log("返回数据:2\n"+JSON.stringify(oldList));
-
-wx.setStorageSync(key, JSON.stringify(oldList));
-      // homePage.setData({deviceList:[_this.deviceItem]});
-wx.navigateBack();
       if (!_this.isScaning) {
         return;
       }
@@ -73,14 +66,14 @@ wx.navigateBack();
       if (options.isLognlink) {
 
       }
-    
+
       this.buttonTips = this.isScaning ? "正在搜索设备" : "连接";
 
       this.connectStatus = 4;
       switch (this.connectStatus) {
         case 1:
           // 搜索中
-          this.connectTips =  "正在搜索设备,请保持开机状态...";
+          this.connectTips = "正在搜索设备,请保持开机状态...";
           break;
         case 2:
           // 连接中
@@ -102,9 +95,9 @@ wx.navigateBack();
             "devName": "名称1", "state": "online", "power": 40
           };
           break;
-          case 5:
-            // 搜索成功
-            this.connectTips = "搜索到" + this.deviceItem.name;
+        case 5:
+          // 搜索成功
+          this.connectTips = "搜索到" + this.deviceItem.name;
           var curPage = getCurrentPages();
           var homePage = curPage[curPage.length - 1];
 

+ 26 - 15
pages/home/home.js

@@ -137,21 +137,8 @@ Page({
    * 生命周期函数--监听页面显示
    */
   onShow(options) {
-    selectIndex( 0);
-
-    // if (typeof this.getTabBar === 'function' &&
-    //   this.getTabBar()) {
-    //   this.getTabBar().setData({
-    //     selected: 0
-    //   })
-    // }
-    // app.eventBus.on('rightChange', data => {
-    //   if (data !== this.data.rightId) {
-    //     this.setData({
-    //       rightId: data
-    //     })
-    //   }
-    // });
+    selectIndex(0);
+
 
     if (this.data.isLoginWx) {
       var key = 'home_device_list' + wx.getUserInfo().userId;
@@ -167,6 +154,30 @@ Page({
   addDeviceTap() {
     wx.navigateTo({
       url: './../bluConnect/bleconnect',
+      events: {
+        getBackData: res => {
+          console.log(res);
+          var key = 'home_device_list' + wx.getUserInfo().userId;
+          var saveStr = wx.getStorageSync(key) ?? "[]";
+
+          var oldList = JSON.parse(saveStr) ?? [];
+          var findElement;
+          for (let index = 0; index < oldList.length; index++) {
+            const element = oldList[index];
+            if (element.address == res.address) {
+              findElement = element;
+              break;
+            }
+          }
+          if (findElement) {
+            oldList.pop(findElement);
+          }
+          oldList.push(res);
+
+          wx.setStorageSync(key, JSON.stringify(oldList));
+          this.setData({ deviceList: oldList });
+        }
+      }
     });
   },
   /**