Tarjeta en vivo
Categoría: Comida y bebida. Etiquetas: Restaurantes y cafés, Tiendas, Precios y tarifas.
Diseños
Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.
Diseños: completo. Formularios: horizontal, vertical.
Diseños, temas y publicación de tarjetas. Explorar las tarjetas.
Datos y privacidad
Esta tarjeta usa sus propiedades configuradas y datos en vivo de la tarjeta.
Propiedades
Para tema, fondo, acento y posición, consulte Propiedades comunes.
Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.
Propiedades estáticas
| Nombre | Tipo | Predeterminado | Valores y límites | Descripción |
|---|---|---|---|---|
title | string | "Combo meals" | maxLength: 40 | |
currency | string | "$" | maxLength: 3 | |
decimals | número, cadena | "auto" | "auto", 0, 1, 2 | auto usa números enteros cuando todos los precios son enteros. |
perPage | integer | 0 | mínimo: 0; máximo: 8 | Combinaciones en una página. 0 se ajusta solo: cuatro en horizontal, una columna en vertical. |
pageSeconds | number | 10 | mínimo: 5; máximo: 120 | Cuánto tiempo permanece una página cuando las combinaciones no caben en una sola página. |
footnote | string | "" | maxLength: 120 | Una línea a lo largo del pie, por ejemplo Los precios incluyen impuestos. |
backgroundColor | cadena, nulo | null | patrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad. |
textColor | cadena, nulo | null | patrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles. |
Propiedades dinámicas
| Nombre | Tipo | Predeterminado | Valores y límites | Descripción |
|---|---|---|---|---|
combos | array | [{"name":"Smoky stack","items":["Double smoky burger","Large fries","Drink"],"price":10.99,"was":13.47,"upsize":{"label":"Large","add":1.2},"kcal":1240,"badge":"Popular"},{"name":"Crispy chicken","items":["Crispy chicken sandwich","Fries","Drink"],"price":9.49,"was":11.97,"upsize":{"label":"Large","add":1.2},"kcal":1080},{"name":"Garden bowl","items":["Grain bowl","Fruit cup","Drink"],"price":11.25,"was":13.5,"upsize":{"label":"Large","add":1.5},"kcal":760},{"name":"Little one","items":["Mini burger","Apple slices","Juice box"],"price":6.25,"was":7.75,"kcal":520}] | maxItems: 24 | Los combos, en orden del tablero. |
combos[].number | string | maxLength: 4 | El número en el tablero. Vacío cuenta 1, 2, 3. | |
combos[].name | string | minLength: 1; maxLength: 120; Requerido | ||
combos[].items | array | maxItems: 6 | Lo que hay en el combo, una línea cada uno. | |
combos[].price | número, nulo | mínimo: 0 | El precio del combo. | |
combos[].was | número, nulo | mínimo: 0 | Los mismos artículos comprados uno por uno; se calcula el ahorro. | |
combos[].upsize | objeto, nulo | additionalProperties: false | El paso de aumento de tamaño, por ejemplo Grande +1.20. | |
combos[].upsize.label | string | maxLength: 24 | ||
combos[].upsize.add | número, nulo | mínimo: 0 | ||
combos[].kcal | número, nulo | mínimo: 0 | ||
combos[].image | string | maxLength: 200 | Una referencia de contenido multimedia del proyecto (media:<id>). Vacío muestra el mosaico del tema con un ícono de comida. | |
combos[].badge | string | maxLength: 16 | Una marca corta en la foto, por ejemplo Popular. | |
combos[].soldOut | boolean | false |
Ejemplo de lienzo
Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.
{
"theme": "neomustard"
}
screenrig card create --type combo-meals --major 1 --file params.json
Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.
{
"id": "combo-meals",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
Escribir datos en vivo
Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.
Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:
{
"combos": [
{
"name": "Smoky stack",
"items": [
"Double smoky burger",
"Large fries",
"Drink"
],
"price": 10.99,
"was": 13.47,
"upsize": {
"label": "Large",
"add": 1.2
},
"kcal": 1240,
"badge": "Popular"
},
{
"name": "Crispy chicken",
"items": [
"Crispy chicken sandwich",
"Fries",
"Drink"
],
"price": 9.49,
"was": 11.97,
"upsize": {
"label": "Large",
"add": 1.2
},
"kcal": 1080
},
{
"name": "Garden bowl",
"items": [
"Grain bowl",
"Fruit cup",
"Drink"
],
"price": 11.25,
"was": 13.5,
"upsize": {
"label": "Large",
"add": 1.5
},
"kcal": 760
},
{
"name": "Little one",
"items": [
"Mini burger",
"Apple slices",
"Juice box"
],
"price": 6.25,
"was": 7.75,
"kcal": 520
}
]
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.
curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
--header "Authorization: Bearer $SCREENRIG_TOKEN" \
--header "Content-Type: application/json" \
--data '{"document":{"combos":[{"name":"Smoky stack","items":["Double smoky burger","Large fries","Drink"],"price":10.99,"was":13.47,"upsize":{"label":"Large","add":1.2},"kcal":1240,"badge":"Popular"},{"name":"Crispy chicken","items":["Crispy chicken sandwich","Fries","Drink"],"price":9.49,"was":11.97,"upsize":{"label":"Large","add":1.2},"kcal":1080},{"name":"Garden bowl","items":["Grain bowl","Fruit cup","Drink"],"price":11.25,"was":13.5,"upsize":{"label":"Large","add":1.5},"kcal":760},{"name":"Little one","items":["Mini burger","Apple slices","Juice box"],"price":6.25,"was":7.75,"kcal":520}]}}'