FlowStreamek kezelése a Flow API-val
Minden, amit a szerkesztő csinál, egyetlen JSON végponton megy át: POST /fapi/ a következő törzzsel: { "schema": "<name>", "data": { ... } } (a Total.js API útvonalai, lásd API útvonalak). A /fapi/ cím a config fájl $api : /fapi/ sorából jön. A bejelentkezés kivételével minden hívás igényli a munkamenet-cookie-t; nélküle a válasz 401: Unauthorized.
Ezeket a hívásokat az oldal írása közben egy helyi Flow 11.1-gyel (Node.js 24 és total5@0.0.19) is kipróbáltuk.
Bejelentkezés
Az Auth|login a login és password mezőt kapja, és {"success":true} választ ad a munkamenet-cookie-val. Hibás páros esetén a válasz Invalid credentials.
curl -c cookie.txt -X POST http://localhost:8000/fapi/ \
-H 'content-type: application/json' \
-d '{"schema":"Auth|login","data":{"login":"<your login>","password":"<your password>"}}'A következő hívások a -b cookie.txt kapcsolót használják.
A hívások
schema | data | Mit csinál | ||
|---|---|---|---|---|
Streams | nincs | a FlowStreamek listája az id, name, group, author, version, proxypath, size mezőkkel és a futók élő stats adataival | ||
Streams\ | save | name, és opcionálisan author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeout | létrehoz egy folyamot, ha hiányzik az id (a create jogosultságot ellenőrzi), egyébként frissíti az adott id folyamot és újraindítja | |
Streams\ | read | id | egy folyam tulajdonságai | |
Streams\ | raw | id | a teljes folyamobjektum a tervével együtt | |
Streams\ | export | id | a folyam JSON szövegként a value mezőben, a belső mezők nélkül (unixsocket, env, import, worker, asfiles) | |
Streams\ | import | data (a JSON szöveg) | egy exportból új folyamot hoz létre (legfeljebb 10 MB), új id-vel; az ismétlődő proxypath helyére véletlenszerű kerül; válasza {"success":true,"value":"<id>"} | |
Streams\ | pause | id, is (true vagy false) | szünetelteti vagy folytatja a futó folyamot | |
Streams\ | restart | id | újraindítja a folyamot | |
Streams\ | remove | id | eltávolítja a folyamot és a mappáját (a remove jogosultságot ellenőrzi) | |
Streams\ | stats | nincs | a telepítés összesítői: a Node.js, a Total.js és a Flow verziói, üzenetek, függőben lévők, memória és kapcsolatok | |
Variables\ | read / Variables\ | save | id (opcionális), data | egy folyam változói, vagy a globális változók, ha az id üres; a mentés elküldi őket a futó folyamoknak |
Console\ | read / Console\ | clear | nincs | az alkalmazás konzolja |
CDN\ | clear | nincs | törli a letöltött felületi komponensek gyorsítótárát | |
Settings\ | read / Settings\ | save | a beállítások (lásd beállítások és fájlok) | csak a szuperadminisztrátornak |
Folyam létrehozása és futtatása
Hozd létre, majd importálj egy a szerkesztőben épített tervet (egy exportált JSON fájlt), hogy elinduljon:
curl -b cookie.txt -X POST http://localhost:8000/fapi/ \
-H 'content-type: application/json' \
-d '{"schema":"Streams|save","data":{"name":"Demo","author":"Me"}}'A szerkesztőből exportált folyam magával viszi a design (a dobozok és kapcsolataik), a components (mindegyik forrása) és a variables részt.
A proxypath szabályai
Egy folyam HTTP útvonalakat tehet közzé saját útvonal alatt. A Flow hozzáteszi a törtvonalakat (a demo /demo/ lesz), visszautasítja a magához a Flow-hoz tartozó útvonalakat (/, /cdn/, /fapi/, /private/, /flows/, /designer/, /parts/, /forms/, /css/, /js/, /fonts/, /panels/) a Proxy endpoint contains reserved path üzenettel, és visszautasít egy olyan útvonalat, amelyet másik folyam már használ. A proxytimeout a folyam válaszára várt idő másodpercben (alapértelmezés: 120).
Hívások kívülről
| Útvonal | Használat |
|---|---|
GET vagy POST /notify/{id}/ | értesítést küld az adott id-jú folyamnak (a POST törzs legfeljebb 1 MB); a folyam komponensei döntik el, mit kezdenek vele. Válasza {"success":true} |
+SOCKET /{id}/ | a szerkesztő WebSocketje az adott folyamhoz (munkamenet kell hozzá) |
GET /private/?token=<token> | listázza a private/ mappa fájljait, ha a token megegyezik a beállítások token értékével; tíz hibás token 15 percre letilt egy címet |
+POST /update/ | frissíti az alkalmazást egy .bundle fájlból; csak a csomagolt verziónál |
Tartsd titokban a token értékét, ezeket a hívásokat HTTPS-en küldd, és tedd a Flow-t fordított proxy mögé, ha az internetről elérhető.