免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用Swoole React 實(shí)現(xiàn)的聊天室

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

1. 項(xiàng)目鏈接

?

1.1 swoole(請(qǐng) star)

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

?

1.2 react(請(qǐng) star)

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

?

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

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

?

2. 簡(jiǎn)介

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

?

3. 主要實(shí)現(xiàn)

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

?

4. 安裝

?

4.1 后臺(tái)安裝

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

php server start

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

?

4.2 前端安裝

npm installnpm run start

?

5. 項(xiàng)目效果

5.1 暢聊室

5.2 私聊室

?

?

?

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

6.postman 接口參考

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

?

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

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

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)建時(shí)間', 8   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間', 9   `deleted_at` timestamp NULL DEFAULT NULL COMMENT '刪除時(shí)間',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 '當(dāng)前的種類', 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)建時(shí)間',10   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',11   `deleted_at` timestamp NULL DEFAULT NULL COMMENT '刪除時(shí)間',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 '手機(jī)號(hào)', 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)建時(shí)間', 9   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',10   `deleted_at` timestamp NULL DEFAULT NULL COMMENT ' 刪除時(shí)間',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.icode9.com/content-4-576801.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[MySQL] mysql 5.5和 5.6 timestamp default 默認(rèn)值CURRENT_TIMESTAMP問題
電商項(xiàng)目實(shí)戰(zhàn):如何設(shè)計(jì)站內(nèi)信
EasyPytest測(cè)試平臺(tái)開發(fā)日志之系統(tǒng)設(shè)計(jì)
原來還可以這樣創(chuàng)建表
整理了一份數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范,可做模板參考
[MySQL]創(chuàng)建表
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服