mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 23:12:34 +03:00
небольшие исправления
This commit is contained in:
@@ -285,13 +285,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//события веб сокетов
|
||||||
socket[ws].addEventListener("message", function (event) {
|
socket[ws].addEventListener("message", function (event) {
|
||||||
|
//сообщения типа String-----------------------------------------------------------------------------------//
|
||||||
if (typeof event.data === "string") {
|
if (typeof event.data === "string") {
|
||||||
let data = event.data;
|
let data = event.data;
|
||||||
//if (debug) console.log("[i]", getIP(ws), "msg received", data);//
|
|
||||||
if (ws === selectedWs) {
|
if (ws === selectedWs) {
|
||||||
//STRING============================================================
|
//сборщик deviceList сообщений
|
||||||
//сборщик deviceList сообщений======================================
|
|
||||||
if (data.includes('devicelist":"')) {
|
if (data.includes('devicelist":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
incDeviceList = JSON.parse(data);
|
incDeviceList = JSON.parse(data);
|
||||||
@@ -304,16 +305,6 @@
|
|||||||
}
|
}
|
||||||
firstDevListRequest = false;
|
firstDevListRequest = false;
|
||||||
|
|
||||||
// deviceList.sort(function (a, b) {
|
|
||||||
// if (a.name < b.name) {
|
|
||||||
// return -1;
|
|
||||||
// }
|
|
||||||
// if (a.name > b.name) {
|
|
||||||
// return 1;
|
|
||||||
// }
|
|
||||||
// return 0;
|
|
||||||
// });
|
|
||||||
|
|
||||||
deviceList = deviceList;
|
deviceList = deviceList;
|
||||||
deviceListParced = true;
|
deviceListParced = true;
|
||||||
if (debug) console.log("✔", "deviceList json parced");
|
if (debug) console.log("✔", "deviceList json parced");
|
||||||
@@ -323,7 +314,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//сборщик ssidJson сообщений======================================
|
//сборщик ssidJson сообщений
|
||||||
if (data.includes('ssid":"')) {
|
if (data.includes('ssid":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
ssidJson = JSON.parse(data);
|
ssidJson = JSON.parse(data);
|
||||||
@@ -333,7 +324,7 @@
|
|||||||
onParced();
|
onParced();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//сборщик errorsJson сообщений======================================
|
//сборщик errorsJson сообщений
|
||||||
if (data.includes('errors":"')) {
|
if (data.includes('errors":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
errorsJson = JSON.parse(data);
|
errorsJson = JSON.parse(data);
|
||||||
@@ -343,7 +334,7 @@
|
|||||||
onParced();
|
onParced();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//сборщик settingsJson сообщений======================================
|
//сборщик settingsJson сообщений
|
||||||
if (data.includes('settings":"')) {
|
if (data.includes('settings":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
settingsJson = JSON.parse(data);
|
settingsJson = JSON.parse(data);
|
||||||
@@ -355,7 +346,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//сборщик log сообщений======================================
|
//сборщик log сообщений
|
||||||
if (data.includes("/log|")) {
|
if (data.includes("/log|")) {
|
||||||
data = data.replace("/log|", "");
|
data = data.replace("/log|", "");
|
||||||
//let msg = data.toString();
|
//let msg = data.toString();
|
||||||
@@ -363,8 +354,8 @@
|
|||||||
addCoreMsg(data);
|
addCoreMsg(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
//BLOB==============================================================
|
//метки начала конца пакетов для Blob--------------------------------------------------------------------------//
|
||||||
//сборщик scenarioJson пакетов======================================
|
//сборщик scenarioJson пакетов
|
||||||
if (data === "/st/scenario.json") {
|
if (data === "/st/scenario.json") {
|
||||||
scenarioJsonFlag = true;
|
scenarioJsonFlag = true;
|
||||||
}
|
}
|
||||||
@@ -384,7 +375,7 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//сборщик configJson пакетов========================================
|
//сборщик configJson пакетов
|
||||||
if (data === "/st/config.json") {
|
if (data === "/st/config.json") {
|
||||||
configJsonFlag = true;
|
configJsonFlag = true;
|
||||||
}
|
}
|
||||||
@@ -404,7 +395,7 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//сборщик widgetsJson пакетов========================================
|
//сборщик widgetsJson пакетов
|
||||||
if (data === "/st/widgets.json") {
|
if (data === "/st/widgets.json") {
|
||||||
widgetsJsonFlag = true;
|
widgetsJsonFlag = true;
|
||||||
}
|
}
|
||||||
@@ -424,7 +415,7 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//сборщик itemsJson пакетов========================================
|
//сборщик itemsJson пакетов
|
||||||
if (data === "/st/items.json") {
|
if (data === "/st/items.json") {
|
||||||
itemsJsonFlag = true;
|
itemsJsonFlag = true;
|
||||||
}
|
}
|
||||||
@@ -445,13 +436,13 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//сборщик layoutJson пакетов========================================
|
//сборщик layoutJson пакетов
|
||||||
if (data === "/st/layout.json") {
|
if (data === "/st/layout.json") {
|
||||||
}
|
}
|
||||||
if (data === "/end/layout.json") {
|
if (data === "/end/layout.json") {
|
||||||
createLayoutUnderLoading(ws);
|
createLayoutUnderLoading(ws);
|
||||||
}
|
}
|
||||||
//сборщик paramsJson сообщений======================================
|
//сборщик paramsJson сообщений
|
||||||
if (data.includes('"params":"')) {
|
if (data.includes('"params":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
//как добавить в объект json новый объект
|
//как добавить в объект json новый объект
|
||||||
@@ -463,8 +454,8 @@
|
|||||||
onParced();
|
onParced();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//сборщик statusJson сообщений======================================
|
//сборщик statusJson сообщений
|
||||||
if (data.includes("status")) {
|
if (data.includes('"status":')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
let statusJson = JSON.parse(data);
|
let statusJson = JSON.parse(data);
|
||||||
udateStatusOfWidget(statusJson);
|
udateStatusOfWidget(statusJson);
|
||||||
@@ -472,6 +463,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//сообщения типа Blob-------------------------------------------------------------------------------------//
|
||||||
if (event.data instanceof Blob) {
|
if (event.data instanceof Blob) {
|
||||||
//принимаем данные только для выбранного устройства
|
//принимаем данные только для выбранного устройства
|
||||||
if (ws === selectedWs) {
|
if (ws === selectedWs) {
|
||||||
@@ -498,6 +491,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//функция создающая общий json всех виджетов под загрузкой (не имеющая события завершения)
|
||||||
async function createLayoutUnderLoading(ws) {
|
async function createLayoutUnderLoading(ws) {
|
||||||
var bb = layoutJsonArray[ws].getBlob();
|
var bb = layoutJsonArray[ws].getBlob();
|
||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
@@ -510,6 +504,7 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//данная функция обновляет статусы виджетов одного устройства при загрузке страницы dashboard
|
||||||
function udateStatusOfDevWidgets(devLayout, ws) {
|
function udateStatusOfDevWidgets(devLayout, ws) {
|
||||||
for (const [key, value] of Object.entries(paramsJson)) {
|
for (const [key, value] of Object.entries(paramsJson)) {
|
||||||
for (let i = 0; i < devLayout.length; i++) {
|
for (let i = 0; i < devLayout.length; i++) {
|
||||||
@@ -539,6 +534,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//данная функция обновляет статусы всех виджетов хранящихся в layoutJson
|
||||||
function udateStatusOfWidget(newStatusJson) {
|
function udateStatusOfWidget(newStatusJson) {
|
||||||
for (let i = 0; i < layoutJson.length; i++) {
|
for (let i = 0; i < layoutJson.length; i++) {
|
||||||
let topic = layoutJson[i].topic;
|
let topic = layoutJson[i].topic;
|
||||||
|
|||||||
@@ -32,30 +32,34 @@
|
|||||||
$: widget.status, collectDataToArr();
|
$: widget.status, collectDataToArr();
|
||||||
|
|
||||||
function collectDataToArr() {
|
function collectDataToArr() {
|
||||||
if (Array.isArray(widget.status)) {
|
if (widget.status) {
|
||||||
//отсекаем лишние события изменения переменной widget
|
if (Array.isArray(widget.status)) {
|
||||||
if (prevSatus !== widget.status) {
|
//отсекаем лишние события изменения переменной widget
|
||||||
console.log("[i]", "collecting chart data, topic:", widget.topic);
|
if (prevSatus !== widget.status) {
|
||||||
let incomingDataArr = widget.status;
|
console.log("[i]", "collecting chart data to array, topic:", widget.topic);
|
||||||
//console.log("[i]", incomingDataArr);
|
let incomingDataArr = widget.status;
|
||||||
collectingDataArray = [...collectingDataArray, ...incomingDataArr];
|
|
||||||
|
|
||||||
for (let i = 0; i < collectingDataArray.length; i++) {
|
console.log("[i]", "array:", incomingDataArr);
|
||||||
labels[i] = getHHMM(collectingDataArray[i].x);
|
|
||||||
values[i] = [collectingDataArray[i].y1];
|
collectingDataArray = [...collectingDataArray, ...incomingDataArr];
|
||||||
|
|
||||||
|
for (let i = 0; i < collectingDataArray.length; i++) {
|
||||||
|
labels[i] = getHHMM(collectingDataArray[i].x);
|
||||||
|
values[i] = [collectingDataArray[i].y1];
|
||||||
|
}
|
||||||
|
|
||||||
|
datachart = {
|
||||||
|
labels: labels,
|
||||||
|
datasets: [
|
||||||
|
{
|
||||||
|
name: widget.descr,
|
||||||
|
values: values,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
prevSatus = widget.status;
|
||||||
|
datachart = datachart;
|
||||||
}
|
}
|
||||||
|
|
||||||
datachart = {
|
|
||||||
labels: labels,
|
|
||||||
datasets: [
|
|
||||||
{
|
|
||||||
name: widget.descr,
|
|
||||||
values: values,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
prevSatus = widget.status;
|
|
||||||
datachart = datachart;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user