|
@@ -1,6 +1,6 @@
|
|
|
const { BtHelper } = require("../../devices/bt_helper");
|
|
|
import { EnumCmdEvent, CmdEvent } from '../../devices/cmd_key_event';
|
|
|
-import EventManager from '../../utils/event_bus'
|
|
|
+import EventManager, { addNotification } from '../../utils/event_bus'
|
|
|
// pages/OTA/ota.js
|
|
|
Page({
|
|
|
|
|
@@ -112,6 +112,14 @@ Page({
|
|
|
sendWiFiInfo(wifiName, pwd) {
|
|
|
// [0x22, (wifiList.length + pwdList.length + 6), 0x33, (wifiList.length), (wifiList), 0x44, (pwdList)];
|
|
|
|
|
|
+ if (!wifiName || !pwd) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '请输入正确的账号密码',
|
|
|
+ })
|
|
|
+ wx.hideLoading()
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
let result = [];
|
|
|
|
|
|
// 字母*6 +
|
|
@@ -160,6 +168,11 @@ Page({
|
|
|
console.log("string转换为List<int>", code)
|
|
|
return code
|
|
|
},
|
|
|
+
|
|
|
+ // List<int>转换为string
|
|
|
+ listInt2String(data) {
|
|
|
+ return String.fromCharCode(...data);
|
|
|
+ },
|
|
|
startDownloadFile() {
|
|
|
|
|
|
var urlPath = this.data.otaData.url ?? "";
|
|
@@ -371,48 +384,69 @@ Page({
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- /**
|
|
|
- * 生命周期函数--监听页面加载
|
|
|
- */
|
|
|
- onLoad(options) {
|
|
|
- let param = JSON.parse(options.param)
|
|
|
- console.log("OTA界面:", param)
|
|
|
- let otaData = param.otaData
|
|
|
- let device = param.device
|
|
|
- this.setData({
|
|
|
- otaData: otaData,
|
|
|
- device: device,
|
|
|
- isShowOta: device.clientType === 'MW-S2(BLE)' || device.clientType === 'MW-S2'
|
|
|
- })
|
|
|
-
|
|
|
+ addNotification() {
|
|
|
let _this = this;
|
|
|
EventManager.addNotification(CmdEvent.eventName, function (event) {
|
|
|
let name = event.cmdEvent;
|
|
|
- console.log("OTA页0:", name, EnumCmdEvent.otaCmd, EnumCmdEvent.otaCmd === name)
|
|
|
+ console.log("OTA页0:", event)
|
|
|
+ let kind = event.heiJiaoKind;
|
|
|
|
|
|
switch (name) {
|
|
|
case EnumCmdEvent.otaCmd:
|
|
|
let otaCmd = event.otaCmd;
|
|
|
- let kind = event.heiJiaoKind;
|
|
|
console.log("OTA页:", otaCmd, kind)
|
|
|
|
|
|
if (otaCmd === 1 && kind == 1) {
|
|
|
wx.hideLoading();
|
|
|
- // 开始发送
|
|
|
- _this.startSendOtaData()
|
|
|
+ // 设备收到开启OTA的回复,开始发送wifi信息
|
|
|
+ _this.sendWiFiInfo()
|
|
|
} else if (otaCmd === 0 && kind == 1) {
|
|
|
- // 发送结束
|
|
|
- _this.endOta(0)
|
|
|
+ // 设备回收到url,OTA结束了
|
|
|
+ // _this.endOta(0)
|
|
|
+ wx.hideLoading()
|
|
|
+ wx.showModal({
|
|
|
+ title: '等待设备升级中',
|
|
|
+ showCancel: false
|
|
|
+ })
|
|
|
} else if (kind == 0) {
|
|
|
wx.hideLoading()
|
|
|
wx.showModal({
|
|
|
+ title: 'WIFI连接失败了',
|
|
|
+ showCancel: false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case EnumCmdEvent.otaUrl:
|
|
|
+ let otaUrl = event.otaUrl;
|
|
|
+ if (otaUrl === 1) {
|
|
|
+ // 开始发送url
|
|
|
+ BtHelper.getInstance().wifiUrl(_this.string2ListInt(_this.data.otaData.url))
|
|
|
+ } else {
|
|
|
+ wx.hideLoading()
|
|
|
+ // wifi失败
|
|
|
+ wx.showModal({
|
|
|
title: 'OTA升级失败了',
|
|
|
showCancel: false
|
|
|
})
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- }, this)
|
|
|
+ }, _this)
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面加载
|
|
|
+ */
|
|
|
+ onLoad(options) {
|
|
|
+ let param = JSON.parse(options.param)
|
|
|
+ console.log("OTA界面:", param)
|
|
|
+ let otaData = param.otaData
|
|
|
+ let device = param.device
|
|
|
+ this.setData({
|
|
|
+ otaData: otaData,
|
|
|
+ device: device,
|
|
|
+ isShowOta: device.clientType === 'MW-S2(BLE)' || device.clientType === 'MW-S2'
|
|
|
+ })
|
|
|
+ this.addNotification()
|
|
|
},
|
|
|
onUnload() {
|
|
|
EventManager.removeNotification(CmdEvent.eventName, this)
|