много изменеий

This commit is contained in:
Dmitry Borisenko
2022-02-16 00:11:57 +01:00
parent c9753fb9a7
commit 68d19ec625
7 changed files with 43 additions and 39 deletions

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -4,9 +4,9 @@
<meta charset='utf-8'> <meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'> <meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Svelte app</title> <title>IoT Manager</title>
<link rel='icon' type='image/png' href='/favicon.png'> <link rel='icon' type='image/png' href='/favicon.ico'>
<link rel='stylesheet' href='/build/bundle.css'> <link rel='stylesheet' href='/build/bundle.css'>
<script defer src='/build/bundle.js'></script> <script defer src='/build/bundle.js'></script>

View File

@@ -23,7 +23,7 @@
//****************************************************constants section*********************************************************/ //****************************************************constants section*********************************************************/
//******************************************************************************************************************************/ //******************************************************************************************************************************/
let version = 403; let version = 404;
let debug = true; let debug = true;
let LOG_MAX_MESSAGES = 10; let LOG_MAX_MESSAGES = 10;
let reconnectTimeout = 20000; let reconnectTimeout = 20000;
@@ -33,8 +33,8 @@
//****************************************************variable section**********************************************************/ //****************************************************variable section**********************************************************/
//******************************************************************************************************************************/ //******************************************************************************************************************************/
let myip = document.location.hostname; //let myip = document.location.hostname;
//let myip = "192.168.88.224"; let myip = "192.168.88.224";
//Flags //Flags
let firstDevListRequest = true; let firstDevListRequest = true;
@@ -140,7 +140,6 @@
var widgetsJsonBlob = new MyBlobBuilder(); var widgetsJsonBlob = new MyBlobBuilder();
var itemsJsonBlob = new MyBlobBuilder(); var itemsJsonBlob = new MyBlobBuilder();
var layoutJsonBlob = new MyBlobBuilder(); var layoutJsonBlob = new MyBlobBuilder();
var settingsJsonBlob = new MyBlobBuilder();
//var blobArr = new MyBlobBuilder()[10]; //var blobArr = new MyBlobBuilder()[10];
@@ -255,7 +254,8 @@
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 (debug) console.log("[i]", getIP(ws), "msg received", data); //
//принимаем данные только для выбранного устройства
//STRING============================================================
if (ws === selectedWs) { if (ws === selectedWs) {
//сборщик deviceList сообщений====================================== //сборщик deviceList сообщений======================================
if (data.includes("devicelist")) { if (data.includes("devicelist")) {
@@ -289,7 +289,6 @@
} }
} }
//сборщик paramsJson сообщений====================================== //сборщик paramsJson сообщений======================================
//if (ws === 0) {
if (data.includes("params")) { if (data.includes("params")) {
if (IsJsonParse(data)) { if (IsJsonParse(data)) {
paramsJson = JSON.parse(data); paramsJson = JSON.parse(data);
@@ -298,7 +297,6 @@
onParced("params"); onParced("params");
} }
} }
//}
//сборщик ssidJson сообщений====================================== //сборщик ssidJson сообщений======================================
if (data.includes("ssid")) { if (data.includes("ssid")) {
if (IsJsonParse(data)) { if (IsJsonParse(data)) {
@@ -319,6 +317,19 @@
onParced("errors"); onParced("errors");
} }
} }
//сборщик settingsJson сообщений======================================
if (data.includes("settings")) {
if (IsJsonParse(data)) {
settingsJson = JSON.parse(data);
settingsJson = settingsJson;
wigetsUpdate();
settingsJsonParced = true;
if (debug) console.log("✔", "settingsJson json parced");
onParced("settings");
}
}
//BLOB==============================================================
//сборщик configJson пакетов======================================== //сборщик configJson пакетов========================================
if (data === "/st/config.json") { if (data === "/st/config.json") {
configJsonFlag = true; configJsonFlag = true;
@@ -380,7 +391,6 @@
}; };
} }
//сборщик layoutJson пакетов======================================== //сборщик layoutJson пакетов========================================
//if (ws === 0) {
if (data === "/st/layout.json") { if (data === "/st/layout.json") {
layoutJsonFlag = true; layoutJsonFlag = true;
} }
@@ -401,29 +411,6 @@
} }
}; };
} }
//}
//сборщик settingsJson пакетов========================================
if (data === "/st/settings.json") {
settingsJsonFlag = true;
}
if (data === "/end/settings.json") {
settingsJsonFlag = false;
var bb = settingsJsonBlob.getBlob();
let settingsJsonReader = new FileReader();
settingsJsonReader.readAsText(bb);
settingsJsonReader.onload = () => {
let settingsJsonResult = settingsJsonReader.result;
if (IsJsonParse(settingsJsonResult)) {
settingsJson = JSON.parse(settingsJsonResult);
settingsJson = settingsJson;
wigetsUpdate();
//updateThisDeviceInList();
settingsJsonParced = true;
if (debug) console.log("✔", "settingsJson parced");
onParced("settings");
}
};
}
} }
} }
if (event.data instanceof Blob) { if (event.data instanceof Blob) {
@@ -433,7 +420,6 @@
if (widgetsJsonFlag) widgetsJsonBlob.append(event.data); if (widgetsJsonFlag) widgetsJsonBlob.append(event.data);
if (itemsJsonFlag) itemsJsonBlob.append(event.data); if (itemsJsonFlag) itemsJsonBlob.append(event.data);
if (layoutJsonFlag) layoutJsonBlob.append(event.data); if (layoutJsonFlag) layoutJsonBlob.append(event.data);
if (settingsJsonFlag) settingsJsonBlob.append(event.data);
} }
} }
}); });
@@ -578,7 +564,6 @@
layoutJsonBlob.clear(); layoutJsonBlob.clear();
settingsJson = {}; settingsJson = {};
settingsJsonBlob.clear();
errorsJson = {}; errorsJson = {};
@@ -1003,7 +988,7 @@
<DashboardPage show={dashReady} layoutJson={layoutJson} pages={pages} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} /> <DashboardPage show={dashReady} layoutJson={layoutJson} pages={pages} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} />
</Route> </Route>
<Route path="/config"> <Route path="/config">
<ConfigPage show={configReady} configJson={configJson} widgetsJson={widgetsJson} itemsJson={itemsJson} saveConfig={() => saveConfig()} /> <ConfigPage show={configReady} configJson={configJson} widgetsJson={widgetsJson} itemsJson={itemsJson} saveConfig={() => saveConfig()} rebootEsp={() => rebootEsp()} />
</Route> </Route>
<Route path="/connection"> <Route path="/connection">
<ConnectionPage show={connectionReady} rebootEsp={() => rebootEsp()} ssidClick={() => ssidClick()} saveSett={() => saveSett()} saveMqtt={() => saveMqtt()} settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} /> <ConnectionPage show={connectionReady} rebootEsp={() => rebootEsp()} ssidClick={() => ssidClick()} saveSett={() => saveSett()} saveMqtt={() => saveMqtt()} settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} />
@@ -1055,7 +1040,7 @@
} }
/*=============================================card and items inside===============================================*/ /*=============================================card and items inside===============================================*/
.crd-itm-psn { .crd-itm-psn {
@apply flex mb-3 h-8 items-center; @apply flex mb-2 h-8 items-center;
} }
.wgt-dscr-stl { .wgt-dscr-stl {
@apply pr-4 text-gray-500 font-bold; @apply pr-4 text-gray-500 font-bold;

View File

@@ -14,6 +14,7 @@
let debug = true; let debug = true;
export let saveConfig = () => {}; export let saveConfig = () => {};
export let rebootEsp = () => {};
let hideAllSubParams = true; let hideAllSubParams = true;
@@ -113,7 +114,8 @@
{/each} {/each}
</tbody> </tbody>
</table> </table>
<button class="btn-lg" on:click={() => saveConfig()}>{"Сохранить"}</button> <button class="btn-lg mb-2" on:click={() => saveConfig()}>{"Сохранить"}</button>
<button class="btn-lg mb-2" on:click={() => rebootEsp()}>{"Перезагрузить"}</button>
</Card> </Card>
</div> </div>
{:else} {:else}

View File

@@ -66,7 +66,7 @@
<button class="btn-lg" on:click={(msg) => sendToAllDevices("/reboot|")}>{"Перезагрузить все устройства"}</button> <button class="btn-lg" on:click={(msg) => sendToAllDevices("/reboot|")}>{"Перезагрузить все устройства"}</button>
</Card> </Card>
<Alarm> <Alarm>
<p>Список устройств будет обновляться автоматически. Подключенные к одному роутеру устройства будут появляться в списке в течении двух минут. Ручное добавление сделано в целях проверки для разработчика.</p> <p>Прошитые прошивкой IoT Manager устройства появятся в списке автоматически в течении минуты. Для обновления названий устройств нужно обновить страницу. Устройства должны быть подключены к одному wifi роутеру.</p>
</Alarm> </Alarm>
</div> </div>
{:else} {:else}

View File

@@ -121,6 +121,7 @@
import Card from "../components/Card.svelte"; import Card from "../components/Card.svelte";
import Alarm from "../components/Alarm.svelte"; import Alarm from "../components/Alarm.svelte";
export let version; export let version;
export let errorsJson; export let errorsJson;
export let rebootEsp = () => {}; export let rebootEsp = () => {};
@@ -132,6 +133,14 @@
{#if show} {#if show}
<div class="grd-2col1"> <div class="grd-2col1">
<Card title="Системная информация"> <Card title="Системная информация">
<div class="crd-itm-psn">
<div class="w-3/4">
<p class="wgt-dscr-stl">Название прошивки</p>
</div>
<div class="flex justify-center w-1/4">
<p class="text-gray-500 font-bold">{errorsJson.bn}</p>
</div>
</div>
<div class="crd-itm-psn"> <div class="crd-itm-psn">
<div class="w-3/4"> <div class="w-3/4">
<p class="wgt-dscr-stl">Версия прошивки</p> <p class="wgt-dscr-stl">Версия прошивки</p>
@@ -200,6 +209,14 @@
<p class="text-green-500 font-bold">{errorsJson.heap}</p> <p class="text-green-500 font-bold">{errorsJson.heap}</p>
</div> </div>
</div> </div>
<div class="crd-itm-psn">
<div class="w-3/4">
<p class="wgt-dscr-stl">Количество записей на flash</p>
</div>
<div class="flex justify-center w-1/4">
<p class="text-green-500 font-bold">{errorsJson.fl}</p>
</div>
</div>
</Card> </Card>
<Card title="Системные ошибки"> <Card title="Системные ошибки">
<div class="grd-2col1"> <div class="grd-2col1">