omarabdulwahhab/laramessenger

一个简单易用的包,让您轻松在应用程序中实现聊天功能!

v1.0.0 2023-09-05 23:45 UTC

This package is auto-updated.

Last update: 2024-09-06 16:44:16 UTC


README

MarkDown Laravel ask me License

一个简单易用的包,让您轻松在应用程序中实现聊天功能!

目录

安装

LaraMessenger 是一个 Laravel 包,为您的 Laravel 应用程序提供消息功能。按照以下步骤开始使用:

步骤 1:安装包

您可以使用 Composer 安装 LaraMessenger。打开终端并运行以下命令:

composer require omarabdulwahhab/laramessenger

步骤 2:发布配置

要发布 LaraMessenger 的配置和资源,请使用以下 Artisan 命令:

php artisan vendor:publish --provider="Omarabdulwahhab\Laramessenger\ServiceProviders\LaraServiceProvider"

此命令将必要的配置文件复制到您的项目中,允许您自定义包的行为。

步骤 3:运行迁移

接下来,您需要运行迁移以创建 LaraMessenger 所需的数据库表。

• 如果您尚未迁移迁移文件

php artisan migrate

• 然后

php artisan migrate --path=/database/migrations/LaraMessengerTables
php artisan migrate --path=/database/migrations/LaraMessengerForeignKeys

这就完成了!您已成功安装 LaraMessenger 并设置了 Laravel 应用程序中消息所需的数据库表。

用法

首先:发送消息

在这里,您将了解如何使用此简单包,请跟我来:• 发送消息的代码非常简单

  $config = LaraMessenger::builder()
            ->setSenderID($request->sender_id)
            ->setReceiverID($request->receiver_id)
            ->setMessageType($request->type) // Make sure to set a type to one of them ['file','text','voice']
            ->setMessage($request->message)
  // or     ->setMessage($request->file('file'))
  // or     ->setMessage($request->file('voice'))
            ->build();
        /*HERE YOU HAVE TO OPTIONS*/
        // 1- $config->broadcast();
        // OR 
        // 2- $config->send();

选项 1:使用广播(pusher)发送消息,然后在数据库中保存消息。

您可以在包中使用广播功能与 pusher 集成,但请确保与 pusher 集成,阅读此文档部分

  $config->broadcast()

选项 1:不使用广播(仅在数据库中保存消息)

$config->send()

注意事项

• ->setMessageType($request->type) // 确保设置类型为 ['file','text','voice'] 之一,否则将无法工作!

这就完成了!您已成功在 LaraMessenger 中发送消息。

其次:加载聊天...

选项 1:通过聊天 ID 加载聊天

  return ChatLoader::LoadChatByChatID($ChatID);

选项 2:通过用户 ID 加载聊天

  return ChatLoader::LoadChatByUsersID($SenderID,$ReceiverID);

选项 3:通过滚动加载聊天

此函数将返回包含最新消息 ID 的聊天,以便存储并发送下一请求的消息,依此类推

  return ChatLoader::LoadChatByScrolling($latestMessageID,$SenderID,$ReceiverID,$NoOfMessagesPerPage);

最后,我将模型、迁移和事件文件发布到您的项目中,以防您想自定义它们。

贡献

我们欢迎社区贡献!如果您想为此项目做出贡献,请遵循以下指南

  1. 在 GitHub 上 Fork 仓库。
  2. 为您的功能或错误修复创建新分支: git checkout -b feature/awesome-feature
  3. 进行更改并提交: git commit -am 'Add some feature'
  4. 将更改推送到分支: git push origin feature/awesome-feature
  5. 在 GitHub 上创建一个新的 拉取请求 (PR),描述您的更改以及为什么它们应该被合并。

感谢您为此项目做出贡献!

许可协议

本项目采用 MIT 许可协议。

作者

非常感谢您的支持和贡献!