Browse Source

feature: 加入君正ble连接方案

332777428@qq.com 5 months ago
parent
commit
d6097b7d37

+ 2 - 2
app.json

@@ -10,7 +10,6 @@
     "pages/deviceConnect0/deviceConnect0",
     "pages/deviceConnect2/deviceConnect2",
     "pages/deviceConnect1/deviceConnect1",
-    "pages/deviceConnect4/deviceConnect4",
     "pages/download/download",
     "pages/wakeList/wakeList",
     "pages/aboutInfo/aboutInfo",
@@ -21,7 +20,8 @@
     "pages/piano/wallpaper/wallpaper",
     "pages/ota/ota",
     "pages/piano/cropper/cropper",
-    "pages/setWifi/setWifi"
+    "pages/setWifi/setWifi",
+    "pages/deviceConnect4/deviceConnect4"
   ],
   "window": {
     "backgroundTextStyle": "light",

File diff suppressed because it is too large
+ 46 - 193
pages/connectBle/connectBle.js


+ 0 - 5
pages/connectBle/connectBle.json

@@ -1,5 +0,0 @@
-{
-  "usingComponents": {
-    "nav-bar": "./../components/navbar/navbar"
-  }
-}

+ 2 - 10
pages/connectBle/connectBle.wxml

@@ -1,10 +1,2 @@
-<!-- pages/connectBle/connectBle.wxml -->
-<view class="container">
-  <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>
-  <image class="device_pic" src="{{deviceImg}}" mode="aspectFill" />
-  <view class="top_tips main_black">{{searchTips}}</view>
-  <view style="font-size: 28rpx; color: #666666; margin-top: 32rpx; display: flex; justify-content: center; align-items: center;margin-inline: 32rpx;">
-    {{subTips}}
-  </view>
-  <view class="main_color connect_button" bind:tap="connectDeviceTap">{{buttonTips}}</view>
-</view>
+<!--pages/connectBle/connectBle.wxml-->
+<text>pages/connectBle/connectBle.wxml</text>

+ 0 - 39
pages/connectBle/connectBle.wxss

@@ -1,39 +0,0 @@
-/* pages/connectBle/connectBle.wxss */
-.container {
-	position: relative;
-	height: 100vh;
-}
-
-.device_pic {
-	margin-top: 128rpx;
-	margin-left: 140rpx;
-	/* margin-right: 140rpx; */
-	width: 470rpx;
-	height: 432rpx;
-	background: #F2F5F7;
-	border-radius: 24rpx;
-}
-
-.top_tips {
-	margin-top: 128rpx;
-	margin-inline: 20rpx;
-	font-size: 28rpx;
-	text-align: center;
-	justify-content: center;
-	align-items: center;
-
-}
-
-.connect_button {
-	margin-top: 456rpx;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	margin-inline: 64rpx;
-	font-size: 32rpx;
-	font-weight: Medium;
-	color: white;
-	text-align: center;
-	border-radius: 44rpx;
-	height: 88rpx;
-}

+ 6 - 6
pages/deviceConnect2/deviceConnect2.js

@@ -3,6 +3,7 @@ let xBlufi = require("../../utils/blufi/xBlufi.js");
 import strings from '../../utils/strings.js';
 import lexin_devices from '../../utils/lexin/devices';
 import junzheng_util from '../../utils/junzheng/util';
+import route_util from '../../utils/route_util.js';
 Page({
 
   data: {
@@ -80,7 +81,7 @@ Page({
   // {"type":"1","result":true,"data":[{"deviceId":"57:F6:7D:62:D6:C0","name":"","RSSI":-97,"connectable":true,"advertisData":"4c0010072a1fbee24315680100100000000000000000000000000000","advertisServiceUUIDs":[],"localName":"","serviceData":{}}]}
   // {"type":"1","result":true,"data":[{"deviceId":"57:F6:7D:62:D6:C0","name":"","RSSI":-97,"connectable":true,"advertisData":"4c0010072a1fbee24315680100100000000000000000000000000000","advertisServiceUUIDs":[],"localName":"","serviceData":{}},{"deviceId":"42:E0:22:C2:6E:25","name":"","RSSI":-92,"connectable":true,"advertisData":"4c001007221fa8d7a84ba8","advertisServiceUUIDs":[],"localName":"","serviceData":{}}]}
   funListenDeviceMsgEvent: function (options) {
-    const that = this;
+    var that = this;
     switch (options.type) {
       //发现设备列表回调开始
       case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START:
@@ -136,6 +137,7 @@ Page({
           });
 
           setTimeout(() => {
+            var name = that.data.devicesList[0].name;
             that.setData({
               isSubmit: false,
               islanya: false,
@@ -143,18 +145,16 @@ Page({
               isOnBluetooth: false,
             });
             var param = JSON.stringify(that.data.connectDevice);
-            var name = devicesList[0].name;
             var isLexin = name.indexOf(lexin_devices.leXin) !== -1;
             if (isLexin) {
               wx.navigateTo({
                 url: '../deviceConnect3/deviceConnect3?deviceId=' + options.data.deviceId + '&name=' + options.data.name + "&param=" + param,
               });
             } else {
-              wx.navigateTo({
-                url: '../deviceConnect4/deviceConnect4?deviceId=' + options.data.deviceId + '&name=' + options.data.name + "&param=" + param,
-              });
+              var url = "../deviceConnect4/deviceConnect4";
+              var param = "?deviceId=" + options.data.deviceId + '&name=' + options.data.name + "&param=" + param;
+              route_util.jumpParams(url, param);
             }
-
           }, 200);
         } else {
           wx.showModal({

+ 0 - 2
pages/deviceConnect3/deviceConnect3.wxml

@@ -1,5 +1,3 @@
-<!-- pages/deviceRoter1/deviceRoter1.wxml -->
-<!-- pages/deviceRoter0/deviceRoter0.wxml -->
 <view class="deviceRoter deviceRoter3">
   <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>
   <view class="roterps">

+ 2 - 0
pages/deviceConnect4/deviceConnect4.js

@@ -3,6 +3,7 @@ import strings from '../../utils/strings.js';
 const {
   BleUtil
 } = require('../../utils/blue_ble/util');
+
 Page({
   data: {
     nvabarData: {
@@ -49,5 +50,6 @@ Page({
     BleUtil.getInstance().startConnect(device, function (changed) {
       console.log("gadsfasdfadfaf===111==" + changed);
     });
+
   },
 })

+ 2 - 36
pages/deviceConnect4/deviceConnect4.wxml

@@ -1,36 +1,2 @@
-<!-- pages/deviceRoter1/deviceRoter1.wxml -->
-<!-- pages/deviceRoter0/deviceRoter0.wxml -->
-<view class="deviceRoter deviceRoter3">
-  <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>
-  <view class="roterps">
-    <view class="devicePic">
-      <image mode="widthFix" src="{{imageUrl}}"></image>
-    </view>
-    <view class="lodRuter" wx:if="{{ruterStatus === 0}}">
-      <text>正在连接中,请保持设备开机状态…</text>
-      <progress color="#6547A3" percent="{{percent}}" show-info stroke-width="3" />
-    </view>
-    <view class="suRuter" wx:elif="{{ruterStatus === 1}}">
-      <image style="height:48rpx; width:48rpx;" mode="aspectFit" src="./../../img/h.png"></image>
-      <text>连接成功</text>
-    </view>
-    <view class="suRuter" wx:elif="{{ruterStatus === 2}}">
-      <image style="height:48rpx; width:48rpx;" mode="aspectFit" src="./../../img/i.png"></image>
-      <text>连接失败</text>
-    </view>
-    <view class="errorPs" wx:if="{{ruterStatus === 2}}">
-      <text>请尝试:</text>
-      <view>· 部分设备配网需开启GPS定位。</view>
-      <view>· 尝试重启手机蓝牙,如蓝牙已连接其他设备,请先断开。</view>
-      <view>
-        · 连接设备WiFi可能为5GHz WiFi,设备无法连接,请切换至
-        <text style="color: #6547A3">2.4GHz WiFi</text>
-      </view>
-    </view>
-  </view>
-  <view class="subBtn">
-    <view wx:if="{{ruterStatus === 0}}" class="btn" style="opacity: 0.6">连接中...</view>
-    <view wx:elif="{{ruterStatus === 1}}" class="btn" bindtap="goIndex">完成</view>
-    <view wx:else style="background-color: #353535;" class="btn" bindtap="egen">重新连接</view>
-  </view>
-</view>
+<!--pages/deviceConnect4/deviceConnect4.wxml-->
+<text>pages/deviceConnect4/deviceConnect4.wxml</text>

+ 9 - 7
pages/index/index.js

@@ -41,11 +41,11 @@ Page({
     isLogin: false,
     greeting: "",
     bannerList: [{
-      "pic": "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20241028142233669038262.png"
-    },
-    {
-      "pic": "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20240823145816541223911.png"
-    }
+        "pic": "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20241028142233669038262.png"
+      },
+      {
+        "pic": "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20240823145816541223911.png"
+      }
     ],
     autoplay: true,
     interval: 3000, // 切换时间间隔
@@ -236,7 +236,7 @@ Page({
       ///监听蓝牙设备
       BtHelper.getInstance().initBluetoothAdapter();
       BtHelper.getInstance().getBluetoothDevices();
-      BtHelper.getInstance().startScan(null, null, function (res) { });
+      BtHelper.getInstance().startScan(null, null, function (res) {});
       var isFirst = true;
       console.log("开始监听蓝牙设备");
       that.startBleTimer(isFirst);
@@ -341,7 +341,7 @@ Page({
       case "connect":
         lexin_subscribe.subscribeAllDevice();
         break;
-      ///再走有在线
+        ///再走有在线
       case "message_onoffline":
         lexin_connect.searchOnlineDevice(payloads, function (list) {
           that.updateDeviceList(list, false, false);
@@ -981,6 +981,8 @@ Page({
   ///添加设备
   jumpToAddDevice() {
     var that = this;
+    route_util.jump("../deviceConnect4/deviceConnect4");
+    return;
     var isLogin = that.getIsLogin();
     if (!isLogin) {
       route_util.jump(route_constant.login);

+ 2 - 2
utils/blue_ble/manager.js

@@ -1,5 +1,3 @@
-module.exports = Manager;
-
 class Manager {
   constructor() {
     var that = this;
@@ -459,6 +457,8 @@ class Manager {
   }
 }
 
+module.exports = Manager;
+
 ///获取 所有搜索过的蓝牙设备
 // getConnectedDevices() {
 //   var that = this;

+ 4 - 3
utils/blue_ble/util.js

@@ -1,4 +1,5 @@
-const manager = require('./manager');
+const Manager = require('./manager');
+
 module.exports = {
   BleUtil
 }
@@ -11,7 +12,7 @@ class BleUtil {
 
   constructor() {
     var that = this;
-    that.manager = new manager();
+    that.Manager = new Manager();
   }
 
   ///获取比较的数据
@@ -87,7 +88,7 @@ class BleUtil {
 
           ///解决连接之后会有一段时间显示离线,先添加进去就不会了
           var has = false;
-          var compareList = that.bleManager.getCompareList();
+          var compareList = that.manager.getCompareList();
           for (var j = 0; j < compareList.length; j++) {
             if (compareList[j].deviceId == device.deviceId) {
               has = true;

+ 12 - 0
utils/route_util.js

@@ -4,6 +4,7 @@ module.exports = {
   goBackRoute: goBackRoute,
   jump: jump,
   jumpParam: jumpParam,
+  jumpParams: jumpParams,
   goBack: goBack,
   redirectTo: redirectTo,
 }
@@ -33,6 +34,17 @@ async function jumpParam(url, param) {
   }
 };
 
+///跳转带参,不摧毁界面
+async function jumpParams(url, param) {
+  if (param) {
+    await wx.navigateTo({
+      url: url + param,
+    });
+  } else {
+    await jump(url);
+  }
+};
+
 //跳转,并且摧毁当前界面
 async function redirectTo(url) {
   await wx.redirectTo({