食堂カード

現在のキャンパス食堂:行列の長さ、提供中の食事と終了時間、各ステーションのメニュー。

各オープンホールは、行列の長さを示し、混雑度のバー、その後に提供される食事と終了時間、各ステーションの提供内容を表示します。遅く開くホール、営業終了または閉鎖されたホールは時間とともにリストされます。1つのホールは画面全体を埋め、多数のホールは行に分かれてすべて表示されます。

ライブカード

このカードはブラウザでプレーヤーと同じコードで描画され、サンプルデータを使用します。

カテゴリ: 学校。タグ: 学校とキャンパス、スケジュール、行列と待ち時間。

レイアウト

この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。

レイアウト:フル。フォーム:ランドスケープ、ポートレート。

カードレイアウト、テーマ、公開。カードを閲覧。

データとプライバシー

フィード:screenrig.dining/v1。

フィードドキュメントは情報源の帰属を含みます。プレーヤーがカードにフィードを提供します。

カウントとメニューのみで、誰が食べているかは表示しません。

プロパティ

テーマ、背景、アクセント、位置については共通プロパティを参照してください。

カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。

静的プロパティ

名前タイプデフォルト値と制限説明
titlestring"Dining halls"maxLength:40
sortstring"status""status", "feed"status は開いているホールを先に、その後に遅れて開くもの、最後に閉鎖をリスト。feed は与えられた順序を維持。
busyLowinteger40最小値:1;最大値:90この割合未満の満員度でホールは静かと表示。
busyHighinteger75最小値:10;最大値:100このパーセント以上の満杯率でホールは「混雑」と表示されます。
maxStationsinteger4最小値:0;最大値:6
showStationsbooleantrue
staleMinutesinteger30最小値:1;最大値:1440
hour12booleanfalse
timeZone文字列、nullnull
backgroundColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。
textColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。

動的プロパティ

名前タイプデフォルト値と制限説明
hallsarray[]maxItems:8ホールです。フィード(screenrig.dining/v1)が存在する場合は優先されます。そうでなければデータストアが同じ行を提供します。
halls[].namestringminLength:1;maxLength:40;必須
halls[].locationstringmaxLength:40
halls[].closedbooleanfalse終日休業(休憩、休日);理由が記載されています。
halls[].notestringmaxLength:60
halls[].mealsarraymaxItems:8今日の提供時間。
halls[].meals[].kindstringmaxLength:20;必須朝食、ブランチ、昼食、夕食、深夜またはスナック;その他のテキストはそのまま表示。
halls[].meals[].startstringmaxLength:32;必須ISO 8601。オフセット付きまたはスクリーンのタイムゾーンの壁時計時刻。
halls[].meals[].endstringmaxLength:32;必須
halls[].busyPercentinteger最小値:0;最大値:100現在のホールの混雑度。
halls[].waitMinutesinteger最小値:0;最大値:240行の長さ(分単位)です。
halls[].stationsarraymaxItems:12
halls[].stations[].namestringmaxLength:30;必須
halls[].stations[].mealstringmaxLength:20この食事のみ表示します。空欄の場合はすべての食事を表示します。
halls[].stations[].itemsarraymaxItems:6
updatedstring""maxLength:32読み取りが記録されたとき、ISO 8601(データストアのみ;フィードはfetchedAtを含む)。

キャンバス例

静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。

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

このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。

{
  "id": "dining-halls",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

ライブデータを書き込む

カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。

ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。

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

またはAPIを直接呼び出します。APIは同じドキュメントをdocumentフィールドにラップします。エージェントトークンはすでにプロジェクト名を含むため、プロジェクトヘッダーは送信しません。ScreenRig-Projectを送信する場合はトークンのプロジェクトと一致する必要があります。API認証は環境変数で提供してください。詳細は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":""}}'