Можно ли добавить URL-адрес action.open внутри массива тела в адаптивную карту?

В моем приложении-боте мне нужно отобразить кнопку action.open Url между текстом.Мне нужно добавить действие.Открыть URL-адрес внутри тега body json в конце даты, как показано на изображении, и нужно щелкнуть URL-адрес для выполнения некоторых действий.

Изображение адаптивного дизайна карточки

можно ли добавить кнопку между текстом или вверху текста внутри тега body.?

{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "color": "Warning",
            "text": "Company Name"
        },
        {
            "type": "TextBlock",
            "text": "Meeting Details",
            "wrap": true
        },
        {
            "type": "FactSet",
            "facts": [
                {
                    "title": "Description",
                    "value": "xxx"
                },
                {
                    "title": "Key Note Speaker",
                    "value": "yyy"
                },
                {
                    "title": "Date :",
                    "value": "03/25/2019 12:30:00 PM"
                }
            ]
        },
       
        {
            "type": "TextBlock",
            "horizontalAlignment": "Center",
            "size": "ExtraLarge",
            "weight": "Bolder",
            "color": "Accent",
            "text": "**************"
        },
        {
            "type": "TextBlock",
            "text": "Meeting Details",
            "wrap": true
        },
        {
            "type": "FactSet",
            "facts": [
                 {
                    "title": "Description",
                    "value": "xxx"
                },
                {
                    "title": "Key Note Speaker",
                    "value": "yyy"
                },
                {
                    "title": "Date :",
                    "value": "03/25/2019 12:30:00 PM"
                }
            ]
        },
        {
            "type": "TextBlock",
            "horizontalAlignment": "Center",
            "size": "ExtraLarge",
            "weight": "Bolder",
            "color": "Accent",
            "text": "**************"
        }
    ],

     "actions": [
          {
            "type": "Action.OpenUrl",
            "title": "Add to Calender",
            "url": "http://adaptivecards.io"
            },
             {
            "type": "Action.OpenUrl",
            "title": " Click here to add more Info ",
            "url": "http://adaptivecards.io"
            }
     ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0"
}




Ответы (1)


К сожалению, расположение кнопок по умолчанию в AdaptiveCards находится внизу карточки, и вы не можете это изменить. Однако вы можете добавить изображение в любом стиле на карточку с атрибутом selectAction, который будет отправлять данные, связанные с действием, когда пользователь щелкает изображение. Дополнительные сведения см. В примере AdaptiveCard JSON ниже и в документации по AdaptiveCard для изображений и Выберите Действия.

Снимок экрана

введите здесь описание изображения

JSON

{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "size": "Large",
            "weight": "Bolder",
            "color": "Accent",
            "text": "Company Name"
        },
        {
            "type": "TextBlock",
            "separator": true,
            "size": "Medium",
            "text": "Meeting Details"
        },
        {
            "type": "TextBlock",
            "text": "Description:"
        },
        {
            "type": "TextBlock",
            "text": "Keynote Speaker:"
        },
        {
            "type": "TextBlock",
            "text": "Date:"
        },
        {
            "type": "Image",
            "selectAction": {
                "type": "Action.Submit",
                "data": "Meeting 1"
            },
            "url": "C:\\Users\\v-thdurn\\Developer\\Node\\Azure\\thdurn-all-channels-src\\resources\\button.png"
        },
        {
            "type": "TextBlock",
            "separator": true,
            "size": "Medium",
            "text": "Meeting Details"
        },
        {
            "type": "TextBlock",
            "text": "Description:"
        },
        {
            "type": "TextBlock",
            "text": "Keynote Speaker:"
        },
        {
            "type": "TextBlock",
            "text": "Date:"
        },
        {
            "type": "Image",
            "selectAction": {
                "type": "Action.Submit",
                "data": "Meeting 2"
            },
            "url": "C:\\Users\\v-thdurn\\Developer\\Node\\Azure\\thdurn-all-channels-src\\resources\\button.png"
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0"
}

Надеюсь это поможет!

person tdurnford    schedule 02.03.2019
comment
Спасибо, тдурнфорд. Я установил локальный путь к URL-адресу изображения для кнопки, он работает, когда я тестировал в эмуляторе. При публикации изображение канала недоступно. Где я хочу сохранить изображение. - person Subrak; 04.03.2019
comment
Вы можете настроить свой проект для обслуживания статических файлов или использовать стороннего поставщика, например PhotoBucket или Imgur, для размещения вашего изображения для вас. - person tdurnford; 04.03.2019