使用 Vercel V0 进行快速原型设计

Vercel V0 是一种 AI 驱动的 UI 生成工具,允许快速聊天应用程序原型设计。我们将使用它来创建应用程序用户界面的基础。

  • 访问 Vercel V0 网站
  • 为类似 WhatsApp Web 的聊天 UI 或您选择的任何 UI 提供提示。
  • 查看生成的 UI - 它可能并不完美,但它是一个坚实的基础。
  • 复制生成的代码以在我们的 Cursor AI 项目中使用。

Vercel+Cursor+CometChat SDK,30 分钟内构建一个聊天应用程序_微信开发

设置您的 Next.js 项目

下面我们将设置我们的项目结果并集成必要的依赖项,让Cursor AI帮我们。

Vercel+Cursor+CometChat SDK,30 分钟内构建一个聊天应用程序_cursor_02

Cursor AI提示词

初始化一个新的 Next.js 项目,并安装必要的依赖项。
基于以下代码(粘贴从Vercel V0 生成的代码)创建一个带有聊天界面的应用主页。
在 Next.js 项目中初始化 shadcn-ui。

初始化 CometChat 以进行实时消息传递

利用 CometChat SDK 的强大功能为聊天应用程序启用实时消息传递功能。

注册一个 CometChat 帐户并创建一个新应用程序,以获取您的 App ID、区域和身份验证密钥。Cursor 将创建一个带有环境变量的新文件,只需从您的 CometChat 应用程序中更新实际的 APP ID 和区域即可。

Vercel+Cursor+CometChat SDK,30 分钟内构建一个聊天应用程序_微信开发_03

Cursor AI提示词

在 Next.js 应用程序中初始化 CometChat。
为 CometChat 的凭据设置环境变量。
在主应用程序文件中实现 CometChat 的初始化。

CometChat初始化代码

let appID = "APP_ID";
let region = "APP_REGION";
let appSetting = new CometChat.AppSettingsBuilder()
  .subscribePresenceForAllUsers()
  .setRegion(region)
  .autoEstablishSocketConnection(true)
  .build();
CometChat.init(appID, appSetting).then(
  () => {
    console.log("Initialization completed successfully");
  },
  (error) => {
    console.log("Initialization failed with error:", error);
  }
);

使用 CometChat 实现用户身份验证

现在,我们将使用 CometChat 实现用户身份验证。这将在用户登录时对新用户进行 CometChat 身份验证。我们还将在登录过程中添加一些错误处理。

Cursor AI提示词

使用 CometChat 软件开发工具包(SDK)实现用户身份验证和登录。
创建一个使用 CometChat.login () 方法的登录函数。
处理登录成功及出现错误的情况。

CometChat登陆代码

var UID = "cometchat-uid-1";
var authKey = "AUTH_KEY";

CometChat.getLoggedinUser().then(
  (user) => {
    if (!user) {
      CometChat.login(UID, authKey).then(
        (user) => {
          console.log("Login Successful:", { user });
        },
        (error) => {
          console.log("Login failed with exception:", { error });
        }
      );
    }
  },
  (error) => {
    console.log("Some Error Occured", { error });
  }
);

创建动态用户列表和消息历史记录

使用用户列表填充聊天 UI 并实施消息历史记录检索,展示我们的 AI 生成的前端与 CometChat 强大的后端之间的无缝集成。

  • 获取用户列表
  • 获取所选用户的消息历史记录
  • 实施 UI 组件以显示用户列表和消息历史记录。

Cursor AI提示词

使用 CometChat 软件开发工具包(SDK)实现获取用户列表的功能。
创建用于检索所选用户消息历史记录的函数。
设计用于显示用户列表和消息历史记录的用户界面组件。
let UID = "UID";
let limit = 30;
let messagesRequest = new CometChat.MessagesRequestBuilder()
.setUID(UID)
.setLimit(limit)
.build();

messagesRequest.fetchPrevious().then(
messages => {
  console.log("Message list fetched:", messages);
}, error => {
  console.log("Message fetching failed with error:", error);
}
);  

添加实时消息发送功能

主要包括:

  • 创建用于发送消息的函数
  • 添加自动滚动功能以保持最新消息的视图

Cursor AI提示词

使用 CometChat 软件开发工具包(SDK)实现消息发送功能。
添加自动滚动功能,以便始终能看到最新消息。
Send message code: 

let receiverID = "UID";
let messageText = "Hello world!";
let receiverType = CometChat.RECEIVER_TYPE.USER;
let textMessage = new CometChat.TextMessage(
  receiverID,
  messageText,
  receiverType
);

CometChat.sendMessage(textMessage).then(
  (message) => {
    console.log("Message sent successfully:", message);
  },
  (error) => {
    console.log("Message sending failed with error:", error);
  }
);

启用实时消息接收

最后,让我们添加实时消息接收来完成聊天应用程序的核心功能。

  • 为传入消息设置侦听器
  • 收到新消息时实时更新 UI。

Cursor AI提示词

使用 CometChat 软件开发工具包(SDK)实现实时消息监听器。
当接收到新消息时实时更新用户界面。
let listenerID: string = "UNIQUE_LISTENER_ID";

CometChat.addMessageListener(
  listenerID,
  new CometChat.MessageListener({
      onTextMessageReceived: (textMessage: CometChat.TextMessage) => {
          console.log("Text message received successfully", textMessage);
      },
      onMediaMessageReceived: (mediaMessage: CometChat.MediaMessage) => {
          console.log("Media message received successfully", mediaMessage);
      },
      onCustomMessageReceived: (customMessage: CometChat.CustomMessage) => {
          console.log("Custom message received successfully", customMessage);
      }
  })
);

测试 AI 驱动的聊天应用程序

为了确保我们的 AI 辅助开发过程能够生成功能齐全的聊天应用程序,让我们在多个用户中对其进行测试。

  • 修改您的登录组件以通过 URL 参数接受用户 ID:
    在两个不同的浏览器或窗口中打开应用程序,具有不同的用户 ID:
  • 在用户之间发送消息以验证实时功能。