mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 23:12:34 +03:00
разбор json пришедшего с esp
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
//==================================constants section========================================
|
//==================================constants section========================================
|
||||||
let debug = true;
|
let debug = true;
|
||||||
let LOG_MAX_MESSAGES = 10;
|
let LOG_MAX_MESSAGES = 10;
|
||||||
let reconnectTimeout = 10000;
|
let reconnectTimeout = 60000;
|
||||||
|
|
||||||
//=================================variable section==========================================
|
//=================================variable section==========================================
|
||||||
let myip = document.location.hostname;
|
let myip = document.location.hostname;
|
||||||
@@ -137,6 +137,7 @@
|
|||||||
|
|
||||||
//configuration
|
//configuration
|
||||||
let config = [];
|
let config = [];
|
||||||
|
let buf = [];
|
||||||
|
|
||||||
//web sockets
|
//web sockets
|
||||||
let socket = [];
|
let socket = [];
|
||||||
@@ -219,7 +220,8 @@
|
|||||||
if (ip === "error") {
|
if (ip === "error") {
|
||||||
if (debug) console.log("[e]", "device list wrong");
|
if (debug) console.log("[e]", "device list wrong");
|
||||||
} else {
|
} else {
|
||||||
socket[ws] = new WebSocket("ws://" + ip + "/ws");
|
socket[ws] = new WebSocket("ws://" + ip + ":81");
|
||||||
|
//socket[ws] = new WebSocket("ws://" + ip + "/ws");
|
||||||
if (debug) console.log("[i]", ip, "started connecting...");
|
if (debug) console.log("[i]", ip, "started connecting...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -246,19 +248,24 @@
|
|||||||
});
|
});
|
||||||
socket[ws].addEventListener("message", function (event) {
|
socket[ws].addEventListener("message", function (event) {
|
||||||
let data = event.data.toString();
|
let data = event.data.toString();
|
||||||
if (debug) console.log("[i]", "data:", data);
|
//if (debug) console.log("[i]", "data:", data);
|
||||||
|
if (data.includes("[log]")) {
|
||||||
//if (data.includes("[log]")) {
|
data = data.replace("[log]", "");
|
||||||
// data = data.replace("[log]", "");
|
addCoreMsg(data);
|
||||||
// addCoreMsg(data);
|
//if (debug) console.log("[i]", "log data:", data);
|
||||||
// //if (debug) console.log("[i]", "log data:", data);
|
} else if (data.includes("/config.json")) {
|
||||||
//} else if (data.includes("[/setup.json]")) {
|
data = data.replace("/config.json", "");
|
||||||
// if (debug) console.log("[i]", "config data:", data);
|
buf = buf + data;
|
||||||
// data = data.replace("[/setup.json]", "");
|
if (data.includes("]}")) {
|
||||||
// data = JSON.parse(data);
|
buf = buf.replace("]}", "]");
|
||||||
// config.push(data);
|
if (IsJsonParse(buf)) {
|
||||||
// config = config;
|
config = JSON.parse(buf);
|
||||||
//}
|
buf = [];
|
||||||
|
config = config;
|
||||||
|
if (debug) console.log("[i]", "parsed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
socket[ws].addEventListener("close", (event) => {
|
socket[ws].addEventListener("close", (event) => {
|
||||||
if (debug) console.log("[e]", ip, "connection closed");
|
if (debug) console.log("[e]", ip, "connection closed");
|
||||||
@@ -349,6 +356,8 @@
|
|||||||
function dropdownChange() {
|
function dropdownChange() {
|
||||||
socketConnected = selectedDeviceData.status;
|
socketConnected = selectedDeviceData.status;
|
||||||
wsSelected = selectedDeviceData.ws;
|
wsSelected = selectedDeviceData.ws;
|
||||||
|
clearData();
|
||||||
|
sendCurrentPageName();
|
||||||
if (debug) console.log("[i]", "user selected device:", selectedDeviceData.name);
|
if (debug) console.log("[i]", "user selected device:", selectedDeviceData.name);
|
||||||
if (selectedDeviceData.ip === myip) {
|
if (selectedDeviceData.ip === myip) {
|
||||||
if (debug) console.log("[i]", "user selected original device", selectedDeviceData.name);
|
if (debug) console.log("[i]", "user selected original device", selectedDeviceData.name);
|
||||||
@@ -372,9 +381,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clearData() {
|
||||||
|
config = [];
|
||||||
|
}
|
||||||
|
|
||||||
//navigation===========================================================================================
|
//navigation===========================================================================================
|
||||||
function handleNavigation() {
|
function handleNavigation() {
|
||||||
config = [];
|
clearData();
|
||||||
currentPageName = $router.path.toString();
|
currentPageName = $router.path.toString();
|
||||||
console.log("[i]", "user on page:", currentPageName);
|
console.log("[i]", "user on page:", currentPageName);
|
||||||
sendCurrentPageName();
|
sendCurrentPageName();
|
||||||
@@ -412,6 +425,15 @@
|
|||||||
return json;
|
return json;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function IsJsonParse(str) {
|
||||||
|
try {
|
||||||
|
JSON.parse(str);
|
||||||
|
} catch (e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
//post и get запросы=================================================================================
|
//post и get запросы=================================================================================
|
||||||
//запрос с помощью которого можно отредактировать любой файл на esp
|
//запрос с помощью которого можно отредактировать любой файл на esp
|
||||||
//editRequest("192.168.88.235", "data data data data", "file.json")
|
//editRequest("192.168.88.235", "data data data data", "file.json")
|
||||||
@@ -459,6 +481,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function pushConfigToEsp() {
|
||||||
|
//config.forEach((element) => {
|
||||||
|
wsSendMsg(wsSelected, JSON.stringify(config));
|
||||||
|
//});
|
||||||
|
}
|
||||||
|
|
||||||
//initialisation=======================================================================================
|
//initialisation=======================================================================================
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
console.log("[i]", "mounted");
|
console.log("[i]", "mounted");
|
||||||
@@ -568,7 +596,7 @@
|
|||||||
{/each}
|
{/each}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button class="long-button">{"Сохранить"}</button>
|
<button class="long-button" on:click={() => pushConfigToEsp()}>{"Сохранить"}</button>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
</Route>
|
</Route>
|
||||||
|
|||||||
Reference in New Issue
Block a user