npm 包 generator-appdirect-connector 使用教程

阅读时长 9 分钟读完

前言

generator-appdirect-connector 是一个基于 Yeoman 的脚手架工具,用于快速创建 AppDirect Connector 项目框架。AppDirect Connector 是连接 AppDirect Marketplace 和你的应用程序的途径,该 npm 包在创建一个 Connector 项目时,会自动生成符合 AppDirect Connector 规范的代码结构与文件,帮助你快速完成 Connector 开发。

安装

在安装 generator-appdirect-connector 之前,首先需要安装 Node.js 与 npm。然后在命令行工具中输入以下命令安装 generator-appdirect-connector:

安装完成后,通过以下命令来验证是否安装成功:

如果安装成功,会出现以下的提示信息:

使用

运行以下命令来创建一个新的 AppDirect Connector 项目:

之后,你将会进入一个交互式的命令行界面,在其中你将需要输入一些基本的项目配置信息,例如 Connector 名称、作者、版权信息等。在输入完所有信息后,你将会看到一个新的 AppDirect Connector 项目已经生成,并包含一些基本的代码结构。以下是创建的项目的代码结构:

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

在以下部分中,我们将会解释该项目的重要代码部分。

app.js

该文件是整个应用程序的入口文件。通过该文件,你可以了解应用程序定义了哪些路由规则,以及如何习惯性地处理到来的 HTTP 请求。在一个 Connector 项目中,应该将请求转发到具体的 Controller 中,而 Controller 的作用是处理并响应来自 AppDirect Marketplace 的事件。

lib/server.js

该文件包含了实现 Controller 的处理器的代码。在 Connector 中,Controller 主要处理 AppDirect Marketplace 发送的事件。使用此文件,你可以创建跟 AppDirect Marketplace 的连接,以接收 AppDirect Marketplace 发送的事件信息并解析。在处理完事件后,Controller 会根据需要采取相应的行动或响应。

public/assets

该文件夹用于存放与该 Connector 相关的文件。在该文件夹中,你可以存入该 Connector 的图标、图片等内容。

public/scripts

在该文件夹中,你可以存储 JavaScript 脚本文件,以在应用程序中使用这些脚本。

public/styles

该文件夹在 Connector 中主要用于存储与CSS相关的文件。在该文件夹中,你可以编写需要应用于该 Connector 界面的 CSS 文件。

views

在该文件夹中,你可以存放用于渲染 Connector 界面的 HTML 文件。该文件夹中的所有HTML文件都可以通过Handlebars.js进行渲染。

test/server.js

该文件包含要运行的测试代码,用于核实 Controller 函数是否能够正常接收 AppDirect Marketplace 发送的事件并正常处理此事件。

示例代码

在此处,我们将提供一些示例代码,以帮助你快速了解如何使用 generator-appdirect-connector 。

在整个示例代码中,$Connector 代表您的 Connector 名称。

创建本地 AppDirect Connector 项目

提示输入 Connector 的名称、作者、版权信息等基本信息,之后会自动生成一个基本的 Connector 项目。

启动本地 Connector 应用程序

进入新建项目的根目录,在命令行中输入以下命令启动应用程序:

连接到 AppDirect Marketplace

要连接到 AppDirect Marketplace,你需要创建一个向 AppDirect Marketplace 注册你的 Connector 的 URL,即您将启动本地应用程序的域名。例如,如果本地应用程序使用的域名为$Connector.local,那么该 URL 会是:

所生成的项目包含一个名为 lib/server.js 的文件,此文件可用于创建一个连接到 AppDirect Marketplace 的代码。使用以下代码:

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

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

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

当应用程序启动并侦听连接时,它将自动连接到 AppDirect Marketplace 并尝试向 AppDirect 注册 Connector。当成功注册连接器时,您将看到如下输出:

这样,你就成功的连接到了 AppDirect Marketplace,并且向其注册了 Connector 信息。

使用 Controller 处理来自 AppDirect 的事件

在本例中,我们将展示如何编写一个特定的 Controller,该 Controller 处理用户订阅AppDirect的事件。我们将使用一个名为 subscription_create 的应用程序路由,并使用与其关联的 Controller 处理它。

在 app.js 中,添加以下代码:

lib/server.js 中,你可以在Controller中添加如下代码:

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

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

在此处,我们添加了一个名为 createSubscription 的函数,该函数用于处理 SUBSCRIPTION_ORDER 事件(即用户购买该应用程序的订阅)。

可使用 validateRequest 函数来验证 AppDirect 的发送操作是否确定:

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

在上述代码中,我们使用标准 Node.js 加密库来验证 AppDirect 的事件 URL,以确保请求确实是由 AppDirect Marketplace 发送的。

结论

generator-appdirect-connector 是一个使您更快更轻松地建立 AppDirect 接口通信的强大工具。如果你觉得在之前的上下文中缺少重要部分或是存在问题,欢迎在下面的评论中反馈。 通过使用此工具,您将能够更轻松地连接到 AppDirect Marketplace,并更快地完成 Connector 项目的开发。

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

纠错
反馈