前言:
现在同学们对“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点对点聊天