From 2bc487c522544214e01d449ade2d44818e5d7efb Mon Sep 17 00:00:00 2001 From: ozh Date: Wed, 9 Sep 2026 18:27:30 +0800 Subject: [PATCH] =?UTF-8?q?docs(ble):=20=E8=A1=A5=E8=AE=B0=20Taro=20?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=90=8E=E5=81=9C=E6=90=9C=E7=B4=A2=E5=8D=A1?= =?UTF-8?q?=E9=A1=BF=E4=B8=8E=E9=85=8D=E7=BD=91=E6=8C=89=E9=92=AE=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E7=9A=84=E4=BF=AE=E5=A4=8D=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/unified-ble-flow.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/unified-ble-flow.md b/docs/unified-ble-flow.md index f7cb4ef..b223426 100644 --- a/docs/unified-ble-flow.md +++ b/docs/unified-ble-flow.md @@ -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