wxwriteBLECharacteristicValue返回成功,打印机不打

微信小程序,微信公开课,wxwriteBLECharacteristicValue返回成功,打印机不打 微信公开课

微信公开课小程序热门讨论关于「wxwriteBLECharacteristicValue返回成功,打印机不打」的小程序开发问题
补充:wxwriteBLECharacteristicValue返回成功,打印机不打
展开:当前Bug的表现代码:indexjs获取应用实例constapp=getApp()Page({data:{userInfo:{},hasUserInfo:false,canIUse:wxcanIUse(buttonopentypegetUserInfo),devices:[],deviceId:,services:[],serviceId:,characteristicId:,characteristicIdNotify:,characteristicIdRead:,},onLoad(){wxshowModal({ title:提示, content:请检查手机蓝牙是否打开, success:function(res){  thatsetData({   isbluetoothready:false,   searchingstatus:false  }) }})},**  *@description开启蓝牙适配器 *openBlue(){let_this=thiswxopenBluetoothAdapter({success(res){consolelog(开启适配器:,res)搜索蓝牙设备_thisdiscoverDevices()}})},closeBlue(){wxcloseBluetoothAdapter({success(res){consolelog(关闭适配器:,res)}})},**  *@description搜索蓝牙设备 *discoverDevices(){let_this=thiswxstartBluetoothDevicesDiscovery({success(res){consolelog(搜索完成,res)setTimeout(()={_thisgetDevices()setTimeout(()={_thisfoundDevices()},500)},500)}})},**  *@description搜索新的蓝牙设备 *foundDevices(){let_this=thiswxonBluetoothDeviceFound(function(devices){consolelog(检测到新设备:,devices)检测到新设备后,更新设备列表,供选择_thisdatadevicespush(devicesdevices[0])_thissetData({devices:_thisdatadevices})})},**  *@description获取可连接的蓝牙设备 *getDevices(){let_this=thiswxgetBluetoothDevices({success:function(res){if(resdevices[0]){consolelog(获取设备:,res)_thissetData({devices:resdevices})}}})},chooseDevice(e){let_this=this储存deviceId_thisdatadeviceId=ecurrentTargetdatasetdeviceid连接设备_thiscreateConnect(_thisdatadeviceId)consolelog(_thisdatadeviceId:,_thisdatadeviceId)},createConnect(deviceId){let_this=thiswxcreateBLEConnection({这里的deviceId需要已经通过createBLEConnection与对应设备建立链接deviceId,success(res){连接成功consolelog(连接设备成功:,res)获取serviceId_thisgetServices(deviceId)监听连接状态_thisonConnectionStatus()停止搜索_thisstopDiscoverDevices()},fail(err){consolewarn(err:,err);}})},onConnectionStatus(){wxonBLEConnectionStateChange(function(res){该方法回调中可以用于处理连接意外断开等异常情况consolelog(设备${resdeviceId}连接状态变化,连接状态:${resconnected})})},**  *@description获取已连接的蓝牙设备 *getConnectDevices(services){wxgetConnectedBluetoothDevices({services,success(res){consolelog(已连接的设备:+JSONstringify(res))},fail(err){consolelog(err:,errerrMsg)}})},**  *@description停止搜索蓝牙设备 *stopDiscoverDevices(){wxstopBluetoothDevicesDiscovery({success(res){consolelog(成功链接设备,停止搜索)}})},**  *@description获得services&serviceId *getServices(deviceId){let_this=thiswxgetBLEDeviceServices({deviceId,success(res){consolelog(deviceservices:,resservices)_thisgetConnectDevices([resservices[2]uuid])获取serviceId_thissetData({serviceId:resservices[2]uuid})consolelog(_thisserviceId:,_thisdataserviceId);_thisgetCharacteristicsId(_thisdatadeviceId,_thisdataserviceId)}})},**  *@description获得CharacteristicsId *getCharacteristicsId(deviceId,serviceId){let_this=thiswxgetBLEDeviceCharacteristics({deviceId,serviceId,success(res){consolelog(Characteristics:,rescharacteristics)设置characteristicId、characteristicIdNotify_thissetData({characteristicIdNotify:rescharacteristics[0]uuid,characteristicId:rescharacteristics[0]uuid,})_thisopenNotify(deviceId,serviceId,_thisdatacharacteristicIdNotify)consolelog(CharacteristicsId:,rescharacteristics[0]uuid)}})},**  *@description开启notify *openNotify(deviceId,serviceId,characteristicId){let_this=thiswxnotifyBLECharacteristicValueChange({state:true,deviceId,serviceId,characteristicId,success(res){consolelog(notify开启成功,reserrMsg)setTimeout(()={_thiswriteDevice(deviceId,serviceId,_thisdatacharacteristicId)},2000)},fail(err){consolelog(openNotifyerr:,err)}})},**  *@description向设备写入数据 *writeDevice(deviceId,serviceId,characteristicId){let_this=this向蓝牙设备发送一个0x00的16进制数据letsenddata=testletbuffer=newArrayBuffer(senddatalength)letdataView=newDataView(buffer)for(vari=0;i<senddatalength;i++){dataViewsetUint8(i,senddatacharAt(i)charCodeAt())}letbuffer=newArrayBuffer(2)letdataView=newDataView(buffer)dataViewsetUint16(0,3)wxwriteBLECharacteristicValue({deviceId,serviceId,characteristicId,value:buffer,success(res){consolelog(写入数据成功,reserrMsg)_thisreadDevice(deviceId,serviceId,_thisdatacharacteristicId)},fail(err){consolelog(err,err)},complete(){_thiscloseConnection(deviceId)_thiscloseBlue()}})},readDevice(deviceId,serviceId,characteristicId){let_this=this必须在这里的回调才能获取wxonBLECharacteristicValueChange(function(characteristic){consolelog(characteristicvaluecomed:,characteristic)})wxreadBLECharacteristicValue({这里的deviceId需要已经通过createBLEConnection与对应设备建立链接deviceId,这里的serviceId需要在getBLEDeviceServices接口中获取serviceId,这里的characteristicId需要在getBLEDeviceCharacteristics接口中获取characteristicId,success(res){consolelog(readBLECharacteristicValue:,reserrCode)}})},closeConnection(deviceId){wxcloseBLEConnection({deviceId,success(res){consolelog(关闭设备连接:,res)}})}})提供一个最简复现Demohttps:developersweixinqqcomsizuwUrmK784V即速小程序:官方的人呢??
更多有关「wxwriteBLECharacteristicValue返回成功,打印机不打」的讨论可以前往微信公开课小程序参与互动哦!了解更多

「wxwriteBLECharacteristicValue返回成功,打印机不打」热门讨论订阅

微信小程序,微信公开课,wxwriteBLECharacteristicValue返回成功,打印机不打
订阅小程序

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」

微信公开课小程序热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。