// pages/connectBle/connectBle.js const btHelper = require('../../devices/bt_helper'); const toastUtil = require('../../utils/toast_util'); import routeUtil from '../../utils/route_util' import route_constant from '../../utils/route_constant.js' Page({ /** * 页面的初始数据 */ data: { connectDevice: {}, nvabarData: { showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示 title: '连接设备', //导航栏 中间的标题 callback() { wx.navigateBack({ delta: 1, }) } }, searchTips: "正在搜索设备,请保持设备开机状态", buttonTips: "正在搜索设备" }, async connectDeviceTap() { this.setData({ searchTips: "正在搜索设备,请保持设备开机状态", buttonTips: "正在搜索设备" }) await btHelper.search() await this.getConnectedDevices() let _this = this btHelper.findDevices(function (devices) { devices.forEach(element => { console.log('发现设备:', element.deviceId, element.uuid, element.mac); let deviceId = element.deviceId ?? "" if (deviceId.includes("D8:24:07:89:31") || element.deviceId.includes("F5:A5:43:70:C8:F1") || element.deviceId.includes("D1:4D:DA:76:42:50") ) { toastUtil.show("开始连接设备") btHelper.stopSearch() _this.setData({ searchTips: "正在连接设备,请保持设备开机状态", buttonTips: "正在连接设备" }) btHelper.connect(element, function (data) { // console.log("连接成功", data) _this.setData({ searchTips: data ? "连接成功" : "连接失败", buttonTips: data ? "连接成功" : "连接失败" }) }) return } }); }) }, getConnectedDevices: async function () { try { const connectedDevices = await btHelper.getConnectedDevices() console.log("全部设备", connectedDevices) if (connectedDevices) { connectedDevices.forEach(element => { console.log('已连接的蓝牙设备:', element); // if (element.deviceId.includes("D8:24:07:89:31") || // element.deviceId.includes("F5:A5:43:70:C8:F1") || // element.deviceId.includes("D1:4D:DA:76:42:50") // ) { // toastUtil.show("开始连接设备") // btHelper.stopSearch() // btHelper.connect(element, function (data) { // // console.log("连接成功", data) // }) // } return; }); } // console.log('已连接的蓝牙设备:', connectedDevices); } catch (error) { console.error(error); } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { btHelper.initBluetooth() let device = options.param; this.setData({ connectDevice: device }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { // todo 要关闭吗 btHelper.closeBle() }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })