[AI Generated]: feat(*): 新增WiFi获取15秒超时静默重连、优化连接loading可控、修复setConfigSuccessful函数结构

This commit is contained in:
17792275749
2026-04-13 14:30:32 +08:00
parent f8957b0852
commit f63ebe0f36
5 changed files with 26 additions and 20 deletions
@@ -25,19 +25,30 @@ Component({
methods: { methods: {
initWifi() { initWifi() {
this.setData({ wifiStatus: 'loading' }); this.setData({ wifiStatus: 'loading' });
wx.showLoading({ title: "正在获取Wi-Fi列表...", mask: true });
const activeProtocol = app.globalData.ppScale.activeProtocol; const activeProtocol = app.globalData.ppScale.activeProtocol;
if (!activeProtocol) { if (!activeProtocol) {
wx.hideLoading();
this.setData({ wifiStatus: 'failed' }); this.setData({ wifiStatus: 'failed' });
return; return;
} }
activeProtocol.dataFindSurroundDevice((res) => { // 15秒超时:断开设备静默重连
if (!Array.isArray(res)) { const timer = setTimeout(() => {
// 获取失败,显示失败状态,等待用户手动点击重试 wx.hideLoading();
this.setData({ wifiStatus: 'failed' }); this.setData({ wifiStatus: 'failed' });
return; }, 15000);
} // 延时两秒后再调用接口
this.setData({ wifiList: res, wifiStatus: 'success' }); setTimeout(() => {
}); activeProtocol.dataFindSurroundDevice((res) => {
clearTimeout(timer);
wx.hideLoading();
if (!Array.isArray(res)) {
this.setData({ wifiStatus: 'failed' });
return;
}
this.setData({ wifiList: res, wifiStatus: 'success' });
});
}, 2000);
}, },
// 最小化后重连,重置所有状态并重新获取 WiFi 列表 // 最小化后重连,重置所有状态并重新获取 WiFi 列表
@@ -30,7 +30,7 @@
<view>正在获取WiFi列表中...</view> <view>正在获取WiFi列表中...</view>
</block> </block>
<block wx:else> <block wx:else>
<view bind:tap="initWifi">获取WiFi失败,点击重试</view> <view bind:tap="reInitWifi">获取WiFi失败,点击重试</view>
</block> </block>
</view> </view>
</block> </block>
@@ -5,7 +5,7 @@ Component({
methods: { methods: {
bindOk() { bindOk() {
wx.switchTab({ url: '/pages/home/home' }); this.triggerEvent('deviceEvent', { status: true });
}, },
// 开始 OTA 升级 // 开始 OTA 升级
+4 -9
View File
@@ -108,13 +108,8 @@ Page({
connectedDevice(e) { connectedDevice(e) {
app.resetReconnectCount(); app.resetReconnectCount();
wx.showLoading({ wx.showLoading({ title: "正在尝试连接...", mask: true });
title: "正在尝试连接...", this.setData({ progressNext: false });
mask: true
});
this.setData({
progressNext: false
})
let device = e.detail.device; let device = e.detail.device;
// 先断开旧连接再重新连接 // 先断开旧连接再重新连接
ppScale.plugin.Blue.disconnect((disres) => { ppScale.plugin.Blue.disconnect((disres) => {
@@ -170,14 +165,14 @@ Page({
setTimeout(() => { setTimeout(() => {
const comp = this.selectComponent('#configureDevice3'); const comp = this.selectComponent('#configureDevice3');
if (comp) comp.initWifi(); if (comp) comp.initWifi();
}, 1000); }, 300);
} }
// 进入步骤3(OTA升级)时,等待组件渲染完成后由父页面显式触发升级 // 进入步骤3(OTA升级)时,等待组件渲染完成后由父页面显式触发升级
if (newIndex === 3) { if (newIndex === 3) {
setTimeout(() => { setTimeout(() => {
const comp = this.selectComponent('#configureDevice4'); const comp = this.selectComponent('#configureDevice4');
if (comp) comp.startOtaUpgrade(); if (comp) comp.startOtaUpgrade();
}, 1000); }, 300);
} }
}, },
+1 -1
View File
@@ -15,7 +15,7 @@
<configureDevice1 bind:deviceEvent="deviceChange"></configureDevice1> <configureDevice1 bind:deviceEvent="deviceChange"></configureDevice1>
</block> </block>
<block wx:if="{{progress.index === 1}}"> <block wx:if="{{progress.index === 1}}">
<configureDevice2 bind:deviceEvent="setDeviceUserList" bind:connectedDeviceEvent="connectedDevice"></configureDevice2> <configureDevice2 bind:deviceEvent="setDeviceUserList" bind:connectedDeviceEvent="connectedDevice"></configureDevice2>
</block> </block>
<block wx:if="{{progress.index === 2}}"> <block wx:if="{{progress.index === 2}}">
<configureDevice3 id="configureDevice3" bind:deviceEvent="setDeviceConfig"></configureDevice3> <configureDevice3 id="configureDevice3" bind:deviceEvent="setDeviceConfig"></configureDevice3>