请官方大大看下导致差异的原因是啥@微信小程序
【急急急】线上环境真机运行与开发者工具内真机调试行行为不一致由于业务需要使用到了OSS的包,在9月17号之前先上版本运行正常,但之后发现先上版本调用应用OSS包时报错如下图所示 [图片] 但是相同业务在开发者工具上运行正常,并在开发者工具上使用真机调试也正常,如下图所示 [图片] 复现的代码片段如下图所示,使用的是aliyun-oss-sdk.mini.6.1.1.0。若需要测试,请私信我索取代码片段中的连接信息 [图片] 因为勾选了上传时进行代码保护,导致压缩的js内真机运行报错,具体原因尚不清楚,还请官方人员查看下 [图片]
2019-09-29抱歉,回帖有点延迟。 问题已经解决了。 根本原因是由于国内同一批次CRS芯片外接蓝牙在IOS系统内被识别到的deviceId都相同,此时即使知道需要连接的设备deviceId,但由于同一蓝牙范围内有多个deviceId相同的设备,导致不一定能够连接到目标设备。 我们最后换了博通芯片(博通芯片蓝牙在IOS设备上识别到的deviceId唯一)的外接蓝牙解决了该问题。
IOS系统下蓝牙通过指定serviceUUID搜索出的设备服务不匹配- 当前 Bug 的表现(可附上截图) [图片] 将扫码内容中的agent_id值作为搜索蓝牙设备的services参数(agent_id值为服务端发起的蓝牙服务UUID) [图片] 搜索到的设备内唯一serviceUUID与搜索时设置的services参数不匹配 - 预期表现 搜索出的蓝牙设备服务UUID与搜索时传入参数一致 - 复现路径 - 提供一个最简复现 Demo [图片] 补充一个问题:此外通过以不同的serviceUUID作为搜索参数,搜索出来的设备deviceId都相同,导致在连接时会连错设备。如下图所示,搜索出来两个设备,但是DeviceId都相同 [图片] 请问是否有可以清楚当前小程序内蓝牙缓存的接口?或者设置?
2019-04-19回来结贴 首先非常感谢Tummy的调试帮助! 主要两个问题,第一无法建立连接,第二无法获取特征值内容。 关于问题一: 1.由于android设备对于应用有各种权限限制,所以在使用小程序的蓝牙API时请先赋予微信所有权限。 2.android设备持有的BLE连接数是有限的,一般是3~8个(跟手机厂商调校有关),如果在调用createbleconnection后没有成对调用closebleconnection,会导致微信占用了android设备的BLE连接,如此反复操作,设备BLE连接数会被占满,如果不重启手机或者开关蓝牙是无法再连接成功的。 2.android设备连接失败后,再次立即尝试很大概率不会成功,稍等一会儿(10秒以上)或者开关手机蓝牙后再次尝试连接,90%可以连接成功。该现象在小程序和android原生BLE APP上已验证。由于是android提供的API,所以暂时无解。 关于问题二: 在IOS上小程序读写特征值的确不需要分包,而且最大支持150个字节的单次读写(IOS11测试结果)。但是在android上,如果某个特征读写超过20字节就会报错,所以统一设置成分包读写可以解决该问题。
android手机无法连接蓝牙设备- 当前问题的表现 已搜索到蓝牙设备的mac地址,通过wx.createBLEConnection连接该设备,尝试多次均失败,返回错误代码10006或10012。 使用IOS测试无任何问题。 请参考具体的建立连接代码片段,不知是我代码调用有问题,还是手机有何设置未开启 请遇到类似问题的朋友方便的话帮忙答复一下,谢谢!
2018-06-28小程序在android上建立蓝牙连接失败后,不要立马重试,稍等一会再试。 另外你提到即使建立连接也无法写入特征值,请先确认以下几点: 该特征值是否已开启write权限 单次写入数据是否超过20字节
蓝牙连接失败 基于微信6.6.7 华为mate10 Android8.0 系统- 当前问题的表现 已搜索到蓝牙设备的mac地址,通过wx.createBLEConnection连接该设备,要么连接失败,或者连接成功后但无法写特征值。 调试信息如下: (16) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]0: {deviceId: "88:83:5D:56:CD:F1", name: "V1 Plus", RSSI: -61, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}1: {deviceId: "88:83:5D:56:C8:B0", name: "V7c", RSSI: -50, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}2: {deviceId: "88:83:5D:56:2D:37", name: "V1 Plus", RSSI: -85, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}3: {deviceId: "88:83:5D:56:73:D4", name: "YX-PR-01A", RSSI: -78, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}4: {deviceId: "88:83:5D:56:CB:94", name: "QQ亲戚", RSSI: -61, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}5: {deviceId: "88:83:5D:57:13:F6", name: "V1 Plus", RSSI: -85, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}6: {deviceId: "88:83:5D:56:77:58", name: "V1 Plus", RSSI: -67, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}7: {deviceId: "88:83:5D:56:2D:6D", name: "V1 Plus", RSSI: -64, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}8: {deviceId: "88:83:5D:56:2D:4D", name: "V1 Plus", RSSI: -68, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}9: {deviceId: "88:83:5D:56:C8:C9", name: "厨房", RSSI: -37, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}10: {deviceId: "88:83:5D:57:19:E7", name: "V1 Plus", RSSI: -65, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}11: {deviceId: "88:83:5D:56:CA:13", name: "V1 Plus", RSSI: -88, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}12: {deviceId: "88:83:5D:56:30:41", name: "V1 Plus", RSSI: -89, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}13: {deviceId: "88:83:5D:56:C4:F7", name: "卧室", RSSI: -62, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}14: {deviceId: "88:83:5D:57:16:C7", name: "家庭活动室", RSSI: -79, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}15: {deviceId: "88:83:5D:56:73:B0", name: "rrww", RSSI: -56, advertisData: ArrayBuffer, advertisServiceUUIDs: Array(0), …}length: 16__proto__: Array(0) index.js? [sm]:460 stop index.js? [sm]:460 stop index.js? [sm]:460 stop index.js? [sm]:505 deviceId 88:83:5D:56:C8:C9 index.js? [sm]:566 连接失败 {errCode: 10012, errMsg: "createBLEConnection:fail:operate time out"} fail @ index.js? [sm]:566 (anonymous) @ [publib]:3 (anonymous) @ [publib]:4 b @ [publib]:1 handleCallInterfaceResult @ [publib]:543 handleProcessMessage @ [publib]:782 ws.on @ [publib]:894 emitOne @ events.js:115 emit @ events.js:210 _receiver.onmessage @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\WebSocket.js:141 dataMessage @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\Receiver.js:389 getData @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\Receiver.js:330 startLoop @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\Receiver.js:165 add @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\Receiver.js:139 _ultron.on @ C:\Program Files (x86)\Tencent\微信web开发者工具\package.nw\node_modules\ws\lib\WebSocket.js:138 emitOne @ events.js:115 emit @ events.js:210 addChunk @ _stream_readable.js:263 readableAddChunk @ _stream_readable.js:250 Readable.push @ _stream_readable.js:208 onread @ net.js:595 index.js? [sm]:460 stop index.js? [sm]:505 deviceId 88:83:5D:56:C8:C9 index.js? [sm]:525 连接成功 {errCode: 0, errMsg: "createBLEConnection:ok"} index.js? [sm]:460 stop index.js? [sm]:170 obj {top: false, bottom: true, left: false, right: false, startTime: 1530013063376, …} index.js? [sm]:598 写入内存时间 1530013063388 bottompress press index.js? [sm]:630 发送 1530013063388 index.js? [sm]:181 end {top: false, bottom: false, left: false, right: false, isTouch: false, …} index.js? [sm]:598 写入内存时间 1530013063516 bottompop pop index.js? [sm]:598 写入内存时间 1530013063540 bottompop pop index.js? [sm]:630 发送 1530013063641 writeDeviceCharacter.js? [sm]:19 用时 261 {errCode: 10004, errMsg: "writeBLECharacteristicValue:fail:no service"} press writeDeviceCharacter.js? [sm]:19 用时 182 {errCode: 10004, errMsg: "writeBLECharacteristicValue:fail:no service"} pop 使用IOS测试无任何问题,使用低版本的Android6.0手机也没有问题。 请参考具体的建立连接代码片段如下: wx.createBLEConnection({ deviceId: deviceId, // mainThread: false, // needDiscoryService: true, success: function (res) { // wx.hideToast(); console.log('连接成功', res) if (that.data.ios){ //从连接中获取serviceUUid与characterUUid 苹果机限制必须先获取才能使用 getDeviceService.call(that); } else { that.setData({ tip: `当前连接设备: ${deviceName}`, isConnected: true, isModal: false, selectDevice: '' }) wx.showToast({ title: '连接成功', }) that.closeModal(); that.selfData.connecting = false } 不知是我代码调用有问题,还是手机有何设置未开启 请遇到类似问题的朋友方便的话帮忙答复一下,谢谢!
2018-06-28调用wx.createBLEConnection时设置timeout参数,由于android建立连接耗时可能根据不同机型耗时有所差异,所以可能会超出接口默认超时时间。
安卓,蓝牙连接超时wx.createBLEConnection 进行连接,连接有时可以有时不可以,多次尝试可能可以连上,这用户体验太差了。 用 //uplog 上传了日志,微信号 wxid_7zkt4locuekt21 文档没有更新关于 错误码10012 。请官方给一个正确示范。
2018-06-04