ソースを参照

feature:修改连接蓝牙设备页的逻辑

zeng.chen 1 年間 前
コミット
00fda4b7c0

+ 141 - 89
pages/bluConnect/bleconnect.js

@@ -1,111 +1,163 @@
 // pages/bluConnect/bleconnect.js
 Page(
   {
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    scopeBluetooth: false,
-    isScaning: false,
-    connectStatus: 0,
-    connectText: "连接中",
-    connectTips: "确保手机蓝牙已经打开",
-    userFuzzyLocation: true,
-    nvabarData: {
-      showCapsule: 1, //是否显示左上角图标   1表示显示    0表示不显示
-      title: '设备连接', //导航栏 中间的标题
-      callback() {
-        wx.navigateBack({
-          delta: 1,
-        })
+    /**
+     * 页面的初始数据
+     */
+    data: {
+      scopeBluetooth: false,
+      isScaning: false,
+      connectStatus: 0,
+      connectText: "连接中",
+      connectPic: "",
+      connectTips: "正在搜索设备,请保持开机状态...",
+      buttonTips: "正在搜索设备",
+
+      userFuzzyLocation: true,
+      nvabarData: {
+        showCapsule: 1, //是否显示左上角图标   1表示显示    0表示不显示
+        title: '设备连接', //导航栏 中间的标题
+        callback: () => {
+          wx.switchTab({
+            url: '../home/home',
+          })
+        }
+      },
+      isNotruter: false,
+      deviceItem: {
+        "pic": "../../img/g.png",
+        "address": "",
+        "name": "猫王钢琴音箱",
+        "devName": "名称1", "state": "online", "power": 40
       }
+    }, getBluetoothStatusCallck(v) {
+      this.setData({
+        scopeBluetooth: v
+      })
     },
-    isNotruter: false,
-    deviceItem: {
-      "pic":"../../img/g.png",
-      "address":"",
-      "name":"钢琴音箱"
-    }
-  },  getBluetoothStatusCallck(v) {
-    this.setData({
-      scopeBluetooth: v
-    })
-  },
-  setBluetooth(){
-    wx.openSetting({
-      complete () {
-        // app.getBluetoothStatus();
+    setBluetooth() {
+      wx.openSetting({
+        complete() {
+          // app.getBluetoothStatus();
+        }
+      })
+    }, 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 oldList = JSON.parse(saveStr);
+
+      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;
       }
-    })
-  },
 
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad(options) {
+    }, scanDevice() {
+      this.isScaning = true;
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
 
-    if(options.isLognlink) {
-      this.setData({
-        isNotruter: true,
-        nvabarData: {
-          showCapsule: 1,
-          title: '设备连接',
-          callback: ()=> {
-            wx.switchTab({
-              url: '../home/home',
-            })
-          }
-        },
-      })
-    }
-  },
+      if (options.isLognlink) {
+
+      }
+    
+      this.buttonTips = this.isScaning ? "正在搜索设备" : "连接";
+
+      this.connectStatus = 4;
+      switch (this.connectStatus) {
+        case 1:
+          // 搜索中
+          this.connectTips =  "正在搜索设备,请保持开机状态...";
+          break;
+        case 2:
+          // 连接中
+          this.connectText = "连接中...";
+          this.connectPic = "";
+        case 3:
+          // 连接失败
+          this.connectText = "连接失败";
+          this.connectPic = "../../img/i.png";
+          break;
+        case 4:
+          // 连接成功
+          this.connectText = "连接成功";
+          this.connectPic = "../../img/h.png";
+          this.deviceItem = {
+            "pic": "../../img/g.png",
+            "address": "xxxxxx",
+            "name": "猫王钢琴音箱",
+            "devName": "名称1", "state": "online", "power": 40
+          };
+          break;
+          case 5:
+            // 搜索成功
+            this.connectTips = "搜索到" + this.deviceItem.name;
+          var curPage = getCurrentPages();
+          var homePage = curPage[curPage.length - 1];
+
+          break;
+      }
+    },
 
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady() {
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady() {
 
-  },
+    },
 
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow() {
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
 
-  },
+    },
 
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide() {
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {
 
-  },
+    },
 
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload() {
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {
 
-  },
+    },
 
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh() {
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {
 
-  },
+    },
 
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom() {
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
 
-  },
+    },
 
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage() {
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {
 
-  }
-})
+    }
+  })

+ 4 - 4
pages/bluConnect/bleconnect.wxml

@@ -3,14 +3,14 @@
   <nav-bar bind:goBack="_goBack" nav-bgc-class="ex-nav-bgc-class" nav-title-class="ex-nav-title-class" ex-back-pre="ex-back-pre" navbar-data='{{nvabarData}}'></nav-bar>
   <!-- <scroll-view class="scrollClass" scroll-y="true"> -->
   <image class="device_pic_class" src="{{deviceItem.pic}}" mode="scaleToFill" />
-    <text class="scanDeviceClass">搜索{{deviceItem.name}}</text>
-    <view class="connect_tips" wx:if="{{connectStatus != 4}}">{{connectTips}}</view>
+    <text class="scanDeviceClass">{{connectTips}}</text>
+    <view class="connect_tips" wx:if="{{isScaning}}">确认手机蓝牙已经打开</view>
     <span wx:if="{{connectStatus == 4}}" class="scan_device_status_class">
-      <image class="scan_device_status_img_class" src="../../img/a.png" mode="scaleToFill" />
+      <image class="scan_device_status_img_class" src="{{connectPic}}" mode="scaleToFill" />
       <text class="scan_device_status_text_class">{{connectText}}</text>
     </span>
   <view style="flex: 1;  "></view>
-<view style="justify-content: center;  display: flex;">  <button class="connect_btn_class">连接</button>
+<view bind:tap="connectDeviceTap" >  <button class="connect_btn_class">{{buttonTips}}</button>
 </view>
   <!-- </scroll-view> -->
 </view>

+ 3 - 1
pages/bluConnect/bleconnect.wxss

@@ -64,6 +64,8 @@ text-align: center;
 .container .connect_btn_class {
   padding-left: 56rpx;
   padding-right: 56rpx;
-  margin-bottom: 56rpx;
+  padding-bottom: 56rpx;
   margin-top: 70rpx;
+  justify-content: center; 
+  display: flex;
 }