omarabdulwahhab / laramessenger
一个简单易用的包,让您轻松在应用程序中实现聊天功能!
v1.0.0
2023-09-05 23:45 UTC
README
一个简单易用的包,让您轻松在应用程序中实现聊天功能!
目录
安装
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);
最后,我将模型、迁移和事件文件发布到您的项目中,以防您想自定义它们。
贡献
我们欢迎社区贡献!如果您想为此项目做出贡献,请遵循以下指南
- 在 GitHub 上 Fork 仓库。
- 为您的功能或错误修复创建新分支:
git checkout -b feature/awesome-feature
。 - 进行更改并提交:
git commit -am 'Add some feature'
。 - 将更改推送到分支:
git push origin feature/awesome-feature
。 - 在 GitHub 上创建一个新的 拉取请求 (PR),描述您的更改以及为什么它们应该被合并。
感谢您为此项目做出贡献!
许可协议
本项目采用 MIT 许可协议。
作者
非常感谢您的支持和贡献!