alisarwar / chat-system
使用php pusher在Laravel中实现的实时聊天系统
dev-main
2023-07-12 16:21 UTC
Requires
This package is auto-updated.
Last update: 2024-09-17 18:52:57 UTC
README
这是一个为Laravel提供的聊天系统包,允许用户使用Pusher PHP服务器相互聊天。此包提供了Echosystem(事件、控制器、迁移、模型、视图),使您的应用能够启动两个用户之间的对话。
预览
要求
此包需要以下依赖项
- 用户身份验证系统(Breeze、Jetstream、自定义)
- Pusher PHP服务器
- Pusher API密钥和密钥(从您的Pusher帐户获取)
功能
- 通过私人频道进行通信
- 支持两个用户之间的对话
- 聊天系统暗黑主题
安装
-
确保您有Pusher密钥,如果没有,请通过登录到Pusher仪表板并创建新的APP来获取它们,然后安装Pusher PHP服务器。对于身份验证,建议在您的Laravel应用中安装Laravel Breeze包。
-
运行以下命令安装Laravel聊天系统包
composer require alisarwar/chat-system:dev-main
-
此包提供事件、控制器、迁移、模型、视图,这些内容创建了一个echo-system,以实现应用中的聊天系统
-
将路由添加到您的web.php中
# veiw all available users to start conversation Route::get('/message',[MessageController::class , 'message'])->name('message'); # open chat of specfic user Route::get('/chat/{slug?}',[MessageController::class , 'chat'])->name('chat'); # broadcast message to channel Route::post('/broadcast', [MessageController::class , 'broadcast'])->name('broadcast'); # receive message from channel Route::post('/receive', [MessageController::class , 'receive'])->name('receive'); # authenticate private channel Route::post('/pusher/auth', [MessageController::class , 'auth'])->name('pusher.auth');
-
更新您的.env
BROADCAST_DRIVER=pusher PUSHER_APP_ID={YOUR_PUSHER_APP_ID} PUSHER_APP_KEY={YOUR_PUSHER_APP_KEY} PUSHER_APP_SECRET={YOUR_PUSHER_APP_SECRET} PUSHER_HOST= PUSHER_PORT=443 PUSHER_SCHEME=https PUSHER_APP_CLUSTER={YOUR_PUSHER_APP_CLUSTER}
-
迁移并启动您的应用
php artisan migrate php artisan serve
-
通过访问/message注册用户并开始对话
贡献
欢迎贡献!如果您遇到任何问题或有改进建议,请在GitHub仓库上打开问题或提交拉取请求。