共用方式為


CardFactory class

提供方法,以格式化 Bot 可以傳回的各種卡片類型。

備註

所有這些函式都會傳回 Attachment 物件,此物件可以直接新增至現有活動的 附件 集合,或當做輸入傳遞至其中一個 MessageFactory 方法來產生新活動。

本範例會傳送包含單一主圖卡片的訊息。

const { MessageFactory, CardFactory } = require('botbuilder');

const card = CardFactory.heroCard(
     'White T-Shirt',
     ['https://example.com/whiteShirt.jpg'],
     ['buy']
);
const message = MessageFactory.attachment(card);
await context.sendActivity(message);

屬性

contentTypes

列出每個卡片樣式的內容類型架構。

方法

actions(string | CardAction[] | undefined)

傳回格式正確的動作陣列。

adaptiveCard(any)

傳回調適型卡片的附件。

animationCard(string, string | MediaUrl[], string | CardAction[], Partial<AnimationCard>)

傳回動畫卡片的附件。

audioCard(string, string | MediaUrl[], string | CardAction[], Partial<AudioCard>)

傳回音訊卡的附件。

heroCard(string, string | CardImage[], string | CardAction[], Partial<HeroCard>)

傳回主圖卡片的附件。

heroCard(string, string, string | CardImage[], string | CardAction[], Partial<HeroCard>)

傳回主圖卡片的附件。

images(string | CardImage[] | undefined)

傳回正確格式化的卡片影像數位。

media(string | MediaUrl[] | undefined)

傳回正確格式化的媒體 URL 物件數位。

o365ConnectorCard(O365ConnectorCard)

傳回 Office 365 連接器卡片的附件。

oauthCard(string, string, string, string, TokenExchangeResource)

傳回 OAuth 卡片的附件。

receiptCard(ReceiptCard)

傳回收據卡的附件。

signinCard(string, string, string)

傳回登入卡片的附件。

thumbnailCard(string, string | CardImage[], string | CardAction[], Partial<ThumbnailCard>)

傳回縮圖卡片的附件。

thumbnailCard(string, string, string | CardImage[], string | CardAction[], Partial<ThumbnailCard>)

傳回縮圖卡片的附件。

videoCard(string, string | MediaUrl[], string | CardAction[], Partial<VideoCard>)

傳回視訊卡的附件。

屬性詳細資料

contentTypes

列出每個卡片樣式的內容類型架構。

static contentTypes: any

屬性值

any

方法詳細資料

actions(string | CardAction[] | undefined)

傳回格式正確的動作陣列。

static function actions(actions: string | CardAction[] | undefined): CardAction[]

參數

actions

string | CardAction[] | undefined

要包含在卡片上的動作陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

傳回

CardAction[]

已正確格式化的動作陣列。

adaptiveCard(any)

傳回調適型卡片的附件。

static function adaptiveCard(card: any): Attachment

參數

card

any

要傳回之調適型卡片的描述。

傳回

Attachment

附件

備註

調適型卡片是開放式卡片交換格式,可讓開發人員以通用且一致的方式交換UI內容。 對於尚未原生支援調適型卡片的通道,Bot Framework 會將卡片向下轉譯為已設定樣式以在目標通道上看起來良好的影像。 對於支援 主圖卡片的頻道, 您可以繼續包含調適型卡片動作,而且它們會連同轉譯的卡片版本一起傳送為按鈕。

如需調適型卡片和下載最新 SDK 的詳細資訊,請瀏覽 adaptivecards.io

例如:

const card = CardFactory.adaptiveCard({
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.0",
  "body": [
      {
         "type": "TextBlock",
         "text": "Default text input"
      }
  ],
  "actions": [
      {
         "type": "Action.Submit",
         "title": "OK"
      }
  ]
});

animationCard(string, string | MediaUrl[], string | CardAction[], Partial<AnimationCard>)

傳回動畫卡片的附件。

static function animationCard(title: string, media: string | MediaUrl[], buttons?: string | CardAction[], other?: Partial<AnimationCard>): Attachment

參數

title

string

卡片標題。

media

string | MediaUrl[]

卡片的媒體 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<AnimationCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

audioCard(string, string | MediaUrl[], string | CardAction[], Partial<AudioCard>)

傳回音訊卡的附件。

static function audioCard(title: string, media: string | MediaUrl[], buttons?: string | CardAction[], other?: Partial<AudioCard>): Attachment

參數

title

string

卡片標題。

media

string | MediaUrl[]

卡片的媒體 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<AudioCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

heroCard(string, string | CardImage[], string | CardAction[], Partial<HeroCard>)

傳回主圖卡片的附件。

static function heroCard(title: string, images?: string | CardImage[], buttons?: string | CardAction[], other?: Partial<HeroCard>): Attachment

參數

title

string

卡片標題。

images

string | CardImage[]

自選。 要包含在卡片上的影像陣列。 每個元素可以是 CardImage 或要包含之影像的 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<HeroCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

備註

主圖卡片通常會有一個佔主導地位的全角影像。 通道通常會呈現影像下方卡片的文字和按鈕。

例如:

const card = CardFactory.heroCard(
     'White T-Shirt',
     ['https://example.com/whiteShirt.jpg'],
     ['buy']
);

heroCard(string, string, string | CardImage[], string | CardAction[], Partial<HeroCard>)

傳回主圖卡片的附件。

