diff --git a/static/templates/chat_main.html b/static/templates/chat_main.html
index 9d14dfb..9d7bc94 100644
--- a/static/templates/chat_main.html
+++ b/static/templates/chat_main.html
@@ -394,6 +394,7 @@
sendDisabled:false,
showFaceIcon:false,
showLoadMore:false,
+ pollTimer:null,
messages:{
page:1,
pagesize:15,
@@ -766,10 +767,63 @@
}
if(_this.messages.page==1){
_this.scrollBottom();
+ _this.startPollMessages();
}
_this.messages.page++;
});
},
+ startPollMessages(){
+ let _this=this;
+ if(_this.pollTimer){
+ clearInterval(_this.pollTimer);
+ }
+ _this.pollTimer=setInterval(function(){
+ if(!_this.currentGuest) return;
+ let params={
+ page:1,
+ pagesize: 20,
+ visitor_id: _this.currentGuest,
+ }
+ $.get("/2/messagesPages",params,function(res){
+ let msgList=res.result.list;
+ let existKeys={};
+ for(let i=0;i<_this.msgList.length;i++){
+ var m=_this.msgList[i];
+ if(m.id){
+ existKeys['id_'+m.id]=true;
+ }
+ if(m.time && m.content){
+ existKeys[m.time+'_'+m.content]=true;
+ }
+ }
+ let newMsgs=[];
+ for(let i=msgList.length-1;i>=0;i--){
+ let item=msgList[i];
+ var key1=item.id?'id_'+item.id:'';
+ var key2=item["create_time"]+'_'+replaceContent(item["content"]);
+ if((key1 && existKeys[key1]) || existKeys[key2]) continue;
+ if (item["mes_type"] == "kefu") {
+ item.is_kefu = true;
+ item.avator=item["kefu_avator"];
+ item.name=item["kefu_name"];
+ } else {
+ item.is_kefu = false;
+ item.avator=item["visitor_avator"];
+ item.name=item["visitor_name"];
+ }
+ item.content=replaceContent(item["content"]);
+ item.time = item["create_time"];
+ newMsgs.push(item);
+ }
+ if(newMsgs.length>0){
+ for(let i=0;i=0;i--){
+ let item=msgList[i];
+ var key1=item.id?'id_'+item.id:'';
+ var key2=item["create_time"]+'_'+replaceContent(item["content"]);
+ if((key1 && existKeys[key1]) || existKeys[key2]) continue;
+ if (item["mes_type"] == "kefu") {
+ item.is_kefu = true;
+ item.avator=item["kefu_avator"];
+ } else {
+ item.is_kefu = false;
+ item.avator=item["visitor_avator"];
+ }
+ item.time = item["create_time"];
+ item.content=replaceContent(item["content"]);
+ newMsgs.push(item);
+ }
+ if(newMsgs.length>0){
+ for(let i=0;i