Udostępnij przez


AdaptiveCard Element

Uwaga / Notatka

Czy tworzysz scenariusze Copilot, Teams lub Outlook obsługiwane przez karty adaptacyjne? Odwiedź centrum dokumentacji kart adaptacyjnych— nowy, jednorazowy sklep dla wszystkich potrzeb karty adaptacyjnej. Zawiera wszystkie potrzebne zasoby, w tym kompletną dokumentację dla wielu nowych funkcji, takich jak układ dynamiczny, ikona, znaczek, karuzela, wykresy i wiele innych.

Ta strona dokumentuje AdaptiveCard element, który jest elementem głównym karty adaptacyjnej.

Ważna uwaga dotycząca ułatwień dostępu: W wersji 1.3 schematu wprowadziliśmy właściwość label dla danych wejściowych w celu zwiększenia ułatwień dostępu. Jeśli docelowa aplikacja hosta obsługuje v1.3, należy użyć Label zamiast TextBlock, jak pokazano w poniższych przykładach. Po zaktualizowaniu większości aplikacji Host do najnowszej wersji zaktualizujemy stosownie do tego przykłady.

Karta adaptacyjna

Karta adaptacyjna zawierająca dowolną postać elementów karty oraz opcjonalny zestaw akcji.

Właściwości AdaptiveCard

Majątek Typ Wymagane Description wersja
type "AdaptiveCard" Tak Musi mieć wartość "AdaptiveCard". 1.0
version string Tak Wersja schematu, którą wymaga ta karta. Jeśli klient jest niższy niż ta wersja, fallbackText zostanie on renderowany. UWAGA: Wersja nie jest wymagana dla kart znajdujących się w Action.ShowCard. Jednak jest to wymagane dla karty najwyższego poziomu. 1.0
odświeżyć Refresh Nie. Definiuje sposób odświeżania karty, wysyłając żądanie do docelowego bota. 1.4
uwierzytelnianie Authentication Nie. Definiuje informacje o uwierzytelnianiu, aby włączyć logowanie jednokrotne w imieniu użytkownika lub just-in-time OAuth. 1.4
body Element[] Nie. Elementy karty do wyświetlenia w głównym obszarze karty. 1.0
actions Action[] Nie. Akcje do wyświetlenia na pasku akcji karty. 1.0
selectAction ISelectAction Nie. Akcja, która zostanie wywołana po naciśnięciu lub wybraniu karty. Action.ShowCard nie jest obsługiwana. 1.1
fallbackText string Nie. Tekst wyświetlany, gdy klient nie obsługuje określonej wersji (może zawierać znaczniki markdown). 1.0
backgroundImage BackgroundImage, uri Nie. Określa obraz tła karty. 1.2, 1.0
metadane Metadata Nie. Definiuje różne właściwości metadanych, które zwykle nie są używane do renderowania karty 1.6
minHeight string Nie. Określa minimalną wysokość karty. 1.2
Rtl boolean? Nie. Gdy true zawartość tej karty adaptacyjnej powinna być wyświetlana od prawej do lewej. Gdy zawartość "false" w tej karcie adaptacyjnej powinna być wyświetlana od lewej do prawej. Jeśli ustawienie nie zostanie ustawione, zostanie zastosowane domyślne zachowanie platformy. 1.5
mówić string Nie. Określa, co powinno być mówione dla całej karty. Jest to prosty tekst lub fragment SSML. 1.0
Lang string Nie. 2-literowy język ISO-639-1 używany na karcie. Służy do lokalizowania dowolnych funkcji daty/godziny. 1.0
verticalContentAlignment VerticalContentAlignment Nie. Definiuje sposób wyrównania zawartości w pionie w kontenerze. Dotyczy tylko kart o stałej wysokości lub kart z określoną wartością minHeight . 1.1
$schema uri Nie. Schemat karty adaptacyjnej. 1.0

Example

Podstawowy przykład karty adaptacyjnej (JSON)

{
	"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
	"type": "AdaptiveCard",
	"version": "1.0",
	"body": [
		{
			"type": "Container",
			"items": [
				{
					"type": "TextBlock",
					"text": "Publish Adaptive Card schema",
					"weight": "bolder",
					"size": "medium"
				},
				{
					"type": "ColumnSet",
					"columns": [
						{
							"type": "Column",
							"width": "auto",
							"items": [
								{
									"type": "Image",
									"url": "https://pbs.twimg.com/profile_images/3647943215/d7f12830b3c17a5a9e4afcc370e3a37e_400x400.jpeg",
									"altText": "Matt Hidinger",
									"size": "small",
									"style": "person"
								}
							]
						},
						{
							"type": "Column",
							"width": "stretch",
							"items": [
								{
									"type": "TextBlock",
									"text": "Matt Hidinger",
									"weight": "bolder",
									"wrap": true
								},
								{
									"type": "TextBlock",
									"spacing": "none",
									"text": "Created {{DATE(2017-02-14T06:08:39Z, SHORT)}}",
									"isSubtle": true,
									"wrap": true
								}
							]
						}
					]
				}
			]
		},
		{
			"type": "Container",
			"items": [
				{
					"type": "TextBlock",
					"text": "Now that we have defined the main rules and features of the format, we need to produce a schema and publish it to GitHub. The schema will be the starting point of our reference documentation.",
					"wrap": true
				},
				{
					"type": "FactSet",
					"facts": [
						{
							"title": "Board:",
							"value": "Adaptive Card"
						},
						{
							"title": "List:",
							"value": "Backlog"
						},
						{
							"title": "Assigned to:",
							"value": "Matt Hidinger"
						},
						{
							"title": "Due date:",
							"value": "Not set"
						}
					]
				}
			]
		}
	],
	"actions": [
		{
			"type": "Action.ShowCard",
			"title": "Comment",
			"card": {
				"type": "AdaptiveCard",
				"body": [
					{
						"type": "Input.Text",
						"id": "comment",
						"isMultiline": true,
						"placeholder": "Enter your comment"
					}
				],
				"actions": [
					{
						"type": "Action.Submit",
						"title": "OK"
					}
				]
			}
		},
		{
			"type": "Action.OpenUrl",
			"title": "View",
			"url": "https://adaptivecards.io"
		}
	]
}

Właściwości

wersja

Wersja schematu, której wymaga ta karta. Jeśli klient jest niższy niż ta wersja, fallbackText zostanie wyrenderowane. UWAGA: Wersja nie jest wymagana dla kart zawartych w elemencie Action.ShowCard. Jednak jest to wymagane dla karty najwyższego poziomu.

  • Typ: string
  • Wymagane: Nie

odświeżyć

Definiuje sposób odświeżania karty, wysyłając żądanie do docelowego bota.

  • Typ: Refresh
  • Wersja: 1.4
  • Wymagane: Nie
  • Dozwolone wartości:
    • Refresh

Przykład odświeżania (JSON)

{
	"type": "AdaptiveCard",
	"version": "1.3",
	"refresh": {
		"action": {
			"type": "Action.Execute",
			"verb": "refreshCard"
		},
		"userIds": [
			"user1",
			"user2"
		]
	},
	"body": [
		{
			"type": "TextBlock",
			"text": "This is a card that will be refreshed."
		}
	]
}

uwierzytelnianie

Definiuje informacje o uwierzytelnianiu, aby włączyć logowanie jednokrotne w imieniu użytkownika lub just-in-time OAuth.

  • Typ: Authentication
  • Wersja: 1.4
  • Wymagane: Nie
  • Dozwolone wartości:
    • Authentication

Przykład uwierzytelniania (JSON)

{
	"type": "AdaptiveCard",
	"version": "1.4",
	"authentication": {
		"connectionName": "myConnection",
		"text": "Please Authenticate your account",
		"tokenExchangeResource": {
			"id": "myTokenId",
			"providerId": "myProviderId",
			"uri": "https: //mytoken.exchange/resource"
		},
		"buttons": [
			{
				"type": "signin",
				"title": "Click here to Sign In!"
			}
		]
	},
	"body": [
		{
			"type": "TextBlock",
			"text": "This is a card that has authentication"
		}
	]
}

body

Elementy karty do wyświetlenia w głównym obszarze karty.

  • Typ: Element[]
  • Wymagane: Nie
  • Dozwolone wartości:
    • ActionSet
    • ColumnSet
    • Container
    • FactSet
    • Image
    • ImageSet
    • Input.ChoiceSet
    • Input.Date
    • Input.Number
    • Input.Text
    • Input.Time
    • Input.Toggle
    • Media
    • RichTextBlock
    • Table
    • TextBlock

działania

Akcje do wyświetlenia na pasku akcji karty.

  • Typ: Action[]
  • Wymagane: Nie
  • Dozwolone wartości:
    • Action.Execute
    • Action.OpenUrl
    • Action.ShowCard
    • Action.Submit
    • Action.ToggleVisibility

wybierzDziałanie

Akcja, która zostanie wywołana po naciśnięciu lub wybraniu karty. Action.ShowCard nie jest obsługiwana.

  • Typ: ISelectAction
  • Wersja: 1.1
  • Wymagane: Nie
  • Dozwolone wartości:
    • Action.Execute
    • Action.OpenUrl
    • Action.Submit
    • Action.ToggleVisibility

tekst zastępczy

Tekst wyświetlany, gdy klient nie obsługuje określonej wersji (może zawierać znaczniki markdown).

  • Typ: string
  • Wymagane: Nie

backgroundImage

Określa obraz tła karty.

  • Typ: BackgroundImage, uri
  • Wersja: 1.2, 1.0
  • Wymagane: Nie
  • Dozwolone wartości:
    • BackgroundImage
    • uri

metadane

Definiuje różne właściwości metadanych, które zwykle nie są używane do renderowania karty

  • Typ: Metadata
  • Wersja: 1.6
  • Wymagane: Nie
  • Dozwolone wartości:
    • Metadata

minimalna wysokość

Określa minimalną wysokość karty.

  • Typ: string
  • Wersja: 1.2
  • Wymagane: Nie

minHeight — przykład zastosowania (JSON)

{
	"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
	"type": "AdaptiveCard",
	"version": "1.2",
	"minHeight": "100px",
	"body": [
		{
			"type": "TextBlock",
			"wrap": true,
			"text": "This card has a minHeight of 100px"
		}
	]
}

Rtl

Gdy true zawartość tej karty adaptacyjnej powinna być wyświetlana od prawej do lewej. Gdy zawartość "false" w tej karcie adaptacyjnej powinna być wyświetlana od lewej do prawej. Jeśli ustawienie nie zostanie ustawione, zostanie zastosowane domyślne zachowanie platformy.

  • Typ: boolean?
  • Wersja: 1.5
  • Wymagane: Nie

Przykład rtl (JSON)

{
  "type": "AdaptiveCard",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.5",
  "rtl": true,
  "body": [
    {
      "type": "TextBlock",
      "text": "هذه كتلة نص",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "זהו בלוק טקסט",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "This is a text block",
      "wrap": true
    }
  ]
}

mówić

Określa, co powinno być mówione dla całej karty. Jest to prosty tekst lub fragment SSML.

  • Typ: string
  • Wymagane: Nie

język

2-literowy język ISO-639-1 używany na karcie. Służy do lokalizowania dowolnych funkcji daty/godziny.

  • Typ: string
  • Wymagane: Nie

pionoweWyrównanieZawartości

Definiuje sposób wyrównania zawartości w pionie w kontenerze. Dotyczy tylko kart o stałej wysokości lub kart z określoną wartością minHeight .

  • Typ: VerticalContentAlignment
  • Wersja: 1.1
  • Wymagane: Nie
  • Dozwolone wartości:
    • "top"
    • "center"
    • "bottom"

$schema

Schemat karty adaptacyjnej.

  • Typ: uri
  • Wymagane: Nie