Cartão de Laboratórios de Computação

Estações de trabalho livres aparecem para cada laboratório de informática do campus, junto com ocupação, horário de fechamento e status da impressora.

Detalhamento do sistema operacional mostra quais sistemas têm estações de trabalho livres. Lotação, horário de fechamento e status da impressora permanecem vinculados ao laboratório individual.

Cartão ao vivo

Este cartão é desenhado no seu navegador pelo mesmo código que os Players executam, com dados de exemplo.

Categoria: Escolas. Tags: Escolas e campi, Números e métricas.

Layouts

Este cartão em tela cheia preenche toda a tela em paisagem ou retrato e não é colocado como canto, chip ou faixa.

Layouts: cheio. Formas: paisagem, retrato.

Layouts, temas e publicação de cartões. Veja os cartões.

Dados e privacidade

Feed: screenrig.labs/v1.

Documentos do feed carregam atribuição da fonte. O Player fornece o feed para o cartão.

Conta apenas, nunca quem está em uma estação de trabalho.

Propriedades

Para tema, fundo, destaque e posição, veja Propriedades comuns.

Defina as propriedades estáticas nos params do cartão ao criá-lo. O documento de dados dele contém apenas propriedades dinâmicas. Linhas aninhadas descrevem o conteúdo da propriedade pai.

Propriedades estáticas

NomeTipoPadrãoValores e limitesDescrição
titlestring"Computer labs"maxLength: 40
sortstring"feed""feed", "free"feed mantém a ordem dada; free coloca o laboratório com mais estações livres primeiro.
lowPercentinteger20mínimo: 1; máximo: 50Um laboratório com esta porcentagem ou menos de suas estações livres aparece como Lotando.
showPlatformsbooleantrue
showPrintersbooleantrue
staleMinutesinteger10mínimo: 1; máximo: 1440
hour12booleanfalse
timeZonestring, nulonull
backgroundColorstring, nulonullpadrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Substitui o fundo e a placa do cartão por uma cor plana ordenada por CSS. #RRGGBBAA fornece opacidade. background none tem precedência.
textColorstring, nulonullpadrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Substitui as cores do texto principal e secundário. As cores de destaque e status semântico mantêm seus papéis.

Propriedades dinâmicas

NomeTipoPadrãoValores e limitesDescrição
labsarray[]minItems: 0; maxItems: 8Os laboratórios. Um feed (screenrig.labs/v1) vence quando presente; o armazenamento de dados fornece as mesmas linhas caso contrário.
labs[].namestringminLength: 1; maxLength: 40; Obrigatório
labs[].locationstringmaxLength: 40Prédio e sala: Irving K. Barber, nível 2.
labs[].totalintegermínimo: 0; máximo: 2000; ObrigatórioEstações de trabalho no laboratório.
labs[].freeintegermínimo: 0; máximo: 2000Estações de trabalho livres agora. Sem isso, o cartão usa o total menos inUse.
labs[].inUseintegermínimo: 0; máximo: 2000
labs[].openbooleantrue
labs[].closesAtstringmaxLength: 32ISO 8601; com deslocamento ou horário local da zona da tela.
labs[].opensAtstringmaxLength: 32Quando um laboratório fechado abre a seguir, ISO 8601.
labs[].platformsarraymaxItems: 4Estações de trabalho livres por sistema operacional.
labs[].platforms[].osstringmaxLength: 20; Obrigatório
labs[].platforms[].freeintegermínimo: 0; máximo: 2000; Obrigatório
labs[].printersarraymaxItems: 12
labs[].printers[].namestringmaxLength: 30
labs[].printers[].statusstring"ready", "low-paper", "out-of-paper", "low-toner", "out-of-toner", "jam", "offline", "error"; Obrigatório
updatedstring""maxLength: 32Quando as contagens foram feitas, ISO 8601 (apenas armazenamento de dados; um feed carrega fetchedAt).

Exemplo de tela

Salve as propriedades estáticas como params.json e crie o cartão. O resultado traz o id crd_ dele.

{
  "theme": "neomustard"
}
screenrig card create --type computer-labs --major 1 --file params.json

Adicione este item aos primitives de uma página da playlist, com esse id no lugar do id do exemplo. Publique a playlist e atribua uma tela.

{
  "id": "computer-labs",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escrever dados ao vivo

Escreva o documento no cartão depois de criá-lo e depois substitua-o para atualizar a tela sem republicar. O cartão verifica cada gravação contra suas propriedades dinâmicas e recusa um documento que ele rejeita. Use o mesmo projeto da playlist.

Salve o documento como card-data.json. O CLI lê o documento em si, sem invólucro:

{
  "labs": [],
  "updated": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Ou chame a API diretamente. A API envolve o mesmo documento em um campo document. Um token de agente já nomeia seu projeto, então nenhum cabeçalho de projeto é enviado; se você enviar ScreenRig-Project, ele deve corresponder ao projeto do token. Forneça sua autorização de API pelo ambiente; veja Autenticação da 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":{"labs":[],"updated":""}}'