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);
屬性
content |
列出每個卡片樣式的內容類型架構。 |
方法
屬性詳細資料
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
附件。