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) } } } });