да хоть фон страницы менять))ничего лучше не придумал, жду предложений участников. Можно alert вызвать, но окно будет висеть в том числе когда подключение вернётся
но лучше отдать это на выбор юзеру путем прописывания собственного кода.
да хоть фон страницы менять))ничего лучше не придумал, жду предложений участников. Можно alert вызвать, но окно будет висеть в том числе когда подключение вернётся
не не не - только не алерты: при неустойчивом соединении просто невозможно будет управлять со страницы ничем, т.к. сейчас таймаут при xhr запросе в 300мсек просто засыпает алертами, блокируя все на странице)Однако алёрты не встают в очередь и показывается только один, так что можно так и сделать в новой версии
Для встроенных скриптов и стилей смысла нет, т.к. они кешируются браузером. А свои личные файлы можно передавать как угодно, сервер отправитиз esp в браузер в .gz формате.
Всё внимание на пример с update. Нужно подключить обновление и ответить на него текущим временемНужно обновлять время без обновления страницы
// build
GP.UPDATE("time");
GP.TIME("time", ui.getSystemTime());
// action
if (ui.update("time")) ui.answer(ui.getSystemTime().encode());
GP.UPDATE("time, led35", 5000);
GP.DATE("date", portal.getSystemDate());
GP.TIME("time", portal.getSystemTime());
GP.LED_GREEN("led35"); GP.BREAK();
void action() {
if (portal.update()) {
if (portal.update("time")) portal.answer(portal.getSystemTime().encode());
if (portal.update("led35")) portal.answer(1);
}
}
#include <GyverPortal.h>
GyverPortal portal;
String val ;
String Text;
void setup()
{
portal.attachBuild(build);
portal.attach(action);
portal.start();
}
void build()
{
GP.BUILD_BEGIN();
GP.THEME(GP_DARK);
GP.BLOCK_BEGIN(" ");
GP.LABEL("Если написать что то длинное, то сообщение выходит за рамки отрисовки блока... Пробовал на разных отрисовках, тоже самое","val ");
GP.BREAK();
GP.LABEL_BLOCK("Если написать что то длинное, то сообщение выходит за рамки отрисовки блока... Пробовал на разных отрисовках, тоже самое", "lb1", "");
GP.BREAK();
GP.UPDATE(PSTR("lb"), 1000);
GP.LABEL(Text, "lb");
GP.BLOCK_END();
GP.BUILD_END();
}
void loop()
{
portal.tick();
}
void action()
{
Text = String("Если написать что то длинное, то сообщение выходит за рамки отрисовки блока... Пробовал на разных отрисовках, тоже самое");
portal.updateString("lb",Text);
}
WiFi.mode(WIFI_OFF);
portal.stop();
uint8_t hour, minute, second
, см документацию. То есть можно вот такGPtime time;
time.hour = 10;
my_func(time.second);
// и так далее
void CheckClientConnect()
{
bool IP_SET = portal.clientIP().isSet();
// APP_CONNECTED - глобальная переменная.
if (IP_SET != APP_CONNECTED)
{
TX_Data.TX_Mode = RX_MOD_APP_EVENT;
if (IP_SET)
{
TX_Data.TX_CommandID = RX_CMD_APP_CONNECT;
// Serial.println("RX_CMD_APP_CONNECT " + portal.clientIP().toString());
}
else
{
TX_Data.TX_CommandID = RX_CMD_APP_DISCONNECT;
// Serial.println("RX_CMD_APP_DISCONNECT " + portal.clientIP().toString());
}
ET.sendData();
APP_CONNECTED = IP_SET;
}
}
GP.ONLINE_CHECK(); // невидимый компонент. Проверка связи с esp, в случае отсутствия связи в названии вкладки появится символ 🚫
GP.ONLINE_CHECK(период); // + период проверки в мс [int] (умолч. 5000)