wangfukang 3 years ago
parent
commit
f08105ddbd
  1. 128
      components/kk-printer/index.vue

128
components/kk-printer/index.vue

@ -86,7 +86,8 @@
writeId: '', writeId: '',
readId: '', readId: '',
iosNo: false, iosNo: false,
deviceType: 'ios' deviceType: 'ios',
connected:''
} }
}, },
props: { props: {
@ -179,10 +180,38 @@
that.sousuo() that.sousuo()
}, },
fail: (res) => { fail: (res) => {
that.tui.toast('初始化失败', res) console.log('openBluetoothAdapter fail', res)
if (res.errCode === 10001) {
wx.showModal({
title: '错误',
content: '未找到蓝牙设备, 请打开蓝牙后重试。',
showCancel: false
})
wx.onBluetoothAdapterStateChange((res) => {
console.log('onBluetoothAdapterStateChange', res)
if (res.available) {
// 取消监听,否则stopBluetoothDevicesDiscovery后仍会继续触发onBluetoothAdapterStateChange,
// 导致再次调用startBluetoothDevicesDiscovery
wx.onBluetoothAdapterStateChange(() => {});
this.sousuo()
}
})
}
} }
}) })
wx.onBLEConnectionStateChange((res) => {
// 该方法回调中可以用于处理连接意外断开等异常情况
console.log('onBLEConnectionStateChange',
`device ${res.deviceId} state has changed, connected: ${res.connected}`)
this.connected= res.connected
if (!res.connected) {
wx.showModal({
title: '错误',
content: '蓝牙连接已断开',
showCancel: false
})
}
});
}, },
// 开始搜索附近的蓝牙外围设备 // 开始搜索附近的蓝牙外围设备
sousuo() { sousuo() {
@ -342,99 +371,6 @@
console.log('writeBLECharacteristicValue fail', res) console.log('writeBLECharacteristicValue fail', res)
} }
}) })
},
onGetDevice(res) {
this.devicesList = res;
},
handleSearchClose() {
this.isShowSearch = false
},
handleSRRIChange(e) {
this.filterRSSI = e.detail.value
},
//开始搜索设备
searchBtnTap() {
blesdk.startBluetoothDevicesDiscovery();
this.isSearching = true;
blesdk.onfindBlueDevices(this.onGetDevice)
},
//停止搜索设备
stopSearchBtnTap() {
blesdk.stopBlueDevicesDiscovery();
this.isSearching = false;
},
//点击连接设备
handleConnectDevice(device) {
let deviceId = device.deviceId;
let name = device.name;
this.deviceId = deviceId;
uni.setStorageSync('deviceId', deviceId);
uni.onBLEConnectionStateChange(function(res) {
if (res.connected) {
// plus.nativeUI.toast('设备'+ res.deviceId + '已连接',{
// verticalAlign:'center'
// })
} else {
// plus.nativeUI.toast('设备'+ res.deviceId + '已断开连接',{
// verticalAlign:'center'
// })
}
})
blesdk.createBLEConnection(deviceId, this.onConnectSuccess, this.onConnectFail);
this.devicesList == []
},
onConnectSuccess(res) {
this.stopSearchBtnTap()
uni.setStorageSync('ok', true)
blesdk.getBLEDeviceServices(this.deviceId, this.onGetServicesSuccess, this.onGetServicesFail);
},
onConnectFail(err) {
blesdk.closeBLEConnection(uni.getStorageSync('deviceId'));
this.isShowSearch = true
uni.removeStorageSync('deviceId')
uni.removeStorageSync('serviceId')
uni.removeStorageSync('writeId')
uni.removeStorageSync('readId')
// uni.
},
onGetServicesSuccess(res) {
this.services = res.serviceId;
blesdk.getDeviceCharacteristics(uni.getStorageSync('deviceId') ? uni.getStorageSync('deviceId') : this
.deviceId, uni.getStorageSync('services') ? uni.getStorageSync('services') : this.services, this
.onGetCharacterSuccess, this.onGetCharacterFail);
},
onGetServicesFail(err) {},
onGetCharacterSuccess(res) {
this.serviceId = res.serviceId;
this.writeId = res.writeId;
this.readId = res.readId;
uni.setStorageSync('serviceId', res.serviceId)
uni.setStorageSync('writeId', res.writeId)
uni.setStorageSync('readId', res.readId)
this.isShowSearch = false;
this.handlePrintTap()
},
onGetCharacterFail(err) {
},
onPrintSuccess() {
console.log("打印完成22222")
this.isPrinting = false;
this.$u.route('/pages/toll/toll', {
roomcode: this.roomcode,
CustName: this.CustName,
id: this.roomid
})
this.$emit('onPrintSuccess')
},
onPrintFail() {
this.isPrinting = false;
} }
} }
} }

Loading…
Cancel
Save