Kaarte
Hierdie bladsy is uit Engels vertaal. As die twee verskil, is die Engelse bladsy korrek. Lees die Engelse bladsy
‘n Kaart is ‘n kort lys elemente wat Lingara in sy eie styl teken. Daar is geen invoervelde, beelde, skripte of opmaak nie. ‘n App kan nie sy eie kode of sy eie voorkoms op ‘n leerder se skerm plaas nie, so elke kaart lees soos die res van Lingara. Jou antwoord is JSON: ‘n card wat sy elements bevat, en opsioneel ‘n tutor_note (sien Die tutor-nota).
Die elemente
Elke element het ‘n type, wat een van hierdie agt is:
| Element | Velde | Wat dit wys |
|---|---|---|
heading | text, level | ’n Opskrif. level is 1 of 2, en enige ander waarde word 2. Sy teks is hoogstens 80 karakters. |
text | text, lang | ’n Paragraaf van hoogstens 600 karakters. Dit is die enigste plek waar ‘n reëlbreuk behou word. |
term | word, reading, gloss, lang | ’n Woord om te leer. Net word is verpligtend. Die woord is hoogstens 60 karakters, die lesing 120 en die glos 160. |
list | items | Tot 20 items. Elke item is ‘n text of ‘n term, met dieselfde velde as die element met daardie naam. |
progress | value, label | ’n Vorderingsbalk. value loop van 0 tot 1, en die etiket is hoogstens 60 karakters. |
divider | ’n Lyn tussen dele van die kaart. | |
button | label, action, style | ’n Knoppie wat sy action na jou bediener stuur. style is primary of secondary, en die etiket is hoogstens 32 karakters. |
link | label, url | ’n Skakel wat die leerder in hul blaaier oopmaak, nadat Lingara hulle gevra het. Die etiket is hoogstens 60 karakters. |
‘n lang is ‘n taalmerker soos ja, sodat Lingara die regte skrif teken. ‘n Waarde wat nie ‘n taalmerker is nie, word verwyder.
Die perke
- ‘n Kaart bevat hoogstens 24 elemente. Elemente ná die 24ste word weggelaat.
- ‘n Lys bevat hoogstens 20 items. Items ná die 20ste word weggelaat, en ‘n leë lys word weggelaat.
- ‘n Kaart bevat hoogstens 4 knoppies. Knoppies ná die 4de word weggelaat.
- Teks langer as sy perk word ingekort om te pas en eindig op
…. Karakters word as Unicode-skalaarwaardes getel. - Beheerkarakters en rigtingoorskrywings word uit elke string verwyder.
- ‘n Skakel waarvan die adres nie HTTPS is nie, ‘n gebruikersnaam dra, of na ‘n IP-adres wys, word weggelaat.
- ‘n Knoppie waarvan die
actionlanger as 64 karakters is, of enigiets anders as letters, syfers,_,.,:en-gebruik, word weggelaat. - ‘n Element waarin ná hierdie reëls geen teks oorbly nie, word weggelaat.
Hierdie reëls is vergewensgesind: Lingara kort in of laat weg wat nie pas nie en teken die res. Die kits pas dieselfde reëls toe voordat jy antwoord, sodat jy kan sien wat sou verander.
Streng ontleding
Die woordeskat is geslote. ‘n Onbekende elementtipe, ‘n veld wat ‘n element nie het nie, ‘n waarde van die verkeerde JSON-tipe, of ‘n antwoord wat glad nie JSON is nie, verander die hele antwoord in ‘n terugvalkaart. Lingara teken nooit ‘n deel van ‘n kaart wat dit nie kon lees nie.
Grootte en tyd
‘n Antwoord mag hoogstens 32 KiB wees. Lingara gee jou bediener 3 sekondes om ‘n render te beantwoord en 5 sekondes om ‘n aksie te beantwoord, en probeer geen van die twee weer nie. ‘n Antwoord moet status 200 en ‘n JSON-inhoudtipe hê. Herleidings word nie gevolg nie.
Knoppies en aksies
Wanneer die leerder ‘n knoppie druk, stuur Lingara ‘n aksieversoek aan jou bediener wat daardie knoppie se action dra. Jou bediener antwoord met ‘n nuwe kaart, wat die ou een vervang. Dieselfde druk kan twee keer aankom, so maak elke aksie veilig om te herhaal.
Wanneer ‘n kaart misluk
Wanneer Lingara nie ‘n kaart kan kry wat dit kan teken nie, sien die leerder Lingara se eie “Hierdie app het nie geantwoord nie”-kaart in hul taal, of jou laaste goeie kaart gemerk as nie op datum nie. Die leerder word nooit vertel hoekom nie. Net jy, as die app se eienaar, sien die rede:
- Jou antwoord:
invalid(nie ‘n kaart wat Lingara kan lees nie),empty(niks oor om te wys ná die perke nie) oftoo_large(meer as 32 KiB). - Om jou bediener te bereik:
timeout,http_error(enige status behalwe 200),transport(‘n verbindings- of TLS-fout, soos ‘n verstreke sertifikaat) ofblocked(‘nrender_urlwat na ‘n privaat of letterlike IP-adres lei). - Lingara se kant:
unavailable(Lingara kon nie die versoek onderteken nie) ofbusy(reeds te veel versoeke onderweg).