fix(lefu): 完善蓝牙连接状态处理,修复断开后 UI 不同步问题
- connectState 回调增加 UNAVAILABLE 清理和 READY 自动重连 - disconnect() 增加 _intentionalConnect 标记避免误重连 - deviceWillDisconnect 增加 _activeProtocol 防重入判断 - connectedDevice/equipment/connectedWifi 增加断开状态响应 - connectedWifi 设备断开后自动退出配网页 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
15e089f5e3
commit
439f560218
@@ -68,6 +68,7 @@ Page({
|
||||
lefuService.stopScan()
|
||||
lefuService.onDeviceConnect(() => {})
|
||||
lefuService.onDeviceInfo(() => {})
|
||||
lefuService.onDisconnected(() => {})
|
||||
},
|
||||
|
||||
/** 拉取已绑定设备列表,加载完成后检查缓存自动连接 */
|
||||
@@ -112,6 +113,9 @@ Page({
|
||||
lefuService.onDeviceInfo((info) => {
|
||||
this._markConnected(info.serialNumber as string)
|
||||
})
|
||||
lefuService.onDisconnected(() => {
|
||||
this._markAllDisconnected()
|
||||
})
|
||||
lefuService.autoConnect()
|
||||
},
|
||||
|
||||
@@ -124,6 +128,12 @@ Page({
|
||||
this.setData({ deviceList: list })
|
||||
},
|
||||
|
||||
/** 将所有设备标记为未连接 */
|
||||
_markAllDisconnected() {
|
||||
const list = this.data.deviceList.map(item => ({ ...item, connected: false }))
|
||||
this.setData({ deviceList: list })
|
||||
},
|
||||
|
||||
/** 点击「连接」:扫描周边设备,找到 deviceId 匹配的设备后连接 */
|
||||
onTapConnect(e: WechatMiniprogram.TouchEvent) {
|
||||
const userInfo = e.currentTarget.dataset.userInfo as DeviceItem
|
||||
|
||||
Reference in New Issue
Block a user