Cada salón abierto muestra primero la longitud de la fila, sobre una barra que indica qué tan ocupado está, luego la comida que se sirve y hasta cuándo, y qué sirve cada estación. Los salones que abren más tarde, han terminado por el día o están cerrados se listan con su horario. Un salón llena la pantalla; varios salones se organizan en filas para que todos se muestren.
Tarjeta en vivo
Categoría: Escuelas. Etiquetas: Escuelas y campus, Horarios, Filas y esperas.
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
Feed: screenrig.dining/v1.
Los documentos del feed llevan atribución de la fuente. El Player suministra el feed a la tarjeta.
Solo conteos y menús, nunca quién está comiendo.
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 | "Dining halls" | maxLength: 40 | |
sort | string | "status" | "status", "feed" | status lista primero los salones abiertos, luego los que abren más tarde, luego los cerrados; feed mantiene el orden dado. |
busyLow | integer | 40 | mínimo: 1; máximo: 90 | Por debajo de este porcentaje lleno, un salón se lee como Tranquilo. |
busyHigh | integer | 75 | mínimo: 10; máximo: 100 | Con esta ocupación o superior, un salón se considera ocupado. |
maxStations | integer | 4 | mínimo: 0; máximo: 6 | |
showStations | boolean | true | ||
staleMinutes | integer | 30 | mínimo: 1; máximo: 1440 | |
hour12 | boolean | false | ||
timeZone | cadena, nulo | null | ||
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 |
|---|---|---|---|---|
halls | array | [] | maxItems: 8 | Los salones. Una fuente (screenrig.dining/v1) prevalece cuando está presente; el almacén de datos suministra las mismas filas de otro modo. |
halls[].name | string | minLength: 1; maxLength: 40; Requerido | ||
halls[].location | string | maxLength: 40 | ||
halls[].closed | boolean | false | Cerrado todo el día (un descanso, un feriado); la nota indica la razón. | |
halls[].note | string | maxLength: 60 | ||
halls[].meals | array | maxItems: 8 | Los horarios de servicio de hoy. | |
halls[].meals[].kind | string | maxLength: 20; Requerido | desayuno, brunch, almuerzo, cena, noche o snack; otro texto se muestra tal cual. | |
halls[].meals[].start | string | maxLength: 32; Requerido | ISO 8601; con desplazamiento o hora local en la zona de la pantalla. | |
halls[].meals[].end | string | maxLength: 32; Requerido | ||
halls[].busyPercent | integer | mínimo: 0; máximo: 100 | Qué tan lleno está el salón ahora. | |
halls[].waitMinutes | integer | mínimo: 0; máximo: 240 | La línea, en minutos. | |
halls[].stations | array | maxItems: 12 | ||
halls[].stations[].name | string | maxLength: 30; Requerido | ||
halls[].stations[].meal | string | maxLength: 20 | Muestra solo en esta comida; vacío muestra todas las comidas. | |
halls[].stations[].items | array | maxItems: 6 | ||
updated | string | "" | maxLength: 32 | Cuando se tomaron las lecturas, ISO 8601 (solo almacén de datos; un feed lleva fetchedAt). |
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 dining-halls --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": "dining-halls",
"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:
{
"halls": [],
"updated": ""
}
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":{"halls":[],"updated":""}}'