135 lines
4.3 KiB
JavaScript
135 lines
4.3 KiB
JavaScript
const app = getApp();
|
|
|
|
Component({
|
|
data: {
|
|
progress: 0,
|
|
// loading=正在获取,failed=获取失败,success=获取成功
|
|
wifiStatus: 'loading',
|
|
wifiList: [],
|
|
|
|
selectWifi: null,
|
|
type: true,
|
|
selectWifiPWD: ""
|
|
},
|
|
|
|
lifetimes: {
|
|
attached() {
|
|
// WiFi 列表获取由父页面在 activeProtocol 就绪后显式调用,此处不自动触发
|
|
},
|
|
detached() {
|
|
console.log('configureDevice3 detached');
|
|
}
|
|
},
|
|
|
|
// 组件的方法
|
|
methods: {
|
|
initWifi() {
|
|
this.setData({ wifiStatus: 'loading' });
|
|
wx.showLoading({ title: "正在获取Wi-Fi列表...", mask: true });
|
|
const activeProtocol = app.globalData.ppScale.activeProtocol;
|
|
if (!activeProtocol) {
|
|
wx.hideLoading();
|
|
this.setData({ wifiStatus: 'failed' });
|
|
return;
|
|
}
|
|
// 15秒超时:断开设备静默重连
|
|
const timer = setTimeout(() => {
|
|
wx.hideLoading();
|
|
this.setData({ wifiStatus: 'failed' });
|
|
}, 15000);
|
|
// 延时两秒后再调用接口
|
|
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 列表
|
|
reInitWifi() {
|
|
this.setData({
|
|
progress: 0,
|
|
wifiStatus: 'loading',
|
|
wifiList: [],
|
|
selectWifi: null,
|
|
selectWifiPWD: ""
|
|
});
|
|
this.initWifi();
|
|
},
|
|
|
|
selectDevice(e) {
|
|
this.setData({
|
|
progress: 1,
|
|
selectWifi: e.currentTarget.dataset.item,
|
|
})
|
|
},
|
|
|
|
inputTypeChange() {
|
|
this.setData({
|
|
type: !this.data.type
|
|
})
|
|
},
|
|
|
|
passwordInput(e) {
|
|
this.setData({
|
|
selectWifiPWD: e.detail.value
|
|
})
|
|
},
|
|
|
|
setWifiPWD() {
|
|
this.setData({ progress: 2 });
|
|
|
|
let version = app.globalData.ppScale.version;
|
|
if (version === 'domain1') {
|
|
app.globalData.ppScale.activeProtocol.dataConfigNetWork({
|
|
domain: app.globalData.ppScale.domain1,
|
|
ssid: this.data.selectWifi.ssid,
|
|
password: this.data.selectWifiPWD
|
|
}, (res) => {
|
|
console.log("setNetwork.js dataConfigNetWork 1", res);
|
|
this.netWorkCallBack(res);
|
|
});
|
|
}
|
|
if (version === 'domain2') {
|
|
app.globalData.ppScale.activeProtocol.dataConfigUserNetWork({
|
|
domain: app.globalData.ppScale.domain2,
|
|
ssid: this.data.selectWifi.ssid,
|
|
password: this.data.selectWifiPWD,
|
|
userName: "apiUser",
|
|
userPassword: "3acebb95eb49577e9c2a2082589b9bd6",
|
|
}, (res) => {
|
|
console.log("setNetwork.js dataConfigUserNetWork 2", res);
|
|
this.netWorkCallBack(res);
|
|
});
|
|
}
|
|
},
|
|
|
|
netWorkCallBack(res) {
|
|
if(res == 23) {
|
|
app.globalData.ppScale.wifi.ssid = this.data.selectWifi.ssid;
|
|
app.globalData.ppScale.wifi.password = this.data.selectWifiPWD;
|
|
|
|
this.triggerEvent('deviceEvent', {
|
|
status: true
|
|
});
|
|
} else {
|
|
app.globalData.ppScale.plugin.Blue.stop();
|
|
wx.showToast({
|
|
icon: "none",
|
|
title: "配网失败,错误码:" + res
|
|
})
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
delta: 2
|
|
})
|
|
}, 1500)
|
|
}
|
|
}
|
|
}
|
|
}); |