очистка

This commit is contained in:
Dmitry Borisenko
2022-09-26 01:29:52 +02:00
parent 8501425296
commit 83da90ece5
4 changed files with 86 additions and 95 deletions

View File

@@ -21,14 +21,12 @@
import ListPage from "./pages/List.svelte"; import ListPage from "./pages/List.svelte";
import SystemPage from "./pages/System.svelte"; import SystemPage from "./pages/System.svelte";
import DevPage from "./pages/Dev.svelte"; import DevPage from "./pages/Dev.svelte";
import FilesPage from "./pages/Files.svelte";
//import UtilitiesPage from "./pages/Utilities.svelte"; //import UtilitiesPage from "./pages/Utilities.svelte";
//import LogPage from "./pages/Log.svelte"; //import LogPage from "./pages/Log.svelte";
//import AboutPage from "./pages/About.svelte"; //import AboutPage from "./pages/About.svelte";
import CloudIcon from "./svg/Cloud.svelte"; import CloudIcon from "./svg/Cloud.svelte";
import BookIcon from "./svg/Book.svelte";
//****************************************************constants section*********************************************************/ //****************************************************constants section*********************************************************/
//******************************************************************************************************************************/ //******************************************************************************************************************************/
@@ -88,8 +86,8 @@
let itemsJson = []; let itemsJson = [];
let scenarioJson = {}; let scenarioJson = {};
let chartJsonFlag = false; let chartJsonFlag = {};
let layoutJsonFlag = false; let layoutJsonFlag = {};
//=============================================== //===============================================
let layoutJson = []; let layoutJson = [];
@@ -119,6 +117,8 @@
let newDevice = {}; let newDevice = {};
let coreMessages = []; let coreMessages = [];
let parcedEvent = 0;
//***********************************************************blob**************************************************************/ //***********************************************************blob**************************************************************/
var MyBlobBuilder = function () { var MyBlobBuilder = function () {
this.parts = []; this.parts = [];
@@ -149,7 +149,7 @@
var layoutJsonBlobArray = []; var layoutJsonBlobArray = [];
class blobToJson { class blobToJson {
constructor(st, end, logMsg, cb) { constructor(st, end, logMsg) {
this.st = st; this.st = st;
this.end = end; this.end = end;
this.logMsg = logMsg; this.logMsg = logMsg;
@@ -158,7 +158,6 @@
this.blob = new MyBlobBuilder(); this.blob = new MyBlobBuilder();
this.out; this.out;
this.ws = 0; this.ws = 0;
this.cb = cb;
} }
handle(data) { handle(data) {
@@ -182,11 +181,10 @@
reader.onload = () => { reader.onload = () => {
let result = reader.result; let result = reader.result;
if (IsJsonParse(result)) { if (IsJsonParse(result)) {
this.out = JSON.parse(result);
if (debug) console.log("✔", this.logMsg + " blob parced");
this.parced = true; this.parced = true;
//onParced(); this.out = JSON.parse(result);
this.cb; if (debug) console.log("✔ B", this.logMsg + " blob parced");
onParced();
} }
}; };
this.blob.clear(); this.blob.clear();
@@ -216,10 +214,10 @@
//} //}
} }
let configJsonPacket = new blobToJson("/st/config.json", "/end/config.json", "config.json", onParced()); let configJsonPacket = new blobToJson("/st/config.json", "/end/config.json", "config.json");
let itemsJsonPacket = new blobToJson("/st/items.json", "/end/items.json", "items.json", onParced()); let itemsJsonPacket = new blobToJson("/st/items.json", "/end/items.json", "items.json");
let widgetsJsonPacket = new blobToJson("/st/widgets.json", "/end/widgets.json", "widgets.json", onParced()); let widgetsJsonPacket = new blobToJson("/st/widgets.json", "/end/widgets.json", "widgets.json");
let scenarioJsonPacket = new blobToJson("/st/scenario.json", "/end/scenario.json", "scenario.json", onParced()); let scenarioJsonPacket = new blobToJson("/st/scenario.json", "/end/scenario.json", "scenario.json");
router.subscribe(handleNavigation); router.subscribe(handleNavigation);
@@ -355,7 +353,7 @@
let data = event.data; let data = event.data;
if (ws === selectedWs) { if (ws === selectedWs) {
//сборщик deviceList сообщений //сборщик deviceList сообщений
if (data.includes('devicelist":"')) { if (data.includes('devicelist_":"')) {
if (IsJsonParse(data)) { if (IsJsonParse(data)) {
incDeviceList = JSON.parse(data); incDeviceList = JSON.parse(data);
incDeviceList = incDeviceList; incDeviceList = incDeviceList;
@@ -368,41 +366,41 @@
firstDevListRequest = false; firstDevListRequest = false;
deviceList = deviceList; deviceList = deviceList;
parcedFlags.deviceListJson = true; parcedFlags.deviceListJson = true;
if (debug) console.log("✔", "deviceList parced"); if (debug) console.log("✔ S", "deviceList parced");
onParced(); onParced();
whenDeviceListWasUpdated(); whenDeviceListWasUpdated();
connectToAllDevices(); connectToAllDevices();
} }
} }
//сборщик ssidJson сообщений //сборщик ssidJson сообщений
if (data.includes('ssid":"')) { if (data.includes('ssids_":"')) {
if (IsJsonParse(data)) { if (IsJsonParse(data)) {
ssidJson = JSON.parse(data); ssidJson = JSON.parse(data);
ssidJson = ssidJson; ssidJson = ssidJson;
if (debug) console.log("✔", "ssidJson parced"); if (debug) console.log("✔ S", "ssidJson parced");
parcedFlags.ssidJson = true; parcedFlags.ssidJson = true;
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);
errorsJson = errorsJson; errorsJson = errorsJson;
parcedFlags.errorsJson = true; parcedFlags.errorsJson = true;
if (debug) console.log("✔", "errorsJson parced"); if (debug) console.log("✔ S", "errorsJson parced");
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);
settingsJson = settingsJson; settingsJson = settingsJson;
//sortingLayout(); //sortingLayout();
parcedFlags.settingsJson = true; parcedFlags.settingsJson = true;
if (debug) console.log("✔", "settingsJson parced"); if (debug) console.log("✔ S", "settingsJson parced");
onParced(); onParced();
} }
} }
@@ -420,7 +418,7 @@
} }
//прием от всех устройств //прием от всех устройств
//сборщик paramsJson сообщений //сборщик paramsJson сообщений
if (data.includes('"params":"')) { if (data.includes('"params_":"')) {
if (IsJsonParse(data)) { if (IsJsonParse(data)) {
//как добавить в объект json новый объект //как добавить в объект json новый объект
paramsJson = { paramsJson = {
@@ -435,10 +433,10 @@
} }
//сборщик layoutJson пакетов //сборщик layoutJson пакетов
if (data === "/st/layout.json") { if (data === "/st/layout.json") {
layoutJsonFlag = true; layoutJsonFlag[ws] = true;
} }
if (data === "/end/layout.json") { if (data === "/end/layout.json") {
layoutJsonFlag = false; layoutJsonFlag[ws] = false;
console.log("[1]", ws, "blob package received"); console.log("[1]", ws, "blob package received");
//как только прилетел весь блоб мы начнем его читать ридером и заодно запросим json-ы всех параметров //как только прилетел весь блоб мы начнем его читать ридером и заодно запросим json-ы всех параметров
combineLayoutsInOne(ws); combineLayoutsInOne(ws);
@@ -448,12 +446,12 @@
if (data.includes("/st/chart.json|")) { if (data.includes("/st/chart.json|")) {
//let topic = deleteBeforeDelimiter(data, "|"); //let topic = deleteBeforeDelimiter(data, "|");
//console.log("[i] chart", topic); //console.log("[i] chart", topic);
chartJsonFlag = true; chartJsonFlag[ws] = true;
} }
if (data.includes("/end/chart.json|")) { if (data.includes("/end/chart.json|")) {
let topic = deleteBeforeDelimiter(data, "|"); let topic = deleteBeforeDelimiter(data, "|");
console.log("[i] chart", topic); console.log("[i] chart", topic);
chartJsonFlag = false; chartJsonFlag[ws] = false;
var bb = chartJsonBlob.getBlob(); var bb = chartJsonBlob.getBlob();
let chartJsonReader = new FileReader(); let chartJsonReader = new FileReader();
chartJsonReader.readAsText(bb); chartJsonReader.readAsText(bb);
@@ -480,7 +478,7 @@
//if (debug) console.log("[i] status (arr)", ws); //if (debug) console.log("[i] status (arr)", ws);
} else { } else {
updateWidget(statusJson); updateWidget(statusJson);
if (debug) console.log("[i] status (dgt)", ws, JSON.stringify(statusJson)); //if (debug) console.log("[i] status (dgt)", ws, JSON.stringify(statusJson));
} }
} }
} }
@@ -495,10 +493,10 @@
if (scenarioJsonPacket) scenarioJsonPacket.append(event.data); if (scenarioJsonPacket) scenarioJsonPacket.append(event.data);
} }
//принимаем данные от всех устройств //принимаем данные от всех устройств
if (chartJsonFlag) chartJsonBlob.append(event.data); if (chartJsonFlag[ws]) chartJsonBlob.append(event.data);
if (!layoutJsonBlobArray[ws]) layoutJsonBlobArray[ws] = new MyBlobBuilder(); if (!layoutJsonBlobArray[ws]) layoutJsonBlobArray[ws] = new MyBlobBuilder();
if (layoutJsonFlag) layoutJsonBlobArray[ws].append(event.data); if (layoutJsonFlag[ws]) layoutJsonBlobArray[ws].append(event.data);
} }
}); });
socket[ws].addEventListener("close", (event) => { socket[ws].addEventListener("close", (event) => {
@@ -520,28 +518,29 @@
if (debug) console.log("✔", "dashboard data received"); if (debug) console.log("✔", "dashboard data received");
pageReady.dash = true; pageReady.dash = true;
} }
if (currentPageName === "/config|") { if (currentPageName === "/config|" && itemsJsonPacket.isParced && widgetsJsonPacket.isParced && configJsonPacket.isParced && scenarioJsonPacket.isParced && parcedFlags.settingsJson) {
if (configJsonPacket.isParced && itemsJsonPacket.isParced && widgetsJsonPacket.isParced && scenarioJsonPacket.isParced) { clearParcedFlags();
clearParcedFlags();
configJson = configJsonPacket.getData; itemsJson = itemsJsonPacket.getData;
itemsJson = itemsJsonPacket.getData; widgetsJson = widgetsJsonPacket.getData;
widgetsJson = widgetsJsonPacket.getData; configJson = configJsonPacket.getData;
scenarioJson = scenarioJsonPacket.getData; scenarioJson = scenarioJsonPacket.getData;
if (debug) console.log("✔✔", "config data parced");
pageReady.config = true; pageReady.config = true;
}
if (debug) console.log("✔✔", "config page parced");
} }
if (currentPageName === "/connection|") { if (currentPageName === "/connection|") {
if (parcedFlags.ssidJson && parcedFlags.settingsJson && parcedFlags.errorsJson) { if (parcedFlags.ssidJson && parcedFlags.settingsJson && parcedFlags.errorsJson) {
clearParcedFlags(); clearParcedFlags();
if (debug) console.log("✔✔", "connection data parced"); if (debug) console.log("✔✔", "connection page parced");
pageReady.connection = true; pageReady.connection = true;
} }
} }
if (currentPageName === "/list|") { if (currentPageName === "/list|") {
if (parcedFlags.deviceListJson) { if (parcedFlags.deviceListJson) {
clearParcedFlags(); clearParcedFlags();
if (debug) console.log("✔✔", "list data parced"); if (debug) console.log("✔✔", "list page parced");
pageReady.list = true; pageReady.list = true;
} }
} }
@@ -549,18 +548,16 @@
if (parcedFlags.errorsJson && parcedFlags.settingsJson) { if (parcedFlags.errorsJson && parcedFlags.settingsJson) {
clearParcedFlags(); clearParcedFlags();
getVersionsList(); getVersionsList();
if (debug) console.log("✔✔", "system data parced"); if (debug) console.log("✔✔", "system page parced");
pageReady.system = true; pageReady.system = true;
} }
} }
if (currentPageName === "/dev|") { if (currentPageName === "/dev|" && parcedFlags.errorsJson && parcedFlags.settingsJson && configJsonPacket.isParced && itemsJsonPacket.isParced) {
if (parcedFlags.errorsJson && parcedFlags.settingsJson && configJsonPacket.isParced && itemsJsonPacket.isParced && parcedFlags.paramsJson) { clearParcedFlags();
clearParcedFlags(); configJson = configJsonPacket.getData;
configJson = configJsonPacket.getData; itemsJson = itemsJsonPacket.getData;
itemsJson = itemsJsonPacket.getData; if (debug) console.log("✔✔", "dev page parced");
if (debug) console.log("✔✔", "dev data parced"); pageReady.dev = true;
pageReady.dev = true;
}
} }
} }
@@ -820,6 +817,9 @@
function clearParcedFlags() { function clearParcedFlags() {
//chartJsonParced = false; //chartJsonParced = false;
//chartJsonFlag = {};
//layoutJsonFlag = {};
for (const [key, value] of Object.entries(parcedFlags)) { for (const [key, value] of Object.entries(parcedFlags)) {
parcedFlags[key] = false; parcedFlags[key] = false;
} }
@@ -1237,9 +1237,6 @@
<li> <li>
<a class="menu__item" href="/dev">{"Разработчик"}</a> <a class="menu__item" href="/dev">{"Разработчик"}</a>
</li> </li>
<li>
<a class="menu__item" href="/files">{"Файлы"}</a>
</li>
{/if} {/if}
</ul> </ul>
</nav> </nav>
@@ -1269,9 +1266,6 @@
<Route path="/dev"> <Route path="/dev">
<DevPage show={pageReady.dev} layoutJson={layoutJson} errorsJson={errorsJson} settingsJson={settingsJson} configJson={configJson} itemsJson={itemsJson} paramsJson={paramsJson} /> <DevPage show={pageReady.dev} layoutJson={layoutJson} errorsJson={errorsJson} settingsJson={settingsJson} configJson={configJson} itemsJson={itemsJson} paramsJson={paramsJson} />
</Route> </Route>
<Route path="/files">
<FilesPage show={systemReady} />
</Route>
{/if} {/if}
{/if} {/if}
</div> </div>

View File

@@ -1,5 +1,6 @@
<script> <script>
import Card from "../components/Card.svelte"; import Card from "../components/Card.svelte";
import Alarm from "../components/Alarm.svelte";
const syntaxHighlight = (json) => { const syntaxHighlight = (json) => {
try { try {
@@ -14,31 +15,37 @@
return json; return json;
}; };
export let layoutJson; export let show;
export let errorsJson; export let errorsJson;
export let settingsJson; export let settingsJson;
export let configJson; export let configJson;
export let itemsJson; export let itemsJson;
export let paramsJson; export let paramsJson;
export let layoutJson;
</script> </script>
<div class="grd-3col1"> {#if show}
<Card title="layoutJson"> <div class="grd-3col1">
<textarea on:input={layoutJson} rows="23" class="w-full" id="1">{syntaxHighlight(JSON.stringify(layoutJson))}</textarea> <Card title="layoutJson">
</Card> <textarea on:input={layoutJson} rows="23" class="w-full" id="1">{syntaxHighlight(JSON.stringify(layoutJson))}</textarea>
<Card title="errorsJson"> </Card>
<textarea on:input={errorsJson} rows="23" class="w-full" id="2">{syntaxHighlight(JSON.stringify(errorsJson))}</textarea> <Card title="paramsJson">
</Card> <textarea on:input={paramsJson} rows="23" class="w-full" id="4">{syntaxHighlight(JSON.stringify(paramsJson))}</textarea>
<Card title="settingsJson"> </Card>
<textarea on:input={settingsJson} rows="23" class="w-full" id="3">{syntaxHighlight(JSON.stringify(settingsJson))}</textarea> <Card title="errorsJson">
</Card> <textarea on:input={errorsJson} rows="23" class="w-full" id="2">{syntaxHighlight(JSON.stringify(errorsJson))}</textarea>
<Card title="configJson"> </Card>
<textarea on:input={configJson} rows="23" class="w-full" id="3">{syntaxHighlight(JSON.stringify(configJson))}</textarea> <Card title="settingsJson">
</Card> <textarea on:input={settingsJson} rows="23" class="w-full" id="3">{syntaxHighlight(JSON.stringify(settingsJson))}</textarea>
<Card title="itemsJson"> </Card>
<textarea on:input={itemsJson} rows="23" class="w-full" id="4">{syntaxHighlight(JSON.stringify(itemsJson))}</textarea> <Card title="configJson">
</Card> <textarea on:input={configJson} rows="23" class="w-full" id="3">{syntaxHighlight(JSON.stringify(configJson))}</textarea>
<Card title="paramsJson"> </Card>
<textarea on:input={paramsJson} rows="23" class="w-full" id="4">{syntaxHighlight(JSON.stringify(paramsJson))}</textarea> <Card title="itemsJson">
</Card> <textarea on:input={itemsJson} rows="23" class="w-full" id="4">{syntaxHighlight(JSON.stringify(itemsJson))}</textarea>
</div> </Card>
</div>
{:else}
<Alarm title="Загрузка..." />
{/if}

View File

@@ -1,9 +0,0 @@
<script>
import Card from "../components/Card.svelte";
</script>
<div class="grd-3col1">
<Card title="layoutJson">
<p>123</p>
</Card>
</div>

View File

@@ -42,6 +42,13 @@
prevStatus = widget.status; prevStatus = widget.status;
for (let i = 0; i < widget.status.length; i++) { for (let i = 0; i < widget.status.length; i++) {
//if (i === 0 && widget.status[i].x === 0 && widget.status[i].y1 === 0) {
// clearCart();
// widget.status = [];
// console.log("[i]", "clear cart data");
// return;
//}
if (i === 0) { if (i === 0) {
labels[i] = getDDMM(widget.status[i].x); labels[i] = getDDMM(widget.status[i].x);
} else { } else {
@@ -50,14 +57,6 @@
values[i] = [widget.status[i].y1]; values[i] = [widget.status[i].y1];
} }
//console.log("[i]", JSON.stringify(widget.status));
if (widget.maxCount == 0 || widget.maxCount == "0") {
clearCart();
//console.log("[i]", "clear cart data");
return;
}
datachart = { datachart = {
labels: labels, labels: labels,
datasets: [ datasets: [