mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-30 20:09:24 +03:00
исправлено много багов
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
|
||||
//****************************************************constants section*********************************************************/
|
||||
//******************************************************************************************************************************/
|
||||
let version = 401;
|
||||
let version = 403;
|
||||
let debug = true;
|
||||
let LOG_MAX_MESSAGES = 10;
|
||||
let reconnectTimeout = 20000;
|
||||
@@ -224,7 +224,7 @@
|
||||
} else {
|
||||
socket[ws] = new WebSocket("ws://" + ip + ":81");
|
||||
socket.binaryType = "blob";
|
||||
if (debug) console.log("[i]", ip, "started connecting...");
|
||||
if (debug) console.log("[i]", ip, ws, "started connecting...");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,17 +241,22 @@
|
||||
function wsEventAdd(ws) {
|
||||
if (socket[ws]) {
|
||||
let ip = getIP(ws);
|
||||
if (debug) console.log("[i]", ip, "web socket events added");
|
||||
if (debug) console.log("[i]", ip, ws, "web socket events added");
|
||||
socket[ws].addEventListener("open", function (event) {
|
||||
if (debug) console.log("[i]", ip, "completed connecting");
|
||||
if (debug) console.log("[i]", ip, ws, "completed connecting");
|
||||
markDeviceStatus(ws, true);
|
||||
if (firstDevListRequest) wsSendMsg(0, "/list|");
|
||||
//отправим запрос только выбранному устройству
|
||||
if (ws === selectedWs) {
|
||||
sendCurrentPageName();
|
||||
}
|
||||
});
|
||||
socket[ws].addEventListener("message", function (event) {
|
||||
if (typeof event.data === "string") {
|
||||
let data = event.data;
|
||||
//if (debug) console.log("[i]", getIP(ws), "msg received", data); //
|
||||
//принимаем данные только для выбранного устройства
|
||||
if (ws === selectedWs) {
|
||||
//сборщик deviceList сообщений======================================
|
||||
if (data.includes("devicelist")) {
|
||||
if (IsJsonParse(data)) {
|
||||
@@ -420,13 +425,17 @@
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.data instanceof Blob) {
|
||||
//принимаем данные только для выбранного устройства
|
||||
if (ws === selectedWs) {
|
||||
if (configJsonFlag) configJsonBlob.append(event.data);
|
||||
if (widgetsJsonFlag) widgetsJsonBlob.append(event.data);
|
||||
if (itemsJsonFlag) itemsJsonBlob.append(event.data);
|
||||
if (layoutJsonFlag) layoutJsonBlob.append(event.data);
|
||||
if (settingsJsonFlag) settingsJsonBlob.append(event.data);
|
||||
}
|
||||
}
|
||||
});
|
||||
socket[ws].addEventListener("close", (event) => {
|
||||
if (debug) console.log("[e]", ip, "connection closed");
|
||||
@@ -482,6 +491,8 @@
|
||||
var size = Object.keys(settingsJson).length;
|
||||
console.log("[i]", "settingsJson length: " + size);
|
||||
if (size > 5) {
|
||||
jsonArrWrite(deviceList, "ip", getIP(selectedWs), "name", settingsJson.name);
|
||||
deviceList = deviceList;
|
||||
wsSendMsg(selectedWs, "/sgnittes|" + JSON.stringify(settingsJson));
|
||||
} else {
|
||||
window.alert("Ошибка");
|
||||
@@ -620,9 +631,9 @@
|
||||
function wsSendMsg(ws, msg) {
|
||||
if (socket[ws] && socket[ws].readyState === 1) {
|
||||
socket[ws].send(msg);
|
||||
if (debug) console.log("[i]", getIP(ws), "msg send success", msg);
|
||||
if (debug) console.log("[i]", getIP(ws), ws, "msg send success", msg);
|
||||
} else {
|
||||
if (debug) console.log("[e]", getIP(ws), "msg not send", msg);
|
||||
if (debug) console.log("[e]", getIP(ws), ws, "msg not send", msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -781,7 +792,7 @@
|
||||
JSON.parse(str);
|
||||
} catch (e) {
|
||||
oneOfJsonPackageError = true;
|
||||
if (debug) console.log("[e]", "json error");
|
||||
if (debug) console.log("[e]", "json parce error");
|
||||
return false;
|
||||
}
|
||||
oneOfJsonPackageError = false;
|
||||
@@ -801,6 +812,18 @@
|
||||
if (debug) console.log("[i]", widgetsDropdown);
|
||||
}
|
||||
|
||||
function jsonArrWrite(jsonArr, idKey, idValue, paramKey, paramValue) {
|
||||
for (let i = 0; i < jsonArr.length; i++) {
|
||||
let obj = jsonArr[i];
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
if (key == idKey && value == idValue) {
|
||||
obj[paramKey] = paramValue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//**********************************************************post and get*****************************************************************/
|
||||
//editRequest("192.168.88.235", "data data data data", "file.json")
|
||||
|
||||
@@ -989,7 +1012,7 @@
|
||||
<ListPage show={listReady} deviceList={deviceList} showInput={showInput} addDevInList={() => addDevInList()} newDevice={newDevice} sendToAllDevices={(msg) => sendToAllDevices(msg)} />
|
||||
</Route>
|
||||
<Route path="/system">
|
||||
<SystemPage show={systemReady} settingsJson={settingsJson} errorsJson={errorsJson} rebootEsp={() => rebootEsp()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} version={version} />
|
||||
<SystemPage show={systemReady} errorsJson={errorsJson} rebootEsp={() => rebootEsp()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} version={version} />
|
||||
</Route>
|
||||
|
||||
<!--<Route path="/utilities">-->
|
||||
|
||||
Reference in New Issue
Block a user