前言
generator-appdirect-connector 是一个基于 Yeoman 的脚手架工具,用于快速创建 AppDirect Connector 项目框架。AppDirect Connector 是连接 AppDirect Marketplace 和你的应用程序的途径,该 npm 包在创建一个 Connector 项目时,会自动生成符合 AppDirect Connector 规范的代码结构与文件,帮助你快速完成 Connector 开发。
安装
在安装 generator-appdirect-connector 之前,首先需要安装 Node.js 与 npm。然后在命令行工具中输入以下命令安装 generator-appdirect-connector:
npm install -g yo generator-appdirect-connector
安装完成后,通过以下命令来验证是否安装成功:
yo appdirect-connector
如果安装成功,会出现以下的提示信息:
Welcome to the AppDirect Connector generator
使用
运行以下命令来创建一个新的 AppDirect Connector 项目:
yo 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 项目
yo appdirect-connector
提示输入 Connector 的名称、作者、版权信息等基本信息,之后会自动生成一个基本的 Connector 项目。
启动本地 Connector 应用程序
进入新建项目的根目录,在命令行中输入以下命令启动应用程序:
npm start
连接到 AppDirect Marketplace
要连接到 AppDirect Marketplace,你需要创建一个向 AppDirect Marketplace 注册你的 Connector 的 URL,即您将启动本地应用程序的域名。例如,如果本地应用程序使用的域名为$Connector.local,那么该 URL 会是:
https://$Connector.local/appdirect/register
所生成的项目包含一个名为 lib/server.js
的文件,此文件可用于创建一个连接到 AppDirect Marketplace 的代码。使用以下代码:
-- -------------------- ---- ------- --- --- - ------------------ --- ------ - ---------------------------------- -- ---------------- --------- ----------- ------------------------------ ---------- - -------------------- ------ --------- -- ---- - - ----------------------- ------------------------ --------- ---- --------- -------------- ------------------------------------------------------ ------- - -- ---- -- -------- - ------------------ -------- ----- ----------- ---------- - - ----- - ---- - ---------------------- ------------ ---------- ---- --------- --------------- - --- ---
当应用程序启动并侦听连接时,它将自动连接到 AppDirect Marketplace 并尝试向 AppDirect 注册 Connector。当成功注册连接器时,您将看到如下输出:
Connector successfully registered with AppDirect marketplace!
这样,你就成功的连接到了 AppDirect Marketplace,并且向其注册了 Connector 信息。
使用 Controller 处理来自 AppDirect 的事件
在本例中,我们将展示如何编写一个特定的 Controller,该 Controller 处理用户订阅AppDirect的事件。我们将使用一个名为 subscription_create 的应用程序路由,并使用与其关联的 Controller 处理它。
在 app.js 中,添加以下代码:
var express = require('express'); var router = express.Router(); // 处理appdirect的subscription_create事件 router.post('/subscription/create', createSubscription); module.exports = router;
在 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