jin-chat 基於 EasySwoole 和 layim 的聊天系統 (重構 woann-chat)

Double-Jin發表於2019-07-01

jin-chat 是基於EasySwoole與layim 的完整聊天應用

經https://github.com/woann/chat 作者同意, 用EasySwoole V3重構了全部服務端程式碼,在原功能的基礎上增加了Token認證、Redis/mysql協程連線池、Task非同步任務等新功能

專案地址:https://github.com/woann/chat

EasySwoole是為swoole而生的,完美實現swool的全部特性並高度封裝讓使用者能簡單地用上swoole,不用考慮底層的呼叫

LaravelS是一個膠水專案,用於快速整合 Swoole 到 Laravel 或 Lumen,然後賦予它們更好的效能、更多可能性

兩個專案的作者都令人欽佩,Q群我都進去潛水了,LaravelS的作者更願意幫人解釋問題,但LaravelS的設計上更多的相容laravel導致不能很方便的使用swoole的特性,所以我就用es重構了一遍

  • 此專案是基於 EasySwoole V3 作為服務端,easySwoole是一款高度封裝了swoole擴充而依舊保持swoole原有特性的一個高效能非同步框架,旨在提供一個高效、快速、優雅的框架給php開發者。
    所以在此之前,你要熟悉 swoole、EasySwoole、、還有將他們完美結合的 EasySwoolehttps://www.easyswoole.com
  • 前端部分是採用 layui, 在此鄭重說明,layui 中的 im 部分 layim 並不開源,僅供交流學習,請勿將此專案中的 layim 用作商業用途。
  • 保證 PHP 版本大於等於 7.1
  • 保證 Swoole 擴充版本大於等於 4.3.0
  • 需要 pcntl 擴充的任意版本
  • 使用 Linux / FreeBSD / MacOS 這三類作業系統
  • 使用 Composer 作為依賴管理工具
新功能:
  • Token認證
  • mysql協程連線池
  • Redis協程連線池
  • Task非同步任務
  • 優化程式碼佈局

原有功能
  • 登入 | 沒什麼好說的...

  • 註冊 | 註冊過程中為使用者分配了一個預設分組,並將使用者新增到所有人都在的一個群(10001)

  • 查詢 - 新增好友 | 可以根據使用者名稱、暱稱、id 來查詢,不輸入內容則查詢所有使用者,點選發起好友申請

  • 查詢 - 加入群 | 可根據群暱稱、群 id 查詢群聊,點選加入

  • 建立群 | 建立一個群聊

  • 訊息盒子 | 用來接受好友請求和同意或拒絕好友請求的系統訊息

  • 個性簽名 | 並沒有什麼卵用的功能

  • 一對一聊天 | 可傳送文字、表情、圖片、檔案、程式碼等

  • 群聊 | 新成員加入群聊時,如果此刻你正開啟著該群對話方塊,將收到新人入群通知

  • 檢視群成員

  • 臨時會話 | 在群成員中,點選群成員頭像即可發起臨時會話

  • 歷史記錄 | 聊天皮膚只顯示 20 條記錄,更多記錄點選聊天記錄檢視

  • 離線訊息 | 對方不線上的時候,向對方發起好友請求或者訊息,將在對方上線後第一時間推送

  • 換膚 | 這個是 layim 自帶的東西。。

    安裝

  • 執行安裝命令 git clone https://github.com/Double-Jin/jin-chat.git 將專案克隆到本地

  • 匯入 sql,專案根目錄下有個 chat.sql 檔案,將該 sql 檔案匯入資料庫即可

  • 修改dev.php 檔案,配置mysql/redis等引數

  • 配置nginx代理

    server {
    root /data/wwwroot/chat;
    server_name es-chat.cc;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;
        if (!-f $request_filename) {
             proxy_pass http://127.0.0.1:9501;
        }
    }
    }
  • 修改App\HttpController\index.php的index方法中的$hostName變數為當前域名ws地址

  • 執行 EasySwoole php easyswoole start

  • 此時訪問 es-chat.cc 即可進入登入頁面

  • 測試賬號 test1 - test2 密碼全是 123456,當然你也可以自行註冊。

部分截圖

圖片

圖片

chat

圖片

圖片

LaravelS 作者 Mr. Xie

easySwoole 作者 如果的如果

woann-chat 作者 woann

github給個星星吧

未經允許禁止轉載 -- 苦力小林,

相關文章