xenonwellz / messenger
Laravel 消息系统
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它。