wxwriteBLECharacteristicValue返回成功,打印机不打
2019-03-15 18:17:35
微信公开课小程序热门讨论关于「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返回成功,打印机不打
展开:当前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返回成功,打印机不打」热门讨论订阅
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」
微信公开课小程序热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「wxwriteBLECharacteristicValue返回成功,打印机不打」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-03-15 18:17:35
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>