料理のセクションを設定し、それぞれに価格やMPなどのラベル、オプションの説明、食事タグ、売り切れフラグを付けます。ボードは最大の文字サイズを設定します:短いメニューは大きく中央に表示され、3品以下は特徴的に表示され、長いメニューは列に流れ、自動でページをめくり、各セクションは名前を保持します。名前と説明は単語で折り返され、価格は右側の列に揃えられ、脚注に小さな文字情報が表示されます。
ライブカード
カテゴリ: 飲食。タグ: レストランとカフェ、価格と料金、学校とキャンパス、バーとパブ。
レイアウト
この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。
レイアウト:フル。フォーム:ランドスケープ、ポートレート。
データとプライバシー
このカードは設定されたプロパティとライブカードデータを使用します。
プロパティ
テーマ、背景、アクセント、位置については共通プロパティを参照してください。
カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。
静的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
title | string | "" | maxLength:60 | |
currency | string | "$" | maxLength:4 | |
decimals | 数値、文字列 | "auto" | "auto", 0, 1, 2 | 自動はすべての価格が整数の場合は小数なしで表示し、それ以外は小数点以下2桁を表示します。 |
columns | 数値、文字列 | "auto" | "auto", 1, 2, 3 | |
specialLabel | string | "Today's special" | maxLength:30 | 互換性のために保持されています。フルビューはリードインを描画しません。 |
pageSeconds | integer | 12 | 最小値:5;最大値:120 | メニューが複数ページ必要なとき、ページは壁時計で切り替わる。 |
backgroundColor | 文字列、null | null | パターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。 |
textColor | 文字列、null | null | パターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。 |
動的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
sections | array | minItems:1;maxItems:8;必須 | ||
sections[].name | string | maxLength:40;必須 | ||
sections[].note | string | "" | maxLength:80 | |
sections[].items | array | minItems:1;maxItems:24;必須 | ||
sections[].items[].name | string | maxLength:60;必須 | ||
sections[].items[].description | string | "" | maxLength:120 | |
sections[].items[].price | 数値、null | null | 最小値:0 | |
sections[].items[].priceLabel | string | "" | maxLength:12 | 価格の代わりに表示されます。例:MP。 |
sections[].items[].tags | array | [] | maxItems:6 | |
sections[].items[].soldOut | boolean | false | ||
footnote | string | "" | maxLength:140 |
キャンバス例
静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。
{
"theme": "neomustard"
}
screenrig card create --type menu --major 1 --file params.json
このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。
{
"id": "menu",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
ライブデータを書き込む
カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。
ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。
{
"sections": [
{
"name": "Example",
"items": [
{
"name": "Example"
}
]
}
],
"footnote": ""
}
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":{"sections":[{"name":"Example","items":[{"name":"Example"}]}],"footnote":""}}'