diff --git a/pages/print/print/bluetooth.js b/pages/print/print/bluetooth.js deleted file mode 100644 index abe74df..0000000 --- a/pages/print/print/bluetooth.js +++ /dev/null @@ -1,265 +0,0 @@ -class Bluetooth { - - constructor() { - this.isOpenBle = false; - this.deviceId = ""; - this.serviceId = ""; - this.writeId = ""; - this.notifyId = ""; - this.openBluetoothAdapter(); - } - - showToast(title) { - uni.showToast({ - title: title, - icon: 'none', - 'duration': 2000 - }); - } - - openBluetoothAdapter() { - return new Promise((resolve, reject) => { - uni.openBluetoothAdapter({ - success: res => { - this.isOpenBle = true; - this.showToast("初始化蓝牙模块成功"); - resolve(res); - }, - fail: err => { - this.showToast(`初始化蓝牙模块失败` + JSON.stringify(err)); - reject(err); - }, - }); - }); - - } - - startBluetoothDevicesDiscovery() { - if (!this.isOpenBle) { - this.showToast(`初始化蓝牙模块失败`) - return; - } - - let self = this; - uni.showLoading({ - title: '蓝牙搜索中' - }) - return new Promise((resolve, reject) => { - setTimeout(() => { - uni.startBluetoothDevicesDiscovery({ - success: res => { - resolve(res) - }, - fail: res => { - self.showToast(`搜索设备失败` + JSON.stringify(err)); - reject(err); - } - }) - }, 300); - }); - } - - stopBluetoothDevicesDiscovery() { - let self = this; - return new Promise((resolve, reject) => { - uni.stopBluetoothDevicesDiscovery({ - success: e => { - uni.hideLoading(); - }, - fail: e => { - uni.hideLoading(); - self.showToast(`停止搜索蓝牙设备失败` + JSON.stringify(err)); - } - }) - }); - } - - createBLEConnection() { - //设备deviceId - let deviceId = this.deviceId; - let self = this; - - uni.showLoading({ - mask: true, - title: '设别连接中,请稍候...' - }) - console.log(this.deviceId); - return new Promise((resolve, reject) => { - uni.createBLEConnection({ - deviceId, - success: (res) => { - console.log("res:createBLEConnection " + JSON.stringify(res)); - resolve(res) - }, - fail: err => { - uni.hideLoading(); - self.showToast(`停止搜索蓝牙设备失败` + JSON.stringify(err)); - reject(err); - } - }) - }); - } - - //获取蓝牙设备所有服务(service) - getBLEDeviceServices() { - let _serviceList = []; - let deviceId = this.deviceId; - let self = this; - - return new Promise((resolve, reject) => { - setTimeout(() => { - uni.getBLEDeviceServices({ - deviceId, - success: res => { - for (let service of res.services) { - if (service.isPrimary) { - _serviceList.push(service); - } - } - uni.hideLoading(); - console.log("_serviceList: " + JSON.stringify(_serviceList)); - resolve(_serviceList) - }, - fail: err => { - uni.hideLoading(); - self.showToast(`获取设备Services` + JSON.stringify(err)); - reject(err); - }, - }) - }, 500); - }); - } - - //获取蓝牙设备某个服务中所有特征值(characteristic) - getBLEDeviceCharacteristics() { - let deviceId = this.deviceId; - let serviceId = this.serviceId; - - let self = this; - return new Promise((resolve, reject) => { - uni.getBLEDeviceCharacteristics({ - deviceId, - serviceId, - success: res => { - for (let _obj of res.characteristics) { - //获取notify - if (_obj.properties.notify) { - self.notifyId = _obj.uuid; - uni.setStorageSync('notifyId', self.notifyId); - } - //获取writeId - if (_obj.properties.write) { - self.writeId = _obj.uuid; - uni.setStorageSync('writeId', self.writeId); - } - } - - //console.log("res:getBLEDeviceCharacteristics " + JSON.stringify(res)); - let result = { - 'notifyId': self.notifyId, - 'writeId': self.writeId - }; - self.showToast(`获取服务中所有特征值OK,${JSON.stringify(result)}`); - resolve(result) - }, - fail: err => { - self.showToast(`getBLEDeviceCharacteristics` + JSON.stringify(err)); - reject(err); - } - }) - }); - } - - //断开联链接 - closeBLEConnection() { - let deviceId = this.deviceId; - uni.closeBLEConnection({ - deviceId, - success(res) { - console.log(res) - } - }) - } - - notifyBLECharacteristicValue() { - let deviceId = this.deviceId; - let serviceId = this.serviceId; - let characteristicId = this.notifyId; - - uni.notifyBLECharacteristicValueChange({ - state: true, // 启用 notify 功能 - deviceId, - serviceId, - characteristicId, - success(res) { - uni.onBLECharacteristicValueChange(function(res) { - - }); - }, - fail(res) { - console.log('notifyBLECharacteristicValueChange failed:' + res.errMsg); - - } - }); - } - - writeBLECharacteristicValue(buffer) { - let deviceId = this.deviceId; - let serviceId = this.serviceId; - let characteristicId = this.writeId; - - console.log("this: " + JSON.stringify(this)); - - return new Promise((resolve, reject) => { - uni.writeBLECharacteristicValue({ - deviceId, - serviceId, - characteristicId, - value: buffer, - success(res) { - console.log('message发送成功', JSON.stringify(res)); - resolve(res); - }, - fail(err) { - console.log('message发送失败', JSON.stringify(err)); - reject(err); - } - }); - }); - } - - closeBluetoothAdapter() { - uni.closeBluetoothAdapter({ - success: res => { - console.log(res) - } - }); - } - - //若APP在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需进行搜索操作。 - reconnect() { - (async () => { - try { - this.deviceId = this.deviceId || uni.getStorageSync("deviceId"); - this.serviceId = this.serviceId || uni.getStorageSync("serviceId"); - - let result1 = await this.createBLEConnection(); - console.log("createBLEConnection: " + JSON.stringify(result1)); - - let result2 = await this.getBLEDeviceServices(); - console.log("getBLEDeviceServices: " + JSON.stringify(result2)); - - let result3 = await this.getBLEDeviceCharacteristics(); - console.log("getBLEDeviceCharacteristics: " + JSON.stringify(result3)); - - // this.writeId = uni.getStorageSync("writeId"); - // this.notifyId = uni.getStorageSync("notifyId"); - } catch (err) { - console.log("err: " + JSON.stringify(err)); - } - - })(); - } -} - -export default Bluetooth;