xenonwellz / messenger

Laravel 消息系统

v1.0.1 2021-08-24 23:00 UTC

This package is auto-updated.

Last update: 2024-09-25 06:21:31 UTC


README

Laravel 扩展包可以帮助您将实时消息系统添加到应用程序中,它支持 Pusher 和 Laravel Websockets。

功能

  • 配置谁可以和谁聊天
  • 实时
  • 用户聊天系统。
  • 实时用户活跃状态。
  • 实时输入指示器。
  • 实时已读消息指示器。
  • 全设备响应式设计。
  • 上传附件(允许您自定义可上传的文件类型)。

公告

由于我目前有考试,所以我将在接下来的两周内不会更新这个包。但我已经制定了下一个版本的计划。你可以在下一个版本中期待一些更特别的功能。

安装

前置条件

  • Composer
  • Laravel >= 5.4
  • PHP >= 5.3.2

您可以使用以下命令使用 Composer 安装 Xenonwellz Messenger:

composer require xenonwellz/messenger

通过运行以下命令发布资产:

php artisan vendor:publish --tag=messenger-assets

您可以通过以下命令发布配置:

php artisan vendor:publish --tag=messenger-config

运行 php artisan migrate 命令后,您必须至少注册 2 个用户,并在配置中取消 allow_conversation_with 字段的注释。

自定义

配置键

allow_conversation_with 字段允许您指定可以互相发送消息的特定用户,它必须返回一个查询(集合将引发错误)。在第一次迁移命令后取消注释。

use_avatar_field 如果设置为 true,则将使用数据库中的列作为图像的路径,该图像将作为每个用户的个人资料图片。

avatar_field_name 返回将用于特定用户个人资料图片的列的名称。要使用此功能,您必须将 use_avatar_field 设置为 true。

default_avatar 此字段允许您指定完整 URL 或服务器上的图像链接,该链接可以使用 Storage::get() 访问。如果设置为空,则用户的个人资料图片将自动使用 uiavatars api。

allowed_mime_types 允许您指定用户可以互相发送的文件,用逗号分隔。

max_file_size 允许您设置用户可以互相发送的每个文件的大小。

max_file_at_once 允许您设置用户一次可以发送的文件数量。

websocket_provider 允许您设置您的 WebSocket 提供商。 "pusher" 使用 Pusher 的 API 或 "laravel-websockets" 使用 Laravel Websockets API。(Socket.io 的支持即将推出)。

force_websocket_ssl/tls 如果使用 Laravel Websockets,您可以配置是否强制 TLS。在这样做之前,您需要在服务器上设置 WebSocket TLS。

route_prefix 允许您设置消息传递的路由。

其他自定义

您可以通过先发布来自定义任何您想要的内容。您可以通过运行以下命令发布它们:

php artisan vendor:publish --tag=messenger-whatever

根据您想要发布的内容更改标签。(例如,messenger-views 发布视图,messenger-migrations 发布迁移)。

结论

如果您发现任何错误或安全问题,请随时提交问题。感谢您使用此包。

本项目由Ovabor Obed(Xenonwellz)开发,遵循MIT许可证。目前我可供远程工作招聘。感谢使用本软件包。别忘了Star它。