欢迎来到万象站长学堂!

齐博CMSX1教程

当前位置: 主页 > CMS教程 > 齐博CMSX1教程 > 文章列表

把内容评论改造成即时聊天

时间:2024-02-28 16:33:16|栏目:齐博CMSX1教程|点击:43 次
把下面内容塞进内容详情页的模板,即可实现即时聊天功能。效果如下图所示 ![](https://img.kancloud.cn/02/e7/02e76314d09667a3f35fff0005496889_1479x678.gif) 代码如下: ~~~
<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; } var sending_msg = false; function post_cmt_msg(){ var contents = $('#post_cnt').val(); if(contents==''){ layer.alert("内容不能为空!"); return false; }else if(sending_msg){ layer.alert("请不要重复发送!"); return false; } sending_msg = true; //消息入库处理,如果不想消息入库的话,就把下面的删除,直接使用 sending_msg=false;$('#post_cnt').val('');WS.send({type:'qun_sync_msg',data:{push_id:0,content:contents,}}); $.post("{:purl('comment/api/add')}?sysid={:M('id')}&aid={$id}",{content:contents},function(res){ sending_msg = false; if(res.code==0){ //发布成功 //通知同步显示最新消息 WS.send({ type:'qun_sync_msg', //固定标志 data:{ push_id:res.data.id, content:contents, } }); $('#post_cnt').val(''); }else{ layer.msg('评论发表失败:'+res.msg); } }); } //加载数据库的信息 function load_data_list(){ if(msg_page<1){ layer.alert("没有了!"); return false; } layer.msg('内容加载中...',{time:1000}); //rows=10即代表每页显示10条消息 $.get("{:purl('comment/api/getlist')}?sysid={:M('id')}&aid={$id}&rows=10&page="+msg_page,function(res){ if(res.code==0){ $("#show_list_content .showmore-btn").remove(); var oh = $("#show_list_content").height(); $("#show_list_content").append(array2html(res.data)+'<div class="showmore-btn" onclick="load_data_list()" style="text-align:center;color:blue;">点击加载更多</div>'); if(msg_page==1){ $(".content_box_wap").animate({scrollTop:5000},1000); }else{ var h = $("#show_list_content").height()-oh-$(".content_box_wap").height(); $(".content_box_wap").animate({scrollTop:h},1000); } msg_page++; }else if(msg_page>1){ msg_page = -1; layer.msg("没有了!"); } }); } var msg_page = 1; //默认显示第一页的数据 var myuid = "{$userdb.uid}"; //当前用户的登录UID $(function(){ load_data_list(); //默认显示第一页的评论消息 setTimeout(function(){ //与websock服务器建立长连接 WS.link({ uid:-( {$id} + 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> ~~~

上一篇:任何页面加入即时聊天功能

栏    目:齐博CMSX1教程

下一篇:自定义模板字段的添加规则

本文标题:把内容评论改造成即时聊天

本文地址:https://zhanzhang.eapis.site/html/147.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:120507403 | 邮箱:120507403@qq.com

Copyright © 2002-2025 万象站长学堂 版权所有沪ICP备2021023961号-8 粤公网安备 13010202004186