API JavaScript per azioni

Utilizzate le seguenti informazioni di riferimento per saperne di più sulle API di JavaScript disponibili per le azioni durante la creazione di applicazioni aziendali nel designer low-code.

L'attività Script per le azioni è stata migliorata per supportare le richieste asincrone ai server identificati come risorse dell'applicazione. Le seguenti funzioni JavaScript possono essere utilizzate nell'attività Script. Per un esempio di come vengono utilizzate tali funzioni, esplorare l'azione StartProcess fornita nel toolkit Workflow Services .

Limitazione: le seguenti funzioni non possono essere utilizzate negli script di pre - esecuzione o post - esecuzione.
Tabella 1. Funzioni JavaScript che possono essere utilizzate nelle attività Script
Funzione Descrizione
tw.system.waitForContinueFlow() Richiamare questa funzione per indicare che lo script effettua una chiamata asincrona. Impedisce all'azione di continuare con il passo successivo nel flusso quando viene raggiunta la fine dello script.
tw.system.continueFlow() Quando questa funzione viene richiamata da un callback asincrono, indica che la chiamata asincrona viene completata e che l'azione può proseguire con il passo successivo nel flusso.
tw.system.performRequest ( name, options, callback, errorcallback) Effettua una chiamata asincrona a un server. È necessario chiamare waitForContinueFlow prima di chiamare questa funzione e la funzione continueFlow deve essere richiamata dai callback.
Importante: se continueFlow non viene richiamato, l'azione non può continuare fino al completamento.
La funzione tw.system.performRequest ha i seguenti parametri:
{string} name
Il nome della risorsa dell'applicazione che identifica il server da richiamare.
{object} options
I dettagli della richiesta. Se la risorsa dell'applicazione definisce la proprietà, la sua impostazione sovrascrive il valore della risorsa dell'applicazione. Sono disponibili le seguenti proprietà:
  • {string} path : Il relativo URL, compresi tutti i parametri della query. Quando si utilizza l'intestazione content - type "application/x - www - form - urlencoded", aggiungere invece i parametri al payload.
  • {string} method : Il metodo HTTP, ad esempio "GET" (default), "POST", "PUT", "DELETE".
  • {object or string} payload: i dati del payload da posizionare nel corpo della richiesta: un payload dell'oggetto viene convertito in JSON, a meno che l'intestazione content - type non indichi diversamente. Per simulare l'invio di un modulo del browser, impostare il tipo di contenuto su "multipart/form-data" nelle intestazioni, quindi impostare il payload su un oggetto nel modulo. Ad esempio:
    {
    <name>: <value>[,
    <name>: <value>]*
    }
    Dove < nome> e < valore> rappresentano i campi del modulo. Per inviare un file, < value> deve essere un oggetto di business DocumentFile , che può provenire dalla risposta di una precedente chiamata tw.system.performRequest o come input dall'applicazione chiamante. Per caricare il file nell'applicazione, consultare JavaScript API che possono essere utilizzate nelle viste.
  • {object} auth: un oggetto che indica il metodo di autenticazione da utilizzare:
    • {string} protocol: il protocollo di autenticazione, "OIDC" o "BASIC".
    • {string} username: il nome utente per il protocollo BASIC.
    • {string} password: la password per il protocollo BASIC.
  • {string} protocol: il protocollo di richiesta da utilizzare, "https" (predefinito) o "http".
  • {string} hostname: il nome host.
  • {numeric} port: il numero di porta (valore predefinito 443).
  • {string} ctxRoot: (Facoltativo) Una root di contesto ("" predefinito) da aggiungere come prefisso al percorso.
  • {object} headers : (opzionale) HTTP intestazioni; l'impostazione del tipo di contenuto influisce sulla gestione del carico utile. Per simulare un inoltro del modulo del browser, il tipo di contenuto deve essere multipart/form-data.
  • {numeric} timeout: (facoltativo) Il valore di timeout della richiesta, in millisecondi.
  • {string} keySuffix: (Facoltativo) aggiunto alla chiave gruppo comune definita nella risorsa dell'applicazione per identificare dinamicamente una singola risorsa da una serie di risorse.
  • {string} responseType: (facoltativo) Il tipo di risposta previsto. Deve essere binary per tw.system.performRequest per gestire una risposta binaria e restituire un oggetto di business DocumentFile come oggetto di risposta alla funzione di callback. L'oggetto DocumentFile ha un campo URL, che può essere usato da una vista per recuperare il contenuto del file.
  • {boolean} parseJSONResponse : (facoltativo) Specificare l'oggetto risposta che viene passato alla funzione callback quando la richiesta HTTP restituisce una risposta JSON.
    • true - L'oggetto di risposta è l'oggetto JavaScript creato analizzando la stringa JSON.
    • false - L'oggetto di risposta è la stringa JSON.
    • Non specificato (valore predefinito) - Se il valore nell'intestazione content - type è application/json, la risposta viene analizzata. Se il valore content - header è più complesso, come application/json; charset=UTF-8, la stringa JSON non viene analizzata.
{function} callback
La funzione di callback per la gestione di una risposta corretta. La funzione accetta due parametri: il primo rappresenta l'oggetto risposta e il secondo contiene informazioni aggiuntive, come le intestazioni statusCode,.
{function} errorcallback
La funzione di callback di errore con un singolo parametro che rappresenta l'oggetto errore.
tw.system.log(tw.system.model.name, tw.system.model.step.name, logString) Utilizzare l'API tw.system.log per eseguire il debug dello script lato server stampando i log sulla console del browser. I log vengono stampati sulla console del browser se si è su un server di riproduzione o se BROWSER_LOG_LEVEL è impostato su 3 o su un valore superiore in Application Enginedi produzione.

Mantenere i primi due parametri così come sono e immettere la stringa di log nel terzo parametro.

{string} tw.system.model.name
Il nome dell'azione o dell'azione nidificata in cui è definito (o in esecuzione) lo script corrente.
{string} tw.system.model.step.name
Il nome dello script lato server in esecuzione.
{string} logString
La stringa di log specifica che si desidera eseguire.
tw.system.model() L'azione o l'azione nidificata in cui è definito (o in esecuzione) lo script corrente.
tw.system.jsonReplacer ( key, value )

Un programma di sostituzione JSON.stringify utilizzato per la conversione degli oggetti JavaScript nel formato JSON richiesto da un'azione. Deve essere utilizzato per un'azione di persistenza dei dati dell'applicazione dopo il richiamo dei dati dall'archivio dati. La gestione speciale viene eseguita per elenchi, date e validationErrors.

{string} key
La chiave che viene convertita in una stringa.
{string} value
Il valore che viene convertito in una stringa.
tw.system.jsonReviver ( key, value )

Un reviver JSON.parse utilizzato per convertire la stringa JSON in oggetti JavaScript richiesti da un'azione. Può essere utilizzato per un'azione di persistenza dei dati dell'applicazione dopo il richiamo dei dati dall'archivio dati. La gestione speciale viene effettuata per elenchi e date.

{string} key
La chiave che viene analizzata.
{string} value
Il valore analizzato.