исправление бага добавления задачи

This commit is contained in:
IoT Manager
2023-10-05 18:52:49 +02:00
parent ba10b3bc55
commit 1b9adefde6
4 changed files with 182 additions and 138 deletions

View File

@@ -60,7 +60,7 @@
//****************************************************variable section**********************************************************/
//******************************************************************************************************************************/
let myip = document.location.hostname;
if (devMode) myip = "192.168.1.232";
if (devMode) myip = "192.168.87.242";
//Flags
let firstDevListRequest = true;

View File

@@ -4,8 +4,9 @@ export default {
"login.pass": "Пароль",
"login.login": "Вход",
"profile.update": "Собрать прошивку",
ok_success: "Задача запущена",
ok_success: "Задача добавлена",
err_order_exist: "Ваша задача выполняется! Cледующию задачу можно будет запустить после завершения",
err_add_order: "Ошибка отправки задачи",
err_of_login: "Ошибка входа в систему",
err_user_not_exist: "Такой пользователь не был зарегестрирован",
err_pass: "Неправильный пароль",
@@ -21,8 +22,9 @@ export default {
"login.pass": "Password",
"login.login": "Login",
"profile.update": "Собрать прошивку",
ok_success: "Задача запущена",
ok_success: "Задача добавлена",
err_order_exist: "Ваша задача выполняется! Cледующию задачу можно будет запустить после завершения",
err_add_order: "Ошибка отправки задачи",
err_of_login: "Ошибка входа в систему",
err_user_not_exist: "Такой пользователь не был зарегестрирован",
err_pass: "Неправильный пароль",

View File

@@ -8,6 +8,7 @@
export let show;
export let myProfileJson;
export let userdata;
import CrossIcon from "../svg/Cross.svelte";
let errors = [];
let allmodeinfo = null;
let userBuilds = null;
@@ -81,7 +82,29 @@
}
};
const update = async () => {
const delBuild = async (ord) => {
try {
const JWT = Cookies.get("token_iotm2");
let res = await fetch("https://portal.iotmanager.org/compiler/delete/builds/" + ord.orderId, {
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${JWT}`,
},
mode: "cors",
method: "GET",
});
if (res.ok) {
await getUserBuilds();
} else {
console.log("error", res.statusText);
}
} catch (e) {
console.log("error", e);
}
};
const placeOrder = async () => {
delete myProfileJson["_id"];
const JWT = Cookies.get("token_iotm2");
try {
let res = await fetch("https://portal.iotmanager.org/compiler/order", {
@@ -93,7 +116,6 @@
body: JSON.stringify(myProfileJson),
});
const content = await res.json();
//console.log(content);
if (res.ok) {
errors = [{ msg: "ok_success" }];
await getUserBuilds();
@@ -161,7 +183,7 @@
{#each errors as e, i}
<p class="text-red-500 p-0 m-0 font-bold text-xs italic">{$t(e.msg)}</p>
{/each}
<button class="btn-lg mt-6" on:click={() => update()}>{$t("profile.update")}</button>
<button class="btn-lg mt-4" on:click={() => placeOrder()}>{$t("profile.update")}</button>
{#if userBuilds}
<table class="tbl mt-6 mb-0">
<thead class="bg-gray-100">
@@ -173,6 +195,8 @@
<th class="tbl-hd">Подготовка</th>
<th class="tbl-hd">Сборка build</th>
<th class="tbl-hd">Сборка fs</th>
<th class="tbl-hd" />
<th class="tbl-hd w-7" />
</tr>
</thead>
<tbody class="bg-white">
@@ -184,8 +208,11 @@
<td class="tbl-bdy-lg ipt-lg w-full">{new Date(build.dateAdded).toLocaleString("ru", { timeZone: "Europe/Vienna" })}</td>
{#if build.status.preparation === 0 && build.status.build === 0 && build.status.fs === 0}
<td class="tbl-bdy-lg ipt-lg w-full">
<p class="text-green-700">{"Ожидание очереди..."}</p>
<p class="text-green-500 font-bold truncate">{"Ожидание очереди..."}</p>
</td>
<td class="tbl-bdy-lg ipt-lg w-full" />
<td class="tbl-bdy-lg ipt-lg w-full" />
<td class="tbl-bdy-lg ipt-lg w-full" />
{:else}
<td class="tbl-bdy-lg ipt-lg w-full">
<div onClick={() => showLog(build, "py.txt")}>
@@ -200,6 +227,21 @@
<td class="tbl-bdy-lg ipt-lg w-full">
<div onClick={() => showLog(build, "fs.txt")}>{st[build.status.fs]}</div>
</td>
{#if build.status.build === 2 && build.status.preparation === 2 && build.status.fs === 2}
<td onClick={() => showLog(build, "fs.txt")} class="tbl-bdy-lg ipt-lg w-full cursor-pointer select-none bg-green-100 hover:bg-green-200">
<p class="w-fill">Установить</p>
</td>
{:else}
<td class="tbl-bdy-lg ipt-lg w-full" />
{/if}
{#if build.processed}
<td class="tbl-bdy-lg ipt-lg w-full">
<CrossIcon click={() => delBuild(build)} />
</td>
{:else}
<td class="tbl-bdy-lg ipt-lg w-full" />
{/if}
{/if}
</tr>
{/if}

View File

@@ -1,130 +1,130 @@
<script>
const wifiState = {
0: "не подключено",
1: "нет сигнала",
2: "очень низкий",
3: "низкий",
4: "хороший",
5: "очень хороший",
6: "отличный",
};
//const wifiState = {
// 0: "не подключено",
// 1: "нет сигнала",
// 2: "очень низкий",
// 3: "низкий",
// 4: "хороший",
// 5: "очень хороший",
// 6: "отличный",
//};
const systemErrorsRus = {
mqtt: {
e1: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Нет ответа от сервера",
cancel: false,
},
e2: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Соединение было разорвано",
cancel: false,
},
e3: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",
cancel: false,
},
e4: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Клиент был отключен",
cancel: false,
},
e6: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Ошибка версии",
cancel: false,
},
e7: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Отклонен идентификатор",
cancel: false,
},
e8: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Не могу установить соединение",
cancel: false,
},
e9: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Неправильное имя пользователя/пароль",
},
e10: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Не авторизован для подключения",
cancel: false,
},
e11: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Название сервера пустое",
cancel: false,
},
e12: {
descr: "Ошибка mqtt",
color: "text-red-500",
txt: "Имя пользователя или пароль пустые",
cancel: false,
},
e13: {
descr: "Mqtt",
color: "text-red-500",
txt: "Подключение в процессе",
cancel: false,
},
},
wse1: {
1: {
descr: "Ошибка веб сокетов",
color: "text-red-500",
txt: "Слишком много клиентов было открыто. Допускается не более четырех.",
cancel: true,
},
},
jse1: {
1: {
descr: "Ошибка json",
color: "text-red-500",
txt: "Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",
cancel: true,
},
},
jse2: {
1: {
descr: "Ошибка json",
color: "text-red-500",
txt: "Ошибка записи/чтения json.",
cancel: true,
num: true,
},
},
jse3: {
1: {
descr: "Ошибка json",
color: "text-red-500",
txt: "Ошибка чтения json файла с виджетами при отправки в mqtt",
cancel: true,
},
},
tme1: {
1: {
descr: "Ошибка времени",
color: "text-red-500",
txt: "Ошибка синхронизации времени с NTP сервером",
cancel: false,
},
},
};
//const systemErrorsRus = {
// mqtt: {
// e1: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Нет ответа от сервера",
// cancel: false,
// },
// e2: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Соединение было разорвано",
// cancel: false,
// },
// e3: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",
// cancel: false,
// },
// e4: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Клиент был отключен",
// cancel: false,
// },
// e6: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Ошибка версии",
// cancel: false,
// },
// e7: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Отклонен идентификатор",
// cancel: false,
// },
// e8: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Не могу установить соединение",
// cancel: false,
// },
// e9: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Неправильное имя пользователя/пароль",
// },
// e10: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Не авторизован для подключения",
// cancel: false,
// },
// e11: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Название сервера пустое",
// cancel: false,
// },
// e12: {
// descr: "Ошибка mqtt",
// color: "text-red-500",
// txt: "Имя пользователя или пароль пустые",
// cancel: false,
// },
// e13: {
// descr: "Mqtt",
// color: "text-red-500",
// txt: "Подключение в процессе",
// cancel: false,
// },
// },
// wse1: {
// 1: {
// descr: "Ошибка веб сокетов",
// color: "text-red-500",
// txt: "Слишком много клиентов было открыто. Допускается не более четырех.",
// cancel: true,
// },
// },
// jse1: {
// 1: {
// descr: "Ошибка json",
// color: "text-red-500",
// txt: "Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",
// cancel: true,
// },
// },
// jse2: {
// 1: {
// descr: "Ошибка json",
// color: "text-red-500",
// txt: "Ошибка записи/чтения json.",
// cancel: true,
// num: true,
// },
// },
// jse3: {
// 1: {
// descr: "Ошибка json",
// color: "text-red-500",
// txt: "Ошибка чтения json файла с виджетами при отправки в mqtt",
// cancel: true,
// },
// },
// tme1: {
// 1: {
// descr: "Ошибка времени",
// color: "text-red-500",
// txt: "Ошибка синхронизации времени с NTP сервером",
// cancel: false,
// },
// },
//};
import Card from "../components/Card.svelte";
import Alarm from "../components/Alarm.svelte";
@@ -147,7 +147,7 @@
let reboot = false;
export let cancelAlarm = (alarmKey) => {};
//export let cancelAlarm = (alarmKey) => {};
</script>
{#if show}
@@ -309,7 +309,7 @@
UPDATE_BUILD_FAILED
PATH_ERROR
-->
<div class="flex justify-center text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words">
<!--<div class="flex justify-center text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words">
{#if errorsJson.upd === 1}
<p class="text-green-500 mb-2 font-bold text-sm text-center truncate">Обновление FS в процессе...</p>
{/if}
@@ -331,9 +331,9 @@
{#if errorsJson.upd === 7}
<p class="text-red-500 mb-2 font-bold text-sm text-center truncate">Ошибка пути обновления</p>
{/if}
</div>
</div>-->
<button class="btn-lg mb-2" on:click={() => startUpdate(false)}>{"Обновить прошивку"}</button>
<button class="btn-lg mb-2" on:click={() => startUpdate(true)}>{"Обновить прошивку на всех устройствах"}</button>
<!--<button class="btn-lg mb-2" on:click={() => startUpdate(true)}>{"Обновить прошивку на всех устройствах"}</button>-->
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
</Card>
<!--SETTINGS-->
@@ -492,7 +492,7 @@
</div>
</div>
<!--ERRORS-->
<div class="grd-1col1">
<!--<div class="grd-1col1">
<Card title="Системные ошибки">
{#each Object.entries(errorsJson) as [key, param], i}
{#if key in systemErrorsRus && param in systemErrorsRus[key]}
@@ -507,7 +507,7 @@
{/if}
{/each}
</Card>
</div>
</div>-->
{:else}
<Alarm title="Загрузка..." />
{/if}