L’oggetto state
Ogni template viene generato con due variabili di primo livello: state (tutto ciò che riguarda la conversazione corrente) e skdwn (l’istanza attiva dell’assistente). Leggile per decidere cosa mostrare.
state
| Variabile | Cosa contiene |
|---|---|
state.query | Il testo attualmente nel campo di ricerca. |
state.results | L’array degli scambi finora (domande, risposte, moduli, benvenuto). |
state.isLoading | true mentre una domanda è in esecuzione: usalo per mostrare il caricamento. |
state.config | La configurazione completa dell’assistente (impostazioni, suggerimenti, moduli, traduzioni). |
state.name | Il nome visualizzato dell’assistente. |
state.instance | L’istanza del connettore (raggiungibile anche come skdwn.instance). |
state.attachmentResponses | I riepiloghi generati per gli allegati. |
state.followUps | Le domande di approfondimento suggerite, quando presenti. |
skdwn
skdwn.instance è l’assistente in esecuzione. Le parti che userai nei template:
skdwn.instance.config: la configurazione unificata.skdwn.instance.helpers: gli helper che richiami daonclick/oninput.skdwn.instance.templates: tutti i template attivi per nome.skdwn.instance.startOptions: le opzioni con cui la pagina ha avviato l’assistente (incluso il tuoadditionalContext).
Leggere lo state
{% if state.isLoading %}
{% include 'loading' %}
{% elsif state.results.length == 0 %}
{% include 'welcome' %}
{% else %}
{% include 'results' %}
{% endif %}
Attiva il debug mentre sviluppi
Avvia l’assistente con isDebug: true e Seekdown registra lo state prima di ogni rendering, così vedi esattamente con cosa deve lavorare il tuo template. Puoi anche inserire {{ state | log }} in un template per stampare lo state in linea.