// 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() {

  }
})