龙空技术网

ThinkPHP(ORM)+Swoole+vue客服聊天项目实战

春雷云海 1068

前言:

现在同学们对“jquery聊天工具”大致比较重视,兄弟们都想要了解一些“jquery聊天工具”的相关资讯。那么小编也在网上网罗了一些有关“jquery聊天工具””的相关内容,希望大家能喜欢,各位老铁们一起来学习一下吧!

项目介绍:
WebSocket做客户端推送消息,VUE做数据绑定和渲染,代码简洁优雅,易维护。ThinkPHP(ORM)操作数据库,Swoole引擎提供WebSocket服务器支持,异步非阻塞多进程的WebSocket服务器。400分钟干货编码,业务原理分析透彻,PHP实现Server端代码,向继续征战的PHP老兵致敬。感谢ThinkPHP团队,感谢Swoole开发团队。擅长技术:HTML5、CSS3、JavaScript、jQuery、Node.js、Vue、ReactJs、PHP、MySQL、ThinkPHP等适用人群:有PHP基础及JS基础的学员

视频加载中...

目录:

第一章:技术选型和技术储备

001:项目介绍和技术选型注意事项

002:ThinkPHP(ORM)CURD操作数据库

composer require topthink/think-orm

针对phpim数据库单表user增删改查操作练习

SQL语句的变量用大括号包起来直接解析

003:IM服务(Linux)常用命令介绍和使用

此项目使用到的高频操作命令

1:chmod -R 777 文件夹目录

2:设置cli环境下的PHP运行环境

rm -f /usr/bin/php

ln -sf /www/server/php/73/bin/php /usr/bin/php

3:查看swoole扩展版本php --ri swoole

4:查看im.php文件被谁占用 ps -ef | grep im.php

5:查看9501端口被谁占用 ls -i:9501

6:杀死某个进程 kill -9 9501

7:linux系统开放6501端口

8:执行PHP文件

php im.php (在前台运行,关闭ssh链接,服务终端)

php im.php & (在后台运行,关闭ssh链接,服务继续)

9:删除某个目录

rm -rf layim-v3.9.1/

10:删除某个文件产生的进程

ps aux |grep im.php|grep -v grep|awk '{print $2}'|xargs kill -9

第二章:服务端接口开发

001:数据库分析和设计

核心业务,用户表,客服表,会话表,消息表,用户对应客户(一对一),客服对应用户(一对多)。

websocket在客户端默认不支持长连接,新窗口连接产生信息文件索引fd,注意多个页面更新fd。

server向fd=101(用户)转发fd=102(客服)的信息

server向fd=102(客服)转发fd=101(用户)的信息

002:配置ftp文件自动上传和编写im基本类

配置PHPstorm文件自动上传和编写引入swoole的基本类im

003:引入swoole示例代码,开启携程

一行代码开启协程无阻塞--\Swoole\Runtime::enableCoroutine(true);

004:接口开发:用户登录和客服登录-定义数据结构

定义参数:username,password,websocket发送的是json字符串,PHP接受需要json_decode($pageparm,true);

005:接口开发:自动分配客户-随机分配指定分配

SQL:SELECT chatid,COUNT(id) as userconut FROM `im_chat` GROUP BY kefu_id;

006:接口开发:发送消息-服务器被动接受信息和主动转发消息

服务器被动接受fd=n信息和主动转发fd=m消息,Message转发各个方法操作

007:接口开发:获取会话消息列表-扩展分页加载

008:接口开发:获取客服会话列表

第三章:客户端开发

001:用户登录-创建WebSocket连接

002:客服登录-创建WebSocket连接

003:客服角色-拉取会话列表

004:用户角色-拉取消息记录

005:用户发送消息-推送到客服会话列表

006:客服角色-拉取消息记录,发送消息,实现点对点推送

007:自动分配客户BUG修改(接口逻辑)

添加一个字段bindUserCount(客服绑定用户数量)

第四章:

001:客户端代码细节优化

002:客户端断开自动重连

谨慎使用计数器,防止页面websocket连接过多客户端崩掉,后端server也会崩掉.

003:服务端代码细节优化(项目总结)

服务端Swoole一键开启协程.开启守护进程,后台运行.配置服务端心跳检测.有感兴趣的话可以把mysql切换成redis,效果更好。

ThinkPHP(ORM)/Swoole/vue客服聊天项目实战演示

项目部署:

1:导入sql文件

2:命令行下 php im.php & (启动服务)

注意事项

1:目前支持命令行启动服务

2:客服和用户密码默认都是123456(md5(123456))

3.项目代码和数据库表,接口文档在课程最后一节直接下载


感兴趣留言!

标签: #jquery聊天工具 #js在线客服代码 #thinkphp分页速度优化 #jquery点对点聊天