Skip to content

Commit 3e29946

Browse files
committed
upd
1 parent 772ebd2 commit 3e29946

File tree

16 files changed

+279
-262
lines changed

16 files changed

+279
-262
lines changed

examples/test/test.ino

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <LittleFS.h>
1414
// база данных для хранения настроек
1515
// будет автоматически записываться в файл при изменениях
16-
GyverDBFile db(&LittleFS, "db.bin");
16+
GyverDBFile db(&LittleFS, "/data.db");
1717

1818
#include <SettingsGyver.h>
1919
// указывается заголовок меню, подключается база данных
@@ -166,7 +166,11 @@ void setup() {
166166
sett.onUpdate(update);
167167

168168
// ======== DATABASE ========
169+
#ifdef ESP32
170+
LittleFS.begin(true);
171+
#else
169172
LittleFS.begin();
173+
#endif
170174
db.begin();
171175
db.init(kk::txt, "text");
172176
db.init(kk::pass, "some pass");

examples/wificonnect/wificonnect.ino

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <Arduino.h>
77
#include <GyverDBFile.h>
88
#include <LittleFS.h>
9-
GyverDBFile db(&LittleFS, "settings.db");
9+
GyverDBFile db(&LittleFS, "/data.db");
1010

1111
#include <SettingsESP.h>
1212
SettingsESP sett("WiFi config", &db);
@@ -41,7 +41,11 @@ void setup() {
4141
sett.onBuild(build);
4242

4343
// базу данных запускаем до подключения к точке
44+
#ifdef ESP32
45+
LittleFS.begin(true);
46+
#else
4447
LittleFS.begin();
48+
#endif
4549
db.begin();
4650
db.init(kk::wifi_ssid, "");
4751
db.init(kk::wifi_pass, "");

src/SettingsAsync.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class SettingsAsync : public SettingsBase {
2828
if (request->hasParam("id")) id = request->getParam("id")->value();
2929
if (request->hasParam("value")) value = request->getParam("value")->value();
3030

31-
_response = request->beginResponseStream("application/octet-stream");
31+
_response = request->beginResponseStream("text/plain");
3232
cors_h(_response);
3333
parse(action, id, value);
3434
request->send(_response);
@@ -63,8 +63,8 @@ class SettingsAsync : public SettingsBase {
6363
AsyncWebServer server;
6464
AsyncResponseStream *_response = nullptr;
6565

66-
void send(Text text) {
67-
if (_response) _response->write(text.str(), text.length());
66+
void send(uint8_t *data, size_t len) {
67+
if (_response) _response->write(data, len);
6868
}
6969

7070
void gzip_h(AsyncWebServerResponse *response) {

src/SettingsBase.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class SettingsBase {
5656

5757
protected:
5858
// отправка для родительского класса
59-
virtual void send(Text text) {}
59+
virtual void send(uint8_t* data, size_t len) {}
6060

6161
// парсить запрос клиента
6262
void parse(Text action, Text idtxt, Text value) {
@@ -116,7 +116,7 @@ class SettingsBase {
116116
if (_upd_cb) _upd_cb(upd);
117117
p.endArr();
118118
p.endObj();
119-
send(p);
119+
send(p.buf(), p.length());
120120
} else {
121121
_answerEmpty();
122122
}
@@ -133,7 +133,8 @@ class SettingsBase {
133133
bool _dbupdates = true;
134134

135135
void _answerEmpty() {
136-
send("");
136+
uint8_t p;
137+
send(&p, 0);
137138
}
138139

139140
void _sendBuild() {
@@ -150,7 +151,7 @@ class SettingsBase {
150151
_build_cb(builder);
151152
p.endArr();
152153
p.endObj();
153-
send(p);
154+
send(p.buf(), p.length());
154155
} else {
155156
_answerEmpty();
156157
}

src/SettingsESP.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ class SettingsESP : public SettingsBase {
7878
bool dns_f = false;
7979
#endif
8080

81-
void send(Text text) {
82-
server.setContentLength(text.length());
83-
server.send(200, "application/octet-stream");
84-
server.sendContent(text.str(), text.length());
81+
void send(uint8_t* data, size_t len) {
82+
server.setContentLength(len);
83+
server.send(200, "text/plain");
84+
server.sendContent((const char*)data, len);
8585
}
8686

8787
void gzip_h() {

src/SettingsGyver.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class SettingsGyver : public SettingsBase {
2323

2424
void begin() {
2525
server.begin();
26-
26+
2727
server.onRequest([this](ghttp::ServerBase::Request req) {
2828
switch (req.path().hash()) {
2929
case SH("/settings"):
@@ -68,7 +68,7 @@ class SettingsGyver : public SettingsBase {
6868
bool dns_f = false;
6969
#endif
7070

71-
void send(Text text) {
72-
server.send(text);
71+
void send(uint8_t* data, size_t len) {
72+
server.sendFile(data, len);
7373
}
7474
};

src/web/settings.h

Lines changed: 239 additions & 238 deletions
Large diffs are not rendered by default.

web/src/script/widgets/input.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default class InputWidget extends WidgetBase {
2525
}
2626

2727
update(value) {
28-
value = value.toString();
28+
value = value ? value.toString() : '';
2929
this.empty = (value.length == 0);
3030
this.$input.innerText = this.empty ? '...' : value;
3131
}

web/src/script/widgets/label.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ export default class LabelWidget extends WidgetBase {
1919
}
2020

2121
update(value) {
22-
this.$out.innerText = value;
22+
this.$out.innerText = value ?? '';
2323
}
2424
}

web/src/script/widgets/paragraph.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ export default class ParagraphWidget extends WidgetBase {
1414
}
1515
}));
1616

17-
this.update(data.value ?? '');
17+
this.update(data.value);
1818
}
1919

2020
update(value) {
21-
this.$out.innerText = value;
21+
this.$out.innerText = value ?? '';
2222
}
2323
}

0 commit comments

Comments
 (0)