From a3e46b5e919e00676dd6af5ab1cc4fbd71e99bd5 Mon Sep 17 00:00:00 2001 From: IoT Manager <67171972+IoTManagerProject@users.noreply.github.com> Date: Wed, 4 Oct 2023 18:56:24 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B1=D0=BE=D1=80=D0=B0=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.svelte | 203 +++++++++++---------------------------- src/pages/Profile.svelte | 113 ++++++++++++++++++++++ 2 files changed, 167 insertions(+), 149 deletions(-) create mode 100644 src/pages/Profile.svelte diff --git a/src/App.svelte b/src/App.svelte index 9787d30..82ac2ce 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -19,15 +19,16 @@ import Alarm from "./components/Alarm.svelte"; import Progress from "./components/Progress.svelte"; - import Card from "./components/Card.svelte"; + //import Card from "./components/Card.svelte"; - import ModalPass from "./components/ModalPass.svelte"; + //import ModalPass from "./components/ModalPass.svelte"; import DashboardPage from "./pages/Dashboard.svelte"; import ConfigPage from "./pages/Config.svelte"; import ConnectionPage from "./pages/Connection.svelte"; import ListPage from "./pages/List.svelte"; import SystemPage from "./pages/System.svelte"; - import Login from "./pages/Login.svelte"; + //import Login from "./pages/Login.svelte"; + import Profile from "./pages/Profile.svelte"; import { t, locale, locales } from "./i18n"; //import UtilitiesPage from "./pages/Utilities.svelte"; @@ -57,7 +58,7 @@ //****************************************************variable section**********************************************************/ //******************************************************************************************************************************/ let myip = document.location.hostname; - if (devMode) myip = "192.168.1.247"; + if (devMode) myip = "192.168.1.232"; //Flags let firstDevListRequest = true; @@ -92,6 +93,7 @@ let settingsJson = {}; let ssidJson = {}; let errorsJson = {}; + let myProfileJson = {}; let deviceList = []; deviceList = [ { @@ -119,6 +121,7 @@ errorsJson: false, statusJson: false, paramsJson: false, + myProfileJson: false, }; //=============================================== @@ -196,12 +199,12 @@ } } - function closeAllConnection() { - let s; - for (s in socket) { - socket[s].close(); - } - } + //function closeAllConnection() { + // let s; + // for (s in socket) { + // socket[s].close(); + // } + //} function printAllCreatedWs() { if (socket) { @@ -439,6 +442,19 @@ if (blobDebug) console.log("[e]", "incDeviceList parse error"); } } + //приход профиля + if (header === "prfile") { + let out = {}; + if (await getPayloadAsJson(blob, size, out)) { + myProfileJson = out.json; + parsed.myProfileJson = true; + if (blobDebug) console.log("[✔]", "myProfileJson: ", myProfileJson); + } else { + parsed.myProfileJson = false; + if (blobDebug) console.log("[e]", "myProfileJson parse error"); + } + } + if (header === "corelg") { let txt = await getPayloadAsTxt(blob, size); //console.log("[--]", ws, txt); @@ -597,6 +613,12 @@ if (debug) console.log("✔✔", "system page parced"); pageReady.system = true; } + + if (currentPageName === "/profile|" && parsed.myProfileJson) { + clearParcedFlags(); + if (debug) console.log("✔✔", "profile page parced"); + pageReady.profile = true; + } } async function initDevList() { @@ -1071,67 +1093,6 @@ } } - function updateThisDeviceInList() { - for (let i = 0; i < deviceList.length; i++) { - let device = deviceList[i]; - if (device.ip === myip) { - device.name = settingsJson.name; - device.id = settingsJson.id; - settingsJson = settingsJson; - break; - } - } - } - - //****************************************************************json******************************************************************/ - function getJsonObject(array, number) { - let num = 0; - let out = {}; - array.forEach((object) => { - if (num === number) { - out = object; - } - num++; - }); - return out; - } - - const syntaxHighlight = (json) => { - try { - json = JSON.stringify(JSON.parse(json), null, 4); - } catch (e) { - return json; - } - json = json.replace(/&/g, "&").replace(//g, ">"); - json = json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { - return match; - }); - return json; - }; - - function IsJsonParse(str) { - try { - JSON.parse(str); - } catch (e) { - if (debug) console.log("[e]", "json parce error: ", str); - return false; - } - return true; - } - - //пример как формировать массив json - function createWidgetsDropdown() { - let widgetsDropdown = []; - widgetsJson.forEach((widget) => { - widgetsDropdown.push({ - id: widget.name, - val: widget.rus, - }); - }); - widgetsDropdown = widgetsDropdown; - if (debug) console.log("[i]", widgetsDropdown); - } - function jsonArrWrite(jsonArr, idKey, idValue, paramKey, paramValue) { for (let i = 0; i < jsonArr.length; i++) { let obj = jsonArr[i]; @@ -1144,62 +1105,6 @@ } } - //**********************************************************post and get*****************************************************************/ - //editRequest("192.168.88.235", "data data data data", "file.json") - - function editRequest(url, data, filename) { - if (debug) console.log("[i]", "request for edit file"); - var xmlHttp = new XMLHttpRequest(); - var formData = new FormData(); - formData.append( - "data", - new Blob([data], { - type: "text/json", - }), - "/" + filename - ); - xmlHttp.open("POST", "http://" + url + "/edit"); - xmlHttp.onload = function () { - //во время загрузки - }; - xmlHttp.send(formData); - } - - async function handleSubmit(url) { - try { - console.log(url); - let res = await fetch(url, { - mode: "no-cors", - method: "GET", - }); - if (res.ok) { - console.log("OK", res.status); - //console.log(url); - } else { - console.log("error", res.status); - //console.log(url); - } - } catch (e) { - console.log(e); - } - } - - async function getRequestJson(url) { - try { - let res = await fetch(url, { - mode: "no-cors", - method: "GET", - }); - if (res.ok) { - configSetupJson = await res.json(); - } else { - console.log("error", res.status); - } - } catch (e) { - console.log(e); - } - } - //**********************************************************modal*************************************************************************/ function onCheck() { let width = screen.width; @@ -1307,20 +1212,20 @@ } } - function selectToMarker(str, found) { - let p = str.indexOf(found); - return str.substring(0, p); - } + //function selectToMarker(str, found) { + // let p = str.indexOf(found); + // return str.substring(0, p); + //} - function deleteBeforeDelimiter(str, found) { - let p = str.indexOf(found) + found.length; - return str.substring(p); - } + //function deleteBeforeDelimiter(str, found) { + // let p = str.indexOf(found) + found.length; + // return str.substring(p); + //} - function getMillis() { - const d = new Date(); - return d.getMilliseconds(); - } + //function getMillis() { + // const d = new Date(); + // return d.getMilliseconds(); + //} function moduleOrder(id, key, value) { console.log("order: ", id, key, value); @@ -1333,13 +1238,13 @@ wsSendMsg(selectedWs, "/order|" + JSON.stringify(json)); } - function checkPassword(pass) { - if (pass === settingsJson.passw) { - settingsJson.pass = false; - authorization = false; - saveSett(); - } - } + //function checkPassword(pass) { + // if (pass === settingsJson.passw) { + // settingsJson.pass = false; + // authorization = false; + // saveSett(); + // } + //}
(m.active = !m.active)} class="{m.active ? 'bg-green-100' : ''} cursor-pointer select-none text-black text-xs font-medium mr-2 px-0.5 py-0.5 rounded text-center">{m.path.substring(m.path.lastIndexOf("/") + 1, m.path.length)}
+(m.active = !m.active)} class="{m.active ? 'bg-green-100' : ''} cursor-pointer select-none text-black text-xs font-medium mr-2 px-0.5 py-0.5 rounded text-center">{m.path.substring(m.path.lastIndexOf("/") + 1, m.path.length)}
+(m.active = !m.active)} class="{m.active ? 'bg-green-100' : ''} cursor-pointer select-none text-black text-xs font-medium mr-2 px-0.5 py-0.5 rounded text-center">{m.path.substring(m.path.lastIndexOf("/") + 1, m.path.length)}
+(m.active = !m.active)} class="{m.active ? 'bg-green-100' : ''} cursor-pointer select-none text-black text-xs font-medium mr-2 px-0.5 py-0.5 rounded text-center">{m.path.substring(m.path.lastIndexOf("/") + 1, m.path.length)}
+