Есть несколько способов сделать это. С учетом карты:
{
"type": "AdaptiveCard",
"body": [
{
"type": "Image",
"id": "img",
"selectAction": {
"type": "Action.OpenUrl",
"title": "Google",
"url": "http://www.google.com"
},
"url": "https://imgplaceholder.com/420x320/ff7f7f/333333/fa-image"
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Google",
"url": "http://www.google.com"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
Который будет отображаться как:
И учитывая, что мы импортируем его с:
import * as cardJson from './adaptiveCard.json';
И тогда наш код выглядит примерно так:
const card = CardFactory.adaptiveCard(cardJson);
const msg = MessageFactory.text('');
msg.attachments = [card];
await context.sendActivity(msg);
1. Редактировать JSON напрямую
Если мы используем это, чтобы изменить изображение:
cardJson.body[0].url = 'https://skillbotbuilder.gallerycdn.vsassets.io/extensions/skillbotbuilder/skillbotbuilder/1.0/1546976085901/Microsoft.VisualStudio.Services.Icons.Default';
получаем:
Итак, вы можете использовать ваш .json
в качестве шаблона, а затем создать его с помощью javascript. Или:
2. Используйте другой тип карты
Вот ссылка на другие типы карт
Затем вы можете использовать CardFactory для создания карт.
Карта героя, подобная вышеприведенной, будет выглядеть примерно так:
const hero = CardFactory.heroCard(
null,
CardFactory.images(['https://imgplaceholder.com/420x320/ff7f7f/333333/fa-image']),
CardFactory.actions([{
type: 'Action.OpenUrl',
title: 'Google',
value: 'Google.com'
}])
);