Workerman在线聊天
基于Workerman,用户、管理员、游客相互之间的即时通讯插件
功能介绍
此插件基于Workerman的GatewayWorker框架开发,基于Websocket协议运行,用于站内实时通讯、后台接受服务通知等,已实现用户与用户、用户与管理员、管理员与管理员、管理员与游客之间快速沟通并支持发送表情和文件
功能特性
各种身份用户的实时聊天
通过为html标签添加指定的class和data一键发起与指定用户的会话窗口
系统内任意处的PHP业务代码中可通过插件提供的类向用户、管理、用户组、管理组发送消息
站外调用
准备工作
开端口:请在阿里云/腾讯云的安全组、服务器防火墙内打开[1818]端口,此端口可在插件配置中修改
执行php think fastchat start d启动Workerman服务,详细启停查看在下方有介绍
若您未开启调试模式,安装完插件后,请清理系统缓存和本地浏览器缓存(或修改常规管理-》系统配置-》基础配置中的版本号),调试模式下,请忽略此步骤
额外的功能使用方式
一键唤起与指定用户的会话窗口
<div data-userid="1||admin" class="fastchat_user">和ID为1的管理员对话</div>
标签是任意的,关键在于 class 和 data-userid 属性,class不带任何样式,data-userid的设置方式:ID||身份标识
身份标识有以下几种:
用户:user
管理员:admin
游客:tourists
服务号:service_user
使用如:1||user 和 1||admin 分别代表调起ID为1的用户和ID为1的管理员的会话窗口
PHP业务代码中发送消息
首先:use addons\fastchat\library\Chat;
// 静态链式调用
$res = Chat::init('服务号ID,也就是发信人')
->user('1,2')//发送给ID为1,2的用户
->admin('1,2')//发送给ID为1,2的管理员
//->admin([1,2])
->user_group('1,2')//发送给ID为1,2的用户组中的所有用户
->admin_group('1,2')//发送给ID为1,2的管理角色组中的所有管理员
->send('消息内容');
// 先实例化再链式调用
$Chat = new Chat(1);//这里传的是服务号ID
$Chat->user('1,2,3')->send('消息内容');
user、admin、user_group、admin_group方法,均可以传逗号分隔的字符串或者一维数组
启动与停止
以debug(调试)方式启动(关闭小黑窗,服务自动退出)
php think fastchat start
以daemon(守护进程)方式启动
php think fastchat start d
停止
php think fastchat stop
重启
php think fastchat restart
平滑重启
php think fastchat reload
查看状态
php think fastchat status
以上操作,windows系统均无效,windows下请运行根目录/public/fastchat_start_for_win.bat文件启动服务,请注意是根目录,并非插件目录
服务介绍
长期免费更新
提供源码、私有化部署
首年技术支持(服务器部署指导、域名注册咨询、服务器安全指导)
采购后服务对接(vx):jyhcc95
发表评论 取消回复