前后端分离的项目,使用 swoole+react 实现的聊天室,整个项目的框架结构可以进行参考,前端 react+react-redux+react-router+react-ant 等等,后台使用 easyswoole,自行实现中间件(数据封装,token 验证,签名验证), 认真看代码可以学到很多哦,?!
https:/世界语系/github.com/laravelchen/swoole_chat…
https://github.com/lara神秘来客velchen/react-small…
https://github.com/laravelchen/swoole_api_…
性能展示 (强,强,强)
本人为了更加便利的开发,自行实现了中间件,封装了请求数据体,利用 jwt 实现 api 的 token 验证,集成了 laravel 的 orm,再次封装了一套适合 api 编写流程的数据请求流程,具体可以看 app/ba 目录下的 model 类,具体开发步骤详见代码即可。
这里只是后台逻辑,前端的对应项目请移步到:https://github.com/laravelchen/react-small…
php rver start
因为 swoole 常驻内存,所以一旦修改代码,需要重启。
npm installnpm run start
5.1 畅聊室
5.2 私聊室
此外,还有其他的加好友,消息推送等效果不演示了,可以自行下载安装使用,效果很好!
https://www.getpostman.com/collections/7f9…
swoole_framework
1 create table `chat_content` ( 2 `id` int(11) unsigned not null auto_increment comment 'id', 3 `ur_id` int(11) not null comment '用户id', 4 `to_ur_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 '创建时间', 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 `ur_id` (`ur_id`,`to_ur_id`)12 ) engine=innodb auto_increment=116 default chart小学体育工作总结=utf8mb4;
friends 表
1 create table `friends` ( 2 `id` int(11) unsigned not null auto_increment, 3 `ur_id` int(11) default null comment '用户id', 4 `to_ur_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 chart=utf8;10
1 create table `notification` ( 2 `id` int(11) unsigned not null auto_increment, 3 `type` enum('addur') not null default 'addur' comment '类型', 4 `action` enum('receive','refu','default') default 'default' comment '当前的种类', 5 `ur_id` int(11) not null comment '发送方id', 6 `message` varchar(255) default null comment '信息', 7 `to_ur_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 '创建时间',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`,`ur_id`,`to_ur_id`)14 ) engine=innodb auto_increment=21 default chart=utf8mb4;
1 create table `urs` ( 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 '创建时间', 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 chart=utf8;
本文发布于:2023-04-07 22:14:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/87f3e99ce0cc1bc8f60268c8457bb9b9.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:用Swoole+React 实现的聊天室.doc
本文 PDF 下载地址:用Swoole+React 实现的聊天室.pdf
留言与评论(共有 0 条评论) |