fix(mp): 只在 connection:true 最终回调触发认证,修复过早认证无响应
连接回调触发 4 次(createBLEConnection → services → characteristics → connection:true), errno:0 在第一次回调就匹配了条件,导致认证指令在特征值订阅完成前发送, BLE 通知通道未建立,认证响应无法送达。 修正:仅 result.connection === true 时触发认证流程, 这是 SDK 合并接口的最终就绪信号。
This commit is contained in:
@@ -183,8 +183,10 @@ Page({
|
||||
// eslint-disable-next-line no-undef
|
||||
console.log('[veepoo-native] 连接回调:', JSON.stringify(result));
|
||||
|
||||
// 按官方 Demo 检查 connection:true,同时兼容 errno:0 / errCode:0
|
||||
if (result.connection === true || result.errno === 0 || result.errCode === 0) {
|
||||
// 只响应最终回调(connection:true),忽略中间阶段(services/characteristics/errno:0)
|
||||
// 连接回调会触发多次:createBLEConnection → services → characteristics → connection:true
|
||||
// 认证必须在特征值订阅完成后发送
|
||||
if (result.connection === true) {
|
||||
self._connected = true;
|
||||
self._connecting = false;
|
||||
self.setData({
|
||||
|
||||
Reference in New Issue
Block a user