alisarwar/chat-system

使用php pusher在Laravel中实现的实时聊天系统

dev-main 2023-07-12 16:21 UTC

This package is auto-updated.

Last update: 2024-09-17 18:52:57 UTC


README

这是一个为Laravel提供的聊天系统包,允许用户使用Pusher PHP服务器相互聊天。此包提供了Echosystem(事件、控制器、迁移、模型、视图),使您的应用能够启动两个用户之间的对话。

Status GitHub Issues GitHub Pull Requests

预览

Chat System Preview

要求

此包需要以下依赖项

  • 用户身份验证系统(Breeze、Jetstream、自定义)
  • Pusher PHP服务器
  • Pusher API密钥和密钥(从您的Pusher帐户获取)

功能

  • 通过私人频道进行通信
  • 支持两个用户之间的对话
  • 聊天系统暗黑主题

安装

  1. 确保您有Pusher密钥,如果没有,请通过登录到Pusher仪表板并创建新的APP来获取它们,然后安装Pusher PHP服务器。对于身份验证,建议在您的Laravel应用中安装Laravel Breeze包。

  2. 运行以下命令安装Laravel聊天系统包

    composer require alisarwar/chat-system:dev-main
  3. 此包提供事件、控制器、迁移、模型、视图,这些内容创建了一个echo-system,以实现应用中的聊天系统

  4. 将路由添加到您的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');
  5. 更新您的.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}
  6. 迁移并启动您的应用

        php artisan migrate
        php artisan serve
  7. 通过访问/message注册用户并开始对话

贡献

欢迎贡献!如果您遇到任何问题或有改进建议,请在GitHub仓库上打开问题或提交拉取请求。