Files
bodyWeight/miniprogram/pages/connectedWifi/connectedWifi.wxml
T
17792275749andClaude Opus 4.7 db865748f2 fix(device): 修复设备连接与配网多场景问题,同名设备用 deviceId 区分
- 连接中关闭蓝牙立即结束 loading,不再卡到超时
- onShow 已连接时同步标记,重新搜索不误标已连接设备
- 连接中防重入,搜索中切后台重置状态
- 配网成功立即退出配网模式,密码必填且 8-16 位
- 配网失败重试定时器可清理
- 同名设备改用 deviceId 唯一标识并展示

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-21 09:35:18 +08:00

137 lines
4.5 KiB
Plaintext

<view class="connectedWifi">
<block wx:if="{{status === 'password'}}">
<view class="setWifi">
<view class="setWifi-title">输入Wi-Fi密码</view>
<view class="setWifi-form">
<view>
<view>
<image src="/images/connectedWifi/wifiPwd.png"/>
</view>
<view>{{selectedSsid}}</view>
</view>
<view>
<view>密码</view>
<view>
<block wx:if="{{type}}">
<input
password="{{true}}"
value="{{selectWifiPWD}}"
maxlength="16"
bind:input="passwordInput"
placeholder="输入您的wi-fi密码"
placeholder-class="placeholderClass"/>
</block>
<block wx:else>
<input
password="{{false}}"
value="{{selectWifiPWD}}"
maxlength="16"
bind:input="passwordInput"
placeholder="输入您的wi-fi密码"
placeholder-class="placeholderClass"/>
</block>
</view>
<view bind:tap="inputTypeChange">
<image src="/images/connectedWifi/{{type ? 'open' : 'close'}}.png"/>
</view>
</view>
</view>
<view class="setWifi-btn">
<view bind:tap="onCancelPwd">取消</view>
<view bind:tap="onConfirmPwd">连接</view>
</view>
</view>
</block>
<block wx:else>
<!-- 顶部已连接设备卡 -->
<view class="deviceCard">
<view class="card-icon">
<image src="/images/device/{{deviceName}}.png" mode="aspectFit" style="width:100%;height:100%;"></image>
</view>
<view>
<view>{{deviceName}}</view>
<view>
<block wx:if="{{bleStatus === 'connected'}}">
<view class="status-dot status-dot--green"></view>
<text class="status-text status-text--green">已连接</text>
</block>
<block wx:elif="{{bleStatus === 'failed'}}">
<view class="status-dot status-dot--red"></view>
<text class="status-text status-text--red">连接断开</text>
</block>
<block wx:else>
<view class="status-dot status-dot--gray"></view>
<text class="status-text status-text--gray">连接中...</text>
</block>
</view>
</view>
</view>
<block wx:if="{{status === 'idle'}}">
<view class="wifiIdle">
查找周边WiFi
</view>
</block>
<block wx:if="{{status === 'searching'}}">
<view class="wifiSearching">
搜索中...
</view>
</block>
<block wx:if="{{status === 'list'}}">
<view class="wifiHeader">
<view>
<view>附近WiFi</view>
</view>
<view>网络列表(请选择一个网络进行连接)</view>
</view>
<scroll-view class="wifiList" scroll-y>
<block wx:for="{{wifiList}}" wx:key="ssid">
<block wx:if="{{item.connected}}">
<view class="wifiItem wifiItem-connected" data-ssid="{{item.ssid}}" bind:tap="onTapWifi">
<view>
<image src="/images/connectedWifi/wifi.png" mode="aspectFit"/>
</view>
<text>{{item.ssid}}</text>
<view>
<text>已连接</text>
<view class="arrow"></view>
</view>
</view>
</block>
<block wx:else>
<view class="wifiItem" data-ssid="{{item.ssid}}" bind:tap="onTapWifi">
<view>
<image src="/images/connectedWifi/wifi.png" mode="aspectFit"/>
</view>
<text>{{item.ssid}}</text>
<view class="arrow"></view>
</view>
</block>
</block>
</scroll-view>
<view class="wifiBtn">
<view class="{{hasConnected ? '' : 'wifiBtn-disabled'}}" bind:tap="onConfirm">确认</view>
</view>
</block>
<block wx:if="{{status === 'empty'}}">
<view class="wifiHeader">
<view>
<view>附近WiFi</view>
<view bind:tap="onRefresh">刷新</view>
</view>
<view>网络列表(请选择一个网络进行连接)</view>
</view>
<view class="wifiEmpty">
<view>
<image src="/images/connectedWifi/noData.png" mode="aspectFit"/>
</view>
<text>未查找到可用wifi,请重试</text>
</view>
</block>
</block>
</view>