Interfejsy API JavaScript dla działań

Aby uzyskać więcej informacji na temat interfejsów API języka JavaScript , które są dostępne dla działań podczas tworzenia aplikacji biznesowych w projektancie niskiego kodu, należy użyć następujących informacji uzupełniających.

Działanie skryptu dla działań zostało rozszerzone o obsługę żądań asynchronicznych skierowanych do serwerów, które są identyfikowane jako zasoby aplikacji. W działaniu skryptu można użyć następujących funkcji języka JavaScript . Aby zapoznać się z przykładem użycia tych funkcji, należy zapoznać się z działaniem StartProcess , które jest dostępne w bibliotece narzędziowej Workflow Services .

Ograniczenie: Następujące funkcje nie mogą być używane w skryptach uruchamianych przed wykonaniem lub po wykonaniu.
Tabela 1. JavaScript , których można używać w działaniach skryptu
Funkcja Opis
tw.system.waitForContinueFlow() Wywołaj tę funkcję, aby wskazać, że skrypt wykonuje wywołanie asynchroniczne. Zapobiega to przejściu przez działanie do następnego kroku w przepływie po osiągnięciu końca skryptu.
tw.system.continueFlow() Wywołanie tej funkcji z asynchronicznego wywołania zwrotnego wskazuje, że wywołanie asynchroniczne zostało zakończone i działanie może przejść do następnego kroku w przepływie.
tw.system.performRequest(name, options, callback, errorcallback) Wykonuje asynchroniczne wywołanie do serwera. Przed wywołaniem tej funkcji należy wywołać funkcję waitForContinueFlow , a funkcja continueFlow musi zostać wywołana przez wywołania zwrotne.
Ważne: Jeśli funkcja continueFlow nie zostanie wywołana, nie będzie można kontynuować wykonywania tej czynności.
Funkcja tw.system.performRequest ma następujące parametry:
{string} name
Nazwa zasobu aplikacji identyfikująca serwer do wywołania.
{object} options
Szczegóły żądania. Jeśli zasób aplikacji definiuje właściwość, ustawienie jej w tym miejscu spowoduje nadpisanie wartości zasobu aplikacji. Dostępne są następujące właściwości:
  • {string} path: względny adres URL, w tym wszystkie parametry zapytania. Jeśli używany jest nagłówek content-type "application/x-www-form-urlencoded", należy zamiast tego dodać parametry do ładunku.
  • {string} method: metoda HTTP, taka jak "GET" (domyślna), "POST", "PUT", "DELETE".
  • {object or string} payload: Dane ładunku, które mają zostać umieszczone w treści żądania: ładunek obiektu jest przekształcany w format JSON, chyba że nagłówek content-type wskazuje inaczej. Aby zasymulować wysyłanie formularza przeglądarki, należy ustawić typ treści na wartość multipart/form-data w nagłówkach, a następnie ustawić ładunek na obiekt w formularzu. Na przykład
    {
    <name>: <value>[,
    <name>: <value>]*
    }
    Gdzie < nazwa> i < wartość> reprezentują pola formularza. Aby wysłać plik, < wartość> musi być obiektem biznesowym DocumentFile , który może pochodzić z odpowiedzi wcześniejszego wywołania tw.system.performRequest lub jako dane wejściowe aplikacji wywołującej. Aby załadować plik do aplikacji, należy zapoznać się z sekcją Interfejsy API językaJavaScript , których można używać w widokach.
  • {object} auth: Obiekt wskazujący metodę uwierzytelniania, która ma być używana:
    • {string} protocol: protokół uwierzytelniania, "OIDC" lub "BASIC".
    • {string} username: Nazwa użytkownika dla protokołu BASIC.
    • {string} password: hasło dla protokołu BASIC.
  • {string} protocol: protokół żądania, który ma być używany, albo "https" (domyślnie), albo "http".
  • {string} hostname: nazwa hosta.
  • {numeric} port: numer portu (domyślnie 443).
  • {string} ctxRoot: (opcjonalnie) Kontekstowy katalog główny (domyślnie ""), który ma zostać dodany jako przedrostek do ścieżki.
  • {object} headers: (opcjonalnie) nagłówki HTTP; ustawienie typu treści ma wpływ na obsługę ładunku. Aby zasymulować wysłanie formularza przeglądarki, typem treści musi być multipart/form-data.
  • {numeric} timeout: (opcjonalnie) Wartość limitu czasu żądania w milisekundach.
  • {string} keySuffix: (Optional) Dołączanie do wspólnego klucza grupy zdefiniowanego w zasobie aplikacji w celu dynamicznego identyfikowania pojedynczego zasobu z zestawu zasobów.
  • {string} responseType: (opcjonalnie) Oczekiwany typ odpowiedzi. Obiekt biznesowy DocumentFile jako obiekt odpowiedzi do funkcji zwrotnej musi mieć wartość binary , aby obiekt tw.system.performRequest obsługiwał odpowiedź binarną i zwracał obiekt biznesowy DocumentFile. Obiekt biznesowy DocumentFile ma pole adresu URL, które może być używane przez widok do pobierania treści pliku.
  • {boolean} parseJSONResponse: (opcjonalne) należy określić, jaki obiekt odpowiedzi zostanie przekazany do funkcji callback , gdy żądanie HTTP zwróci odpowiedź JSON.
    • true -obiekt odpowiedzi to obiekt JavaScript , który jest tworzony przez analizowanie łańcucha JSON.
    • false -obiekt odpowiedzi jest łańcuchem JSON.
    • Nieokreślona (wartość domyślna)-jeśli wartością w nagłówku content-type jest application/json, odpowiedź jest analizowana. Jeśli wartość nagłówka treści jest bardziej złożona, na przykład application/json; charset=UTF-8, łańcuch JSON nie jest analizowany.
{function} callback
Funkcja zwrotna do obsługi pomyślnej odpowiedzi. Funkcja przyjmuje dwa parametry: pierwszy reprezentuje obiekt odpowiedzi, a drugi zawiera dodatkowe informacje, takie jak nagłówki statusCode.
{function} errorcallback
Funkcja zwrotna błędu z pojedynczym parametrem reprezentującym obiekt błędu.
tw.system.log(tw.system.model.name, tw.system.model.step.name, logString) Za pomocą funkcji API tw.system.log można debugować skrypt po stronie serwera, drukując dzienniki w konsoli przeglądarki. Dzienniki są wyświetlane w konsoli przeglądarki, jeśli użytkownik znajduje się na serwerze odtwarzania lub jeśli parametr BROWSER_LOG_LEVEL ma wartość 3 lub wyższą w produkcyjnym Application Engine.

Zachowaj dwa pierwsze parametry bez zmian i wprowadź łańcuch dziennika w trzecim parametrze.

{string} tw.system.model.name
Nazwa działania lub działania zagnieżdżonego, w którym jest zdefiniowany (lub uruchomiony) bieżący skrypt.
{string} tw.system.model.step.name
Nazwa uruchamianego skryptu po stronie serwera.
{string} logString
Konkretny łańcuch dziennika, który ma zostać uruchomiony.
tw.system.model() Działanie lub działanie zagnieżdżone, w którym jest zdefiniowany (lub uruchomiony) bieżący skrypt.
tw.system.jsonReplacer(key, value)

Element zastępujący JSON.stringify używany do przekształcania obiektów JavaScript w format JSON wymagany przez działanie. Ta opcja musi być używana dla działania utrwalania danych aplikacji po pobraniu danych ze składnicy danych. Specjalna obsługa jest wykonywana dla list, dat i validationErrors.

{string} key
Klucz, który jest przekształcany w łańcuch.
{string} value
Wartość przekształcana w łańcuch.
tw.system.jsonReviver(key, value)

Program weryfikujący JSON.parse używany do przekształcania łańcucha JSON w obiekty JavaScript , które są wymagane przez działanie. Ta opcja może być używana dla działania utrwalania danych aplikacji po pobraniu danych ze składnicy danych. W przypadku list i dat wykonywana jest specjalna obsługa.

{string} key
Klucz, który jest analizowany.
{string} value
Wartość, która jest analizowana.