官网
教程
文档
官网文档
小程序集群与uniapp
小程序app接口教程
冰蓝世界版
阿赖耶识与随风版
网站首页
齐博X1教程专栏
文章列表
推荐
任何页面加入即时聊天功能
超级蜘蛛查
2024-02-28 16:33:19
58
把下面的代码塞入到任何页面,即可在相应的页面实现即时聊天功能。下面的聊天内容并没有做入库处理。如果要入库的话,可以参考内容详情页的评论即时聊天改造JS,同时要简单的二开一下PHP即可实现。 下面代码中有个关键点 ` {$id?:($fid?:date('z'))}` 这个就是根据栏目或者是内容页区别不同的房间即聊天室. 代码如下 ~~~ .layadmin-message-fluid{ padding:0;}.layui-col-md12{ background:#000; padding:10px; border-bottom:1px solid #eee;}.layadmin-message-fluid .layui-col-md12{ padding-bottom:0px;}.message-content .media-body{ padding-top:15px; border-top:1px solid #eee; margin-bottom:20px; margin-top:10px;}.message-content .isme{ border-top:1px solid #fdc545;}.chat_box{ border:1px solid #62b5c5;}/*上面的CSS样式及template.css文件不重要,完全可以删除的*//*聊天内容窗口定高,这里也是关键之处*/.content_box_wap{ height:200px; overflow-y:auto;}#show_list_content{ /*下面两行是关键地方,要倒过来排序*/ flex-direction: column-reverse; display: flex;} 发送 <script type="text/javascript">//将数据转化成自定义模板的格式,做模板一般要修改这里!!!function array2html(listdb){ var str=''; listdb.forEach((rs)=>{ if(rs.from_username){ //即时消息的情况 rs.icon=rs.from_icon; rs.username=rs.from_username; } var isme = rs.uid==myuid?'isme':'ishe'; //做模板,可以根据这个处理自己的头像是不是在右边显示 //做模板,只需要修改下面的代码即可.注意``这两个符号不能漏掉 str += ` <div class="media-body ${isme}"> <a href="/member.php/home/${rs.uid}.html" class="media-left" style="float: left;"> <img src="${rs.icon}" onerror="this.src='/public/static/images/noface.png'" height="46px" width="46px"> </a> <div class="pad-btm"> <p class="fontColor"><a href="/member.php/home/${rs.uid}.html">${rs.username}</a></p> <p class="min-font">${rs.create_time}</p> </div> <p class="message-text">${rs.content}</p> </div> `; }); return str;}function post_cmt_msg(){ var contents = $('#post_cnt').val(); if(contents==''){ layer.alert("内容不能为空!"); return false; } //通知同步显示最新消息 WS.send({ type:'qun_sync_msg', //固定标志 data:{ push_id:0, content:contents, } }); $('#post_cnt').val('');}var msg_page = 1; //默认显示第一页的数据var myuid = "{$userdb.uid}"; //当前用户的登录UID$(function(){ setTimeout(function(){ //与websock服务器建立长连接 WS.link({ uid:-( {$id?:($fid?:date('z'))} + 1000000 ), //1000000仅仅是一个标志而已,避免跟圈子ID冲突,这样数值就会大于圈子 userinfo:{username:'{$userdb.username}',icon:'{$userdb.icon}'}, quninfo:{uid:0}, my_uid:myuid, ws_url:"{:fun('Gatewayclient@client_url')}" }); WS.onmsg(function(obj){},'layui'); //把系统的客服消息功能注销掉,避免冲突 },500); //延时执行是为了避免跟客服消息冲突. });//同步接收消息WS.onmsg(function(obj){ if(obj.type=="qun_sync_msg"){ //同步显示最新发表的信息 $("#show_list_content").prepend(array2html(obj.data)); $(".content_box_wap").animate({scrollTop:5000},500); //新消息自动滚动到最底部 }},'default');</script> ~~~
本文链接:https://x1.wanxiangsucai.com/read/148.html
上一篇:
下一篇:齐博x1云标签插件-一件提取关键词无法使用的解决办法
相关文章推荐
1.
再强调严禁用记事本改任何文件
2.
直播神器聊天小插件
3.
把内容评论改造成即时聊天
4.
内容重新渲染,使聊天内容更炫
5.
JS网页快速接入支付功能
6.
插件如何做前台风格切换的功能详解
7.
如何开启自定义标签模板功能
8.
使用缩略图功能加快列表页打开速度
9.
耗时的功能异步启用子进程
10.
表单快速启用城市地区功能
齐博X1教程专栏最新文章
1.
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
2.
齐博x1云标签插件-一件提取关键词无法使用的解决办法..
3.
关于thinkphp5
4.
齐博X1更新记录
5.
解决Web部署 svg/woff/woff2字体 404错误
6.
云市场注意事项
7.
如何调取当前模块ID
8.
URL伪静态设置
9.
QQ登录接口配置
10.
邮箱接口设置之QQ企业邮箱
齐博X1教程专栏文章推荐
1.
007-用{block}标记来分割布局模板
2.
任意位置调用万能表单的方法 顺便借楼说下purl的作用..
3.
如何给内容页自定义个性模板
4.
APP配置教程及签名工具下载
5.
使用宝塔面板php7.3的用户如果无法安装应用的解决办法..
6.
万能通用短信接口的配置
7.
视频直播接口设置
8.
直播录制为点播的配置
9.
论坛的内容调取与修改发布点赞接口
10.
再强调严禁用记事本改任何文件
建站工具推荐
您可能感兴趣的文章
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
齐博x1云标签插件-一件提取关键词无法使用的解决办法
关于thinkphp5
齐博X1更新记录
解决Web部署 svg/woff/woff2字体 404错误
云市场注意事项
如何调取当前模块ID
URL伪静态设置
QQ登录接口配置
邮箱接口设置之QQ企业邮箱