ForgeFlow
hu

Flow

FlowStreamek kezelése a Flow API-val

Flow · flow@11.1 flowflowstreamapiimportexportnotify

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

schemadataMit csinál
Streamsnincsa FlowStreamek listája az id, name, group, author, version, proxypath, size mezőkkel és a futók élő stats adataival
Streams\savename, és opcionálisan author, version, icon, color, group, url, reference, readme, memory, cloning, proxypath, proxytimeoutlé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\readidegy folyam tulajdonságai
Streams\rawida teljes folyamobjektum a tervével együtt
Streams\exportida folyam JSON szövegként a value mezőben, a belső mezők nélkül (unixsocket, env, import, worker, asfiles)
Streams\importdata (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\pauseid, is (true vagy false)szünetelteti vagy folytatja a futó folyamot
Streams\restartidújraindítja a folyamot
Streams\removeideltávolítja a folyamot és a mappáját (a remove jogosultságot ellenőrzi)
Streams\statsnincsa 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\saveid (opcionális), dataegy 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\clearnincsaz alkalmazás konzolja
CDN\clearnincstörli a letöltött felületi komponensek gyorsítótárát
Settings\read / Settings\savea 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

ÚtvonalHaszná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ő.