fix: address audit findings for Phase 1 scan

- Extract _cleanup() to properly unregister ADC listener + clear timers
- ADC callback unregisters itself on first receive (prevent duplicates)
- setParams failure now stops scanning and clears all state
- Timeout handler unregisters ADC listener
- Add BLE connection check before scan
- SCAN_TIMEOUT 8s → 12s (must exceed hold_time 10s)
- Pre-compute barWidth in JS instead of float math in WXML
- Error only shows when scanning is false
这个提交包含在:
Guoguo
2026-06-10 08:18:54 -07:00
父节点 0ffa67da65
当前提交 edf45690c3
修改 2 个文件,包含 25 行新增14 行删除
+2 -2
查看文件
@@ -23,7 +23,7 @@
<view class="pd-region">{{item.region}}</view>
<view class="pd-value {{item.pd > 0 ? '' : 'pd-empty'}}">{{item.pdText}}</view>
<view class="pd-bar-bg" wx:if="{{item.pd > 0}}">
<view class="pd-bar-fill" style="width: {{item.pd > 4095 ? 100 : item.pd / 40.95}}%"></view>
<view class="pd-bar-fill" style="width: {{item.barWidth}}%"></view>
</view>
</view>
</view>
@@ -32,7 +32,7 @@
</view>
</view>
<view class="scan-error" wx:if="{{error}}">{{error}}</view>
<view class="scan-error" wx:if="{{!scanning && error}}">{{error}}</view>
<button class="btn-primary mt-30" wx:if="{{!scanning}}" bindtap="onNext">下一步</button>
</view>