Последовательные рабочие процессы
Адаптивные карточки теперь поддерживают последовательные рабочие процессы, которые обновляются в соответствии с действиями пользователя. С помощью последовательных рабочих процессов адаптивные карточки обновляются в действиях пользователя, и пользователь может выполнять серию карточек, требующих ввода пользователем. Action.Execute
поддерживает последовательные рабочие процессы, что позволяет разработчикам ботов возвращать адаптивные карточки в ответ на действие пользователя.
Например, рассмотрим сценарий, в котором кафетерий хочет принять заказ на команду или канал. При Action.Execute
выборе пользователя для различных элементов, таких как еда и напитки, можно записывать последовательно. Пользователь также может проходить через карточки в соответствии с логикой, определенной разработчиком бота.
На следующем рисунке показан последовательный рабочий процесс:
Пользователь может выполнять свой рабочий процесс, не изменяя карта для других пользователей. Рабочий процесс также полезен для проведения викторин с помощью последовательных адаптивных карточек. На следующем рисунке показано, как разные пользователи могут находиться на разных этапах рабочего процесса и состояниях карта:
Примечание.
Чтобы синхронизировать ход выполнения пользователя на разных устройствах, используйте refresh
свойство в формате JSON адаптивной карточки.
Последовательный рабочий процесс для адаптивных карточек
В следующем коде приведен пример адаптивных карточек:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "Select from food options"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Execute",
"title": "Chicken",
"verb": "food",
"data": {
"item": "chicken"
}
},
{
"type": "Action.Execute",
"title": "Beef",
"verb": "food",
"data": {
"item": "beef"
}
},
{
"type": "Action.Execute",
"title": "Vegan",
"verb": "food",
"data": {
"item": "vegan"
}
}
]
}
]
}
Action.Execute
Вызов бота может возвращать адаптивные карточки в ответ, что заменяет существующие карта в Teams.
В следующем примере показано, что бот возвращает при выборе продуктов питания или напитках или подтверждении заказа.
- При выборе продуктов питания из Карточки 1 бот может вернуть карта для выбора напитков, то есть Карта 2.
- При выборе напитка из карточки 2 бот может вернуть подтверждение заказа карта, то есть Карточка 3.
- При подтверждении заказа с карточки 3 бот может вернуть заказ, подтвержденный карта, который является Картой 4.
Вызов запроса, полученного на стороне бота
В следующем коде приведен пример запроса на вызов, полученного на стороне бота:
{
"type": "invoke",
"name": "adaptiveCard/action",
// ... other properties omitted for brevity
"value": {
"action": {
"type": "Action.Execute",
"id": "",
"verb": "food",
"data": {
"item": "vegan"
}
},
"trigger": "manual"
}
}
Вызов ответа для возврата адаптивных карточек
В следующем коде приведен пример ответа вызова для возврата адаптивных карточек:
string cardJson = "<adaptive card json>";
var card = JsonConvert.DeserializeObject(cardJson);
var adaptiveCardResponse = JObject.FromObject(new
{
statusCode = 200,
type = "application/vnd.microsoft.adaptive.card",
value = card
});
Примеры кода
Название примера | Описание | .NET | Node.js | Манифест |
---|---|---|---|---|
Бот организации питания Teams | В этом примере показан бот, который принимает заказ продуктов питания с помощью адаптивных карточек. | Просмотр | Недоступно | Недоступно |
Адаптивные карточки последовательных рабочих процессов | В этом примере демонстрируется реализация последовательных рабочих процессов, пользовательских представлений и текущих адаптивных карточек в ботах. | Просмотр | Просмотр | Просмотр |
См. также
Platform Docs
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по