乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      用Swoole React 實現(xiàn)的聊天室

       印度阿三17 2019-11-23

      前后端分離的項目,使用 Swoole React 實現(xiàn)的聊天室,整個項目的框架結(jié)構(gòu)可以進行參考,前端 react react-redux react-router react-ant 等等,后臺使用 easySwoole,自行實現(xiàn)中間件(數(shù)據(jù)封裝,token 驗證,簽名驗證), 認真看代碼可以學到很多哦,?!

      1. 項目鏈接

      ?

      1.1 swoole(請 star)

      https://github.com/LaravelChen/swoole_chat...

      ?

      1.2 react(請 star)

      https://github.com/LaravelChen/React-Small...

      ?

      1.3 api 框架 (基本需求已全部實現(xiàn),可以自己試試?)

      https://github.com/LaravelChen/swoole_api_...
      性能展示 (強,強,強)

      ?

      2. 簡介

      本人為了更加便利的開發(fā),自行實現(xiàn)了中間件,封裝了請求數(shù)據(jù)體,利用 jwt 實現(xiàn) api 的 token 驗證,集成了 Laravel 的 ORM,再次封裝了一套適合 api 編寫流程的數(shù)據(jù)請求流程,具體可以看 App/Base 目錄下的 Model 類,具體開發(fā)步驟詳見代碼即可。

      ?

      3. 主要實現(xiàn)

      • 登錄注冊,驗證碼發(fā)送(如果需要測試,可以結(jié)合前端 react 將驗證碼打印出來即可)
      • 公共聊天室(一旦用戶登錄,用戶列表即會增加,該用戶可以進行加好友操作)
      • 消息推送(可以利用 swoole 的異步進程實現(xiàn))
      • 私聊室 (加完好友即可進行私聊)
      • 其余功能可以添加......

      ?

      4. 安裝

      ?

      4.1 后臺安裝

      這里只是后臺邏輯,前端的對應(yīng)項目請移步到:?https://github.com/LaravelChen/React-Small...

      php server start

      因為 swoole 常駐內(nèi)存,所以一旦修改代碼,需要重啟。

      ?

      4.2 前端安裝

      npm install
      npm run start

      ?

      5. 項目效果

      5.1 暢聊室

      5.2 私聊室

      ?

      ?

      ?

      此外,還有其他的加好友,消息推送等效果不演示了,可以自行下載安裝使用,效果很好!

      6.postman 接口參考

      https://www./collections/7f9...

      ?

      7. 數(shù)據(jù)表結(jié)構(gòu)

      1. 數(shù)據(jù)庫名

      swoole_framework

      chat_content 表

       1 CREATE TABLE `chat_content` (
       2   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
       3   `user_id` int(11) NOT NULL COMMENT '用戶id',
       4   `to_user_id` int(11) DEFAULT NULL COMMENT '接收方',
       5   `action` enum('PUBLIC','PRIVATE') NOT NULL DEFAULT 'PUBLIC' COMMENT '操作樣式',
       6   `chat_content` varchar(255) NOT NULL DEFAULT '' COMMENT '聊天記錄',
       7   `created_at` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
       8   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
       9   `deleted_at` timestamp NULL DEFAULT NULL COMMENT '刪除時間',
      10   PRIMARY KEY (`id`),
      11   KEY `user_id` (`user_id`,`to_user_id`)
      12 ) ENGINE=InnoDB AUTO_INCREMENT=116 DEFAULT CHARSET=utf8mb4;

      ?

      friends 表

       1 CREATE TABLE `friends` (
       2   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
       3   `user_id` int(11) DEFAULT NULL COMMENT '用戶id',
       4   `to_user_id` int(11) DEFAULT NULL COMMENT '好友id',
       5   `created_at` timestamp NULL DEFAULT NULL,
       6   `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
       7   `deleted_at` timestamp NULL DEFAULT NULL,
       8   PRIMARY KEY (`id`)
       9 ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
      10  

      ?

      notification 表

       1 CREATE TABLE `notification` (
       2   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
       3   `type` enum('ADDUSER') NOT NULL DEFAULT 'ADDUSER' COMMENT '類型',
       4   `action` enum('RECEIVE','REFUSE','DEFAULT') DEFAULT 'DEFAULT' COMMENT '當前的種類',
       5   `user_id` int(11) NOT NULL COMMENT '發(fā)送方id',
       6   `message` varchar(255) DEFAULT NULL COMMENT '信息',
       7   `to_user_id` int(11) NOT NULL COMMENT '接送方id',
       8   `is_read` enum('YES','NO') NOT NULL DEFAULT 'NO' COMMENT '是否已讀',
       9   `created_at` datetime NOT NULL COMMENT '創(chuàng)建時間',
      10   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
      11   `deleted_at` timestamp NULL DEFAULT NULL COMMENT '刪除時間',
      12   PRIMARY KEY (`id`),
      13   KEY `type` (`type`,`user_id`,`to_user_id`)
      14 ) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4;

      ?

      users 表

       1 CREATE TABLE `users` (
       2   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
       3   `phone` varchar(13) NOT NULL DEFAULT '' COMMENT '手機號',
       4   `name` varchar(55) NOT NULL DEFAULT '' COMMENT '姓名',
       5   `email` varchar(30) NOT NULL DEFAULT '' COMMENT '郵箱地址',
       6   `avatar` varchar(255) DEFAULT NULL COMMENT '頭像地址',
       7   `password` varchar(100) NOT NULL DEFAULT '' COMMENT '密碼',
       8   `created_at` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
       9   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
      10   `deleted_at` timestamp NULL DEFAULT NULL COMMENT ' 刪除時間',
      11   PRIMARY KEY (`id`),
      12   UNIQUE KEY `phone` (`phone`),
      13   UNIQUE KEY `email` (`email`)
      14 ) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8;

      ?

      來源:https://www./content-4-576801.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多