Das State-Objekt
Jedes Template wird mit zwei Variablen auf oberster Ebene gerendert: state (alles über die aktuelle Unterhaltung) und skdwn (die laufende Instanz des Assistenten). Lesen Sie daraus, um zu entscheiden, was angezeigt wird.
state
| Variable | Inhalt |
|---|---|
state.query | Der Text, der aktuell im Suchfeld steht. |
state.results | Das Array der bisherigen Austausche (Fragen, Antworten, Formulare, Begrüßung). |
state.isLoading | true, solange eine Anfrage läuft – nutzen Sie es, um den Loader anzuzeigen. |
state.config | Die vollständige Konfiguration des Assistenten (Einstellungen, Vorschläge, Formulare, Übersetzungen). |
state.name | Der Anzeigename des Assistenten. |
state.instance | Die Connector-Instanz (auch erreichbar als skdwn.instance). |
state.attachmentResponses | Für Anhänge erzeugte Zusammenfassungen. |
state.followUps | Vorgeschlagene Folgefragen, sofern vorhanden. |
skdwn
skdwn.instance ist der laufende Assistent. Die Teile, die Sie in Templates nutzen:
skdwn.instance.config– die zusammengeführte Konfiguration.skdwn.instance.helpers– die Helper, die Sie ausonclick/oninputaufrufen.skdwn.instance.templates– jedes aktive Template nach Namen.skdwn.instance.startOptions– die Optionen, mit denen die Seite den Assistenten gestartet hat (einschließlich IhresadditionalContext).
State lesen
{% if state.isLoading %}
{% include 'loading' %}
{% elsif state.results.length == 0 %}
{% include 'welcome' %}
{% else %}
{% include 'results' %}
{% endif %}
Debug während der Entwicklung aktivieren
Starten Sie den Assistenten mit isDebug: true, und Seekdown protokolliert den State vor jedem Rendern, sodass Sie genau sehen, womit Ihr Template arbeiten kann. Sie können auch {{ state | log }} in ein Template einfügen, um den State direkt auszugeben.