File tree Expand file tree Collapse file tree 16 files changed +279
-262
lines changed Expand file tree Collapse file tree 16 files changed +279
-262
lines changed Original file line number Diff line number Diff line change 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" );
Original file line number Diff line number Diff line change 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>
1212SettingsESP 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, " " );
Original file line number Diff line number Diff 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) {
Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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 () {
Original file line number Diff line number Diff 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};
Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments