docs(ble): 补记 Taro 迁移后停搜索卡顿与配网按钮失效的修复记录

This commit is contained in:
ozh 2026-09-09 18:27:30 +08:00
parent b0ba12034c
commit 2bc487c522
1 changed files with 11 additions and 0 deletions

View File

@ -132,6 +132,17 @@ async function runStandardFlow({ key, ssid, password }) {
## 6. 修改记录
### 2026-09-09 Taro 迁移后交互卡顿修复
#### src/ble/discovery.js
- `stopSearch`: `setSearching(false)` 提前到 `stopBluetoothDevicesDiscovery` 之前同步执行——部分机型原生停扫回调慢,等回调才翻转状态会让按钮长时间停在"搜索中"并串行阻塞连接等后续操作;`searchSessionId` 已递增、`acceptingDeviceEvents` 已关闭,先翻转状态安全
- `connectDevice`: 由无条件 `stopSearch(false)` 改为仅在 `isSearching` 时停搜索,避免每次连接都白调一次原生停扫接口
#### src/pages/device/ble-config.tsx
- 补 `useDidHide` 停搜索:迁移版原只有 useEffect 卸载清理,`navigateTo` 进配网页/切后台时组件不卸载,扫描持续空转(对齐旧版 onHide/onUnload 双触发)
- `prepareWifiConfig` 包 60s `Promise.race` 超时兜底:`createBLEConnection` 部分机型失败后不回调、`discoverServices`/`notify` 无原生超时,不设兜底会导致 loading 永不消失、按钮永久禁用
- 连接失败分支补 `disconnectDevice()` 清 OS 层残留连接(对齐旧版 safeDisconnect),避免"已连接(10010)"卡死后续重试;成功分支补回"设备已连接,请填写WiFi信息"提示
### 2026-04-30 对照协议文档第二轮修复
#### commonParser.js