mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 15:02:21 +03:00
системная информация
This commit is contained in:
@@ -2,5 +2,6 @@ module.exports = {
|
|||||||
plugins: {
|
plugins: {
|
||||||
tailwindcss: {},
|
tailwindcss: {},
|
||||||
autoprefixer: {},
|
autoprefixer: {},
|
||||||
|
...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,15 +12,18 @@
|
|||||||
import DashboardPage from "./pages/Dashboard.svelte";
|
import DashboardPage from "./pages/Dashboard.svelte";
|
||||||
import ConfigPage from "./pages/Config.svelte";
|
import ConfigPage from "./pages/Config.svelte";
|
||||||
import ConnectionPage from "./pages/Connection.svelte";
|
import ConnectionPage from "./pages/Connection.svelte";
|
||||||
|
import ListPage from "./pages/List.svelte";
|
||||||
|
import SystemPage from "./pages/System.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 ListPage from "./pages/List.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";
|
||||||
|
|
||||||
//****************************************************constants section*********************************************************/
|
//****************************************************constants section*********************************************************/
|
||||||
//******************************************************************************************************************************/
|
//******************************************************************************************************************************/
|
||||||
|
let version = 400;
|
||||||
let debug = true;
|
let debug = true;
|
||||||
let LOG_MAX_MESSAGES = 10;
|
let LOG_MAX_MESSAGES = 10;
|
||||||
let reconnectTimeout = 30000;
|
let reconnectTimeout = 30000;
|
||||||
@@ -238,6 +241,7 @@
|
|||||||
let statusJson = JSON.parse(data);
|
let statusJson = JSON.parse(data);
|
||||||
udatelayoutJson(statusJson);
|
udatelayoutJson(statusJson);
|
||||||
wigetsUpdate();
|
wigetsUpdate();
|
||||||
|
if (debug) console.log(statusJson);
|
||||||
if (debug) console.log("✔", "statusJson parced");
|
if (debug) console.log("✔", "statusJson parced");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -281,7 +285,6 @@
|
|||||||
delete errorsJson.errors;
|
delete errorsJson.errors;
|
||||||
errorsJson = errorsJson;
|
errorsJson = errorsJson;
|
||||||
errorsJsonParced = true;
|
errorsJsonParced = true;
|
||||||
handleErrors();
|
|
||||||
if (debug) console.log("✔", "errorsJson json parced");
|
if (debug) console.log("✔", "errorsJson json parced");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -552,6 +555,7 @@
|
|||||||
|
|
||||||
function wigetsUpdate() {
|
function wigetsUpdate() {
|
||||||
findNewPage();
|
findNewPage();
|
||||||
|
layoutJson = layoutJson;
|
||||||
}
|
}
|
||||||
|
|
||||||
//***********************************************************logging******************************************************************/
|
//***********************************************************logging******************************************************************/
|
||||||
@@ -769,14 +773,6 @@
|
|||||||
wsSendMsg(selectedWs, "/scan");
|
wsSendMsg(selectedWs, "/scan");
|
||||||
}
|
}
|
||||||
|
|
||||||
let wsClientsError = false;
|
|
||||||
|
|
||||||
function handleErrors() {
|
|
||||||
if (errorsJson.wscle === 1) {
|
|
||||||
wsClientsError = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let rebootingInProgress = false;
|
let rebootingInProgress = false;
|
||||||
const myTimeout = undefined;
|
const myTimeout = undefined;
|
||||||
|
|
||||||
@@ -803,9 +799,9 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex flex-col h-screen bg-gray-50">
|
<div class="flex flex-col h-screen bg-gray-50">
|
||||||
{#if wsClientsError}
|
<!--{#if errorsJson.wscle === 1}-->
|
||||||
<Modal header={"Ошибка"} text={"Слишком много клиентов было открыто. Допускается не более четырех. Для исчезновения ошибки перезагрузите устройство"} />
|
<!--<Modal header={"Ошибка web sockets"} text={"Слишком много клиентов было открыто. Допускается не более четырех. Для исчезновения ошибки перезагрузите устройство"} />-->
|
||||||
{/if}
|
<!--{/if}-->
|
||||||
{#if rebootingInProgress}
|
{#if rebootingInProgress}
|
||||||
<Progress />
|
<Progress />
|
||||||
{/if}
|
{/if}
|
||||||
@@ -842,18 +838,21 @@
|
|||||||
<li>
|
<li>
|
||||||
<a class="menu__item" href="/connection">{"Подключение"}</a>
|
<a class="menu__item" href="/connection">{"Подключение"}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a class="menu__item" href="/utilities">{"Утилиты"}</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="menu__item" href="/log">{"Лог"}</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="menu__item" href="/list">{"Устройства"}</a>
|
<a class="menu__item" href="/list">{"Устройства"}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="menu__item" href="/about">{"О проекте"}</a>
|
<a class="menu__item" href="/system">{"Системные"}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<!--<li>-->
|
||||||
|
<!--<a class="menu__item" href="/utilities">{"Утилиты"}</a>-->
|
||||||
|
<!--</li>-->
|
||||||
|
<!--<li>-->
|
||||||
|
<!--<a class="menu__item" href="/log">{"Лог"}</a>-->
|
||||||
|
<!--</li>-->
|
||||||
|
<!--<li>-->
|
||||||
|
<!--<a class="menu__item" href="/about">{"О проекте"}</a>-->
|
||||||
|
<!--</li>-->
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -872,15 +871,19 @@
|
|||||||
<Route path="/connection">
|
<Route path="/connection">
|
||||||
<ConnectionPage settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} rebootEsp={() => rebootEsp()} ssidDropdownClick={() => ssidDropdownClick()} saveSettings={() => saveSettings()} />
|
<ConnectionPage settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} rebootEsp={() => rebootEsp()} ssidDropdownClick={() => ssidDropdownClick()} saveSettings={() => saveSettings()} />
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="/utilities">
|
<Route path="/system">
|
||||||
<UtilitiesPage />
|
<SystemPage settingsJson={settingsJson} errorsJson={errorsJson} rebootEsp={() => rebootEsp()} version={version} />
|
||||||
</Route>
|
|
||||||
<Route path="/log">
|
|
||||||
<LogPage coreMessages={coreMessages} />
|
|
||||||
</Route>
|
|
||||||
<Route path="/about">
|
|
||||||
<AboutPage wigetsUpdate={wigetsUpdate} layoutJson={layoutJson} showModal={() => showModal()} syntaxHighlight={(json) => syntaxHighlight(json)} />
|
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
|
<!--<Route path="/utilities">-->
|
||||||
|
<!--<UtilitiesPage />-->
|
||||||
|
<!--</Route>-->
|
||||||
|
<!--<Route path="/log">-->
|
||||||
|
<!--<LogPage coreMessages={coreMessages} />-->
|
||||||
|
<!--</Route>-->
|
||||||
|
<!--<Route path="/about">-->
|
||||||
|
<!--<AboutPage wigetsUpdate={wigetsUpdate} layoutJson={layoutJson} showModal={() => showModal()} syntaxHighlight={(json) => syntaxHighlight(json)} />-->
|
||||||
|
<!--</Route>-->
|
||||||
{/if}
|
{/if}
|
||||||
<Route path="/list">
|
<Route path="/list">
|
||||||
<ListPage deviceList={deviceList} showInput={showInput} devListSave={() => devListSave()} newDevice={newDevice} />
|
<ListPage deviceList={deviceList} showInput={showInput} devListSave={() => devListSave()} newDevice={newDevice} />
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<div class="grd-1col1">
|
<div class="grd-1col1">
|
||||||
<Card title="Дополнительные опции">
|
<Card>
|
||||||
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
|
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
96
src/pages/System.svelte
Normal file
96
src/pages/System.svelte
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<script>
|
||||||
|
import Card from "../components/Card.svelte";
|
||||||
|
import Alarm from "../components/Alarm.svelte";
|
||||||
|
export let version;
|
||||||
|
export let errorsJson;
|
||||||
|
export let rebootEsp = () => {};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="grd-2col1">
|
||||||
|
<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.bver}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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">{version}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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.upt}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="crd-itm-psn">
|
||||||
|
<div class="w-3/4">
|
||||||
|
<p class="wgt-dscr-stl">Качество WiFi сигнала</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-center w-1/4 text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words">
|
||||||
|
{#if errorsJson.rssi === 0}
|
||||||
|
<p class="text-red-500 font-bold">не подключено</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 1}
|
||||||
|
<p class="text-red-500 font-bold">нет сигнала</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 2}
|
||||||
|
<p class="text-red-500 font-bold">очень низкий</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 3}
|
||||||
|
<p class="text-yellow-500 font-bold">низкий</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 4}
|
||||||
|
<p class="text-yellow-500 font-bold">хороший</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 5}
|
||||||
|
<p class="text-green-500 font-bold">очень хороший</p>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi === 6}
|
||||||
|
<p class="text-green-500 font-bold">отличный</p>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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-green-500 font-bold">{errorsJson.heap}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
<Card title="Системные ошибки">
|
||||||
|
<div class="grd-3col1">
|
||||||
|
{#if errorsJson.wscle === 1}
|
||||||
|
<Alarm title={"Ошибка web sockets"}>
|
||||||
|
<p>Слишком много клиентов было открыто. Допускается не более четырех. Для исчезновения ошибки перезагрузите устройство</p>
|
||||||
|
</Alarm>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.bver != version}
|
||||||
|
<Alarm title={"Ошибка версии"}>
|
||||||
|
<p>Версия файловой системы не совпадает с версией прошивки</p>
|
||||||
|
</Alarm>
|
||||||
|
{/if}
|
||||||
|
{#if errorsJson.rssi < 3 && errorsJson.rssi > 0}
|
||||||
|
<Alarm title={"WiFi"}>
|
||||||
|
<p>Уровень сигнала WiFi предельно низкий, веб интерфейс может работать со сбоями и потерей данных, рекомендуется переместить устройство ближе к роутеру</p>
|
||||||
|
</Alarm>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
<div class="grd-1col1">
|
||||||
|
<Card>
|
||||||
|
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user