npm 包 microsoft-adaptivecards 使用教程

阅读时长 10 分钟读完

在前端开发中,如何设计一个漂亮且高效的 UI 是非常重要的,而 Adaptive Cards 可以帮助开发者更快地创建漂亮的 UI。Microsoft Adaptive Cards 是一种开放式的协议,它可以用来表达并交换在多个平台上渲染的交互性的元素和数据。同时,为了更方便地使用这个协议,Microsoft 也提供了适用于多种编程语言的 SDK 和组件。

本篇教程将会介绍如何使用 npm 包 microsoft-adaptivecards 来创建一个 Adaptive Cards UI,并为读者详细解释其使用方法和原理,以及提供一些实际使用示例。

快速上手

在开始前,确保你已经安装了 Node.js 和 npm。

首先,在你的项目中安装 microsoft-adaptivecards 包:

然后,在你的代码中引入 adaptivecards 以及它的工具 AdaptiveCard

现在,你可以创建一个新的 AdaptiveCard 实例,并使用其 addTextBlock() 方法添加一个文本块:

接下来,你需要创建一个 TextBlock 的 JSON 对象,将它传递给 card.addContent() 方法,并将它渲染到网页中:

-- -------------------- ---- -------
--- -------- - -
   -------- -----------------------------------------------------
   ----- ---------------
   -------- ------
   ----- -
       -
           ----- ------------
           ----- -------- -- -------- -------
       -
   -
--

---------------------
---------------------------------------------------------

这样,我们已经成功创建了一个 Adaptive Card UI!

组件介绍

在逐步深入使用 Adaptive Cards 前,让我们先来了解下其提供的组件。

  • Adaptive Card:最核心的 Adaptive Cards 类,所有卡片的实例都是由 AdaptiveCard 创建的。
  • Card Elements:卡片元素,例如文本、图片、按钮等。
  • Card Actions:卡片中的操作,例如打开一个链接或发起一个请求。
  • Card Host Config:卡片宿主的配置,例如卡片在移动端和桌面端的样式配置不同。
  • Card Designer:一个可视化的组件,在不写代码的情况下帮助你设计卡片。

了解了这些核心内容后,我们现在开始逐个介绍它们的用法。

创建 Adaptive Card 实例

如前所述,使用 Adaptive Cards 首先要创建一个 Adaptive Card 实例。在使用 microsoft-adaptivecards 包时,我们需要使用以下代码导入 Adaptive Card 类:

然后,我们创建一个新的实例:

添加元素

接下来,我们将介绍如何向卡片中添加不同的元素。

TextBlock

Image

ColumnSet 和 Column

-- -------------------- ---- -------
--- --------- - --- --------------------------
--- ------- - --- -----------------------
------------- - -------
------------------- ---------------------------------
--- ------- - --- -----------------------
------------- - ----------
------------------- ---------------------------------
-----------------------------
-----------------------------
------------------------

添加操作

使用操作可以让用户与卡片进行交互,从而更好地完成任务。下面介绍一些常用的操作类型。

Action.OpenUrl

Action.ShowCard

-- -------------------- ---- -------
--- ------ - --- --------------------------------
------------ - --------
--- --------- - --- --------------------------
--------------------- - ------
--- -------------- - --- --------------------------
----------------------------------
----------- - --- -----------------------------
------------------------------------
-----------------------

添加样式和主题

除了添加元素和操作,我们还可以使用宿主配置来添加样式和主题,以应对不同的交互场景。

添加样式

使用 microsoft-adaptivecards 包,我们可以按以下方式创建一个宿主配置:

-- -------------------- ---- -------
--- ---------- - --- --------------------------
    -------- -
        -------- ----
        ------ ----
        ------- ----
        ------ ----
    --
    ---------- -
        -------------- --
        ---------- ---------
    --
    ----------- ------ ---
---

可以看到,宿主配置的参数与它们的效果紧密相关。这里举几个例子:

  • spacing.default:默认间距,即所有元素的间距。
  • spacing.small:卡片中元素间较小的间距。
  • separator.lineThickness:分隔线的粗细。
  • separator.lineColor:分隔线的颜色。
  • fontFamily:字体。

然后,我们将宿主配置传递给 AdaptiveCard 实例:

添加主题

除了样式,我们还可以添加主题。 microsoft-adaptivecards 包提供了一些构造函数,通常用于定义卡片的颜色或其他外观样式。

具体的语法可以参考官方文档,这里就举一个简单的例子展示如何使用:

实例化后,可以将它传递给元素:

实际示例

下面提供一个完整的示例代码,用于构建一个包括文本、图片和操作的简单 Adaptive Card。

HTML

-- -------------------- ---- -------
--------- -----
------
------
    ----- ----------------
    ---------------- -------- ----- ------------
    ------- ------------------------------------------------------------------------------
    ----- ---------------- --------------- -----------------------------------------------------------------------
-------
------
    ---- ---------------
    ------- ------------------------
-------
-------

JavaScript

-- -------------------- ---- -------
----- ------------- - -----------------------------------
----- ------------ - ---------------------------

--- ---- - --- ---------------

--- ----- - --- --------------------------
---------- - ---------- -------- ----- ------
------------ - ---------
--------------------

--- -------- - --- --------------------------
------------- - --------- ----- ----------------------------------------
--------------- - ----------
------------- - ---------
------------- - -----
-----------------------

--- ----- - --- ----------------------
--------- - --------------------------------
--------------------

--- ------ - --- -------------------------------
------------ - -------
---------- - ---------------------------
-----------------------

--- ---------- - --- --------------------------
    -------- -
        -------- ----
        ------ ----
        ------- ----
        ------ ----
    --
    ----------- ------ ---
---

--------------- - -----------

--- -------- - --------------

---------------------
----------------------------------------------------------

总结

本篇教程介绍了 Adaptive Cards 的使用方法和原理,并提供了一个实际示例。希望能够帮助读者更深入地了解 Adaptive Cards 的使用和优秀功能,同时也能让读者能够将其应用到自己的项目中,提升 UI 的效果和交互性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005601781e8991b448de347

纠错
反馈