Study Roomsカード

図書館とグループ学習室の現在の空き状況、空きが続く時間、予約済みの部屋が利用可能になる時間を表示します。

図書館とグループ学習室の空き時間が表示され、空き時間がどれくらい続くかがわかります。予約済みの部屋は空き次第リストに表示されます。

ライブカード

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

カテゴリ:学校。タグ:学校とキャンパス、案内とディレクトリ、待ち行列。

レイアウト

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

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

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

データとプライバシー

フィード:screenrig.rooms/v1。

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

時間のみ:予約タイトルと名前は表示されません。

プロパティ

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

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

静的プロパティ

名前タイプデフォルト値と制限説明
titlestring"Study rooms"maxLength:40
minFreeMinutesinteger20最小値:0;最大値:240この時間未満で空いている部屋は、すぐに予約されるため空きとはみなされません。
opensAtstring""maxLength:5図書館が開くとき、スクリーンのタイムゾーンでのHH:MM。空の場合は常に開いている。
closesAtstring""maxLength:5図書館が閉まるとき、HH:MM。部屋はそれまで空きとして読み取る。空の場合は日没まで。
sortstring"free""free", "feed"フリーは最も長く空いている部屋を最初に;フィードは与えられた順序を保持。
showSeatsbooleantrue
staleMinutesinteger10最小値: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})?$"メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。

動的プロパティ

名前タイプデフォルト値と制限説明
roomsarray[]maxItems:60ルーム。フィード(screenrig.rooms/v1)が存在する場合はそれが優先されます。そうでない場合はデータストアが同じ行を提供します。
rooms[].namestringminLength:1;maxLength:40;必須
rooms[].floorstringmaxLength:24レベル2。
rooms[].capacityinteger最小値:1;最大値:500座席。
rooms[].eventsarraymaxItems:60部屋の予約。タイトルや名前は表示されない。
rooms[].events[].startstringmaxLength:32;必須ISO 8601。オフセット付きまたはスクリーンのタイムゾーンの壁時計時刻。
rooms[].events[].endstringmaxLength:32これがない場合、予約は1時間続きます。
updatedstring""maxLength:32予約が読み込まれたとき、ISO 8601(データストアのみ;フィードはfetchedAtを含む)。

キャンバス例

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

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

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

{
  "id": "study-rooms",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

ライブデータを書き込む

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

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

{
  "rooms": [],
  "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":{"rooms":[],"updated":""}}'