[AI Generated]: feat(*): 新增WiFi获取15秒超时静默重连、优化连接loading可控、修复setConfigSuccessful函数结构
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
// 15秒超时:断开设备静默重连
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
wx.hideLoading();
|
||||||
|
this.setData({ wifiStatus: 'failed' });
|
||||||
|
}, 15000);
|
||||||
|
// 延时两秒后再调用接口
|
||||||
|
setTimeout(() => {
|
||||||
activeProtocol.dataFindSurroundDevice((res) => {
|
activeProtocol.dataFindSurroundDevice((res) => {
|
||||||
|
clearTimeout(timer);
|
||||||
|
wx.hideLoading();
|
||||||
if (!Array.isArray(res)) {
|
if (!Array.isArray(res)) {
|
||||||
// 获取失败,显示失败状态,等待用户手动点击重试
|
|
||||||
this.setData({ wifiStatus: 'failed' });
|
this.setData({ wifiStatus: 'failed' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.setData({ wifiList: res, wifiStatus: 'success' });
|
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 升级
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user