static function heroCard(title: string, text: string, images?: string | CardImage[], buttons?: string | CardAction[], other?: Partial<HeroCard>): Attachment

參數

title

string

卡片標題。

text

string

卡片文字。

images

string | CardImage[]

自選。 要包含在卡片上的影像陣列。 每個元素可以是 CardImage 或要包含之影像的 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<HeroCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

備註

主圖卡片通常會有一個佔主導地位的全角影像。 通道通常會呈現影像下方卡片的文字和按鈕。 例如:

const card = CardFactory.heroCard(
     'White T-Shirt',
     ['https://example.com/whiteShirt.jpg'],
     ['buy']
);

images(string | CardImage[] | undefined)

傳回正確格式化的卡片影像數位。

static function images(images: string | CardImage[] | undefined): CardImage[]

參數

images

string | CardImage[] | undefined

要包含在卡片上的影像陣列。 每個元素可以是 CardImage 或要包含之影像的 URL。

傳回

CardImage[]

正確格式化的卡片影像陣列。

media(string | MediaUrl[] | undefined)

傳回正確格式化的媒體 URL 物件數位。

static function media(links: string | MediaUrl[] | undefined): MediaUrl[]

參數

links

string | MediaUrl[] | undefined

媒體 URL。 每個 string 都會轉換成媒體 URL 物件。

傳回

MediaUrl[]

正確格式化的媒體 URL 物件陣列。

o365ConnectorCard(O365ConnectorCard)

傳回 Office 365 連接器卡片的附件。

static function o365ConnectorCard(card: O365ConnectorCard): Attachment

參數

card

O365ConnectorCard

要傳回之 Office 365 連接器卡片的描述。

傳回

Attachment

附件

備註

例如:

const card = CardFactory.o365ConnectorCard({
  "title": "card title",
  "text": "card text",
  "summary": "O365 card summary",
  "themeColor": "#E67A9E",
  "sections": [
      {
          "title": "**section title**",
          "text": "section text",
          "activityTitle": "activity title",
      }
  ]
});

oauthCard(string, string, string, string, TokenExchangeResource)

傳回 OAuth 卡片的附件。

static function oauthCard(connectionName: string, title: string, text?: string, link?: string, tokenExchangeResource?: TokenExchangeResource): Attachment

參數

connectionName

string

要使用的 OAuth 連線名稱。

title

string

卡片登入按鈕的標題。

text

string

自選。 要包含在卡片上的其他文字。

link

string

自選。 要使用的登入連結。

tokenExchangeResource

TokenExchangeResource

自選。 要嘗試用來執行令牌交換的資源。

傳回

Attachment

附件

備註

OAuth 卡片支援 Bot Framework 的單一登錄 (SSO) 服務。

receiptCard(ReceiptCard)

傳回收據卡的附件。

static function receiptCard(card: ReceiptCard): Attachment

參數

card

ReceiptCard

要傳回之收據卡片的描述。

傳回

Attachment

附件

signinCard(string, string, string)

傳回登入卡片的附件。

static function signinCard(title: string, url: string, text?: string): Attachment

參數

title

string

卡片登入按鈕的標題。

url

string

要使用的登入頁面 URL。

text

string

自選。 要包含在卡片上的其他文字。

傳回

Attachment

附件

備註

對於原本不支援登入卡的通道,則會轉譯替代訊息。

thumbnailCard(string, string | CardImage[], string | CardAction[], Partial<ThumbnailCard>)

傳回縮圖卡片的附件。

static function thumbnailCard(title: string, images?: string | CardImage[], buttons?: string | CardAction[], other?: Partial<ThumbnailCard>): Attachment

參數

title

string

卡片標題。

images

string | CardImage[]

自選。 要包含在卡片上的影像陣列。 每個元素可以是 CardImage 或要包含之影像的 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<ThumbnailCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

備註

縮圖卡片類似於主圖卡片,但不是全角影像,而是通常會以較小的縮圖版本轉譯影像。 通道通常會將卡片的文字轉譯為影像的一側,並顯示卡片下方的任何按鈕。

thumbnailCard(string, string, string | CardImage[], string | CardAction[], Partial<ThumbnailCard>)

傳回縮圖卡片的附件。

static function thumbnailCard(title: string, text: string, images?: string | CardImage[], buttons?: string | CardAction[], other?: Partial<ThumbnailCard>): Attachment

參數

title

string

卡片標題。

text

string

卡片文字。

images

string | CardImage[]

自選。 要包含在卡片上的影像陣列。 每個元素可以是 CardImage 或要包含之影像的 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<ThumbnailCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件

備註

縮圖卡片類似於主圖卡片,但不是全角影像,而是通常會以較小的縮圖版本轉譯影像。 通道通常會將卡片的文字轉譯為影像的一側,並顯示卡片下方的任何按鈕。

videoCard(string, string | MediaUrl[], string | CardAction[], Partial<VideoCard>)

傳回視訊卡的附件。

static function videoCard(title: string, media: string | MediaUrl[], buttons?: string | CardAction[], other?: Partial<VideoCard>): Attachment

參數

title

string

卡片標題。

media

string | MediaUrl[]

卡片的媒體 URL。

buttons

string | CardAction[]

自選。 要包含在卡片上的按鈕陣列。 陣列中的每個 string 都會轉換成 imBack 按鈕,並將標題和值設定為字串的值。

other

Partial<VideoCard>

自選。 要包含在卡片上的任何其他屬性。

傳回

Attachment

附件