如何在 NocoBase 中开发插件发送 WhatsApp 消息?

本文由 Leandro Martins 编写,最初发布于 Developing a Plugin to Send WhatsApp Messages in NocoBase。
本文的目标是展示在 NocoBase 中创建插件的步骤,以满足特定需求。我们将涵盖架构设计、创建基础结构、激活插件、定义和创建集合、创建端点、构建配置界面、与工作流集成以及导出插件等内容。
本文将使用以下技术:NocoBase、PostgreSQL 和 Docker。这些工具应该已经配置好。有关安装说明,请参考我编写的指南。
插件架构

创建插件结构
要创建插件,只需运行以下命令。有关插件结构、初始代码和命令的更多细节,请参阅文档。
创建后,生成的文件将位于 packages
文件夹下,插件的名称如下面的图片所示。为了更好地理解文件夹结构,您可以参考手册这里。

激活插件
要激活插件,您可以进入插件屏幕并使用切换按钮启用它,如下图所示,或者运行以下命令。

创建集合
集合非常重要,因为它们定义了存储在数据库表中的数据结构。在这个示例中,我创建了两个集合,如下所述。
ProvideConfig
API Key:用于访问 WhatsApp API 的 Meta API 密钥
URL:API URL
Cell Phone From:WhatsApp Business 电话号码
MessageQueue
Content:消息内容
Status:待处理或已完成
在 NocoBase 中,集合位于/src/server/collections/
文件夹中。基本结构如下所示。有关更多详细信息,请参阅文档这里。
创建端点
端点允许外部系统与您的应用程序中的操作进行交互,从而实现它们之间的集成。在此案例中,我们将创建一个端点,以安排异步调用 WhatsApp API 来发送消息。
要创建端点,您可以使用/src/server/plugin.ts
文件,并将代码添加到load
方法中,如下面的示例所示。在 ACL(访问控制列表)中,您定义了端点的权限。使用resourceManager
,您可以注册端点及其方法。配置完成后,端点将在以下位置可用:配置完成后,端点将在以下位置可用:
http://localhost:13001/api/whatsapp:sendMessage
创建配置界面
NocoBase 允许您使用 React 和 Ant Design 创建界面。在这个例子中,我将在插件的设置区域创建一个界面。该界面将使您能够定义 WhatsApp API 设置,并查看已发送的消息及其状态,如下图所示。

在/src/client
文件夹中,您可以使用 React 和 Ant Design 创建界面。下面的代码展示了创建屏幕所需的简单结构。有关更多详细信息,您可以查看此链接,其中包含创建菜单、屏幕和路由的信息。
上面的代码会为创建的插件生成下面的屏幕。为了简洁起见,某些部分已被注释掉。

与 NocoBase 工作流集成
有多种方法可以在工作流中触发插件中创建的端点来发送消息。一个常见的方法是在 NocoBase 工作流中创建一个“HTTP 请求”类型的工作流,并传递数据,如下图所示。

将插件导出为文件
要导出创建的插件,只需运行以下命令。这将生成一个.tar
文件,可以在其他 NocoBase 实例中安装。有关更多详细信息,您可以参考文档.
结论
本文的目的是展示在 NocoBase 中创建插件的过程和基本结构。代码的某些部分可以进行重写和改进。很快,我计划将该项目添加到一个代码库,并与社区共享修订后的插件。
相关阅读:
评论