diff --git a/static/templates/chat_main.html b/static/templates/chat_main.html
index a399bdb..180b0df 100644
--- a/static/templates/chat_main.html
+++ b/static/templates/chat_main.html
@@ -738,22 +738,26 @@
}
$.get("/2/messagesPages",params,function(res){
let msgList=res.result.list;
- let existKeys={};
+ let existIds={};
+ var existList=[];
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;
+ if(m.id) existIds[m.id]=true;
+ if(m.time) existList.push({time:new Date(m.time).getTime(),content:m.content});
+ }
+ function isDuplicate(item){
+ if(item.id && existIds[item.id]) return true;
+ var t=new Date(item["create_time"]).getTime();
+ var c=replaceContent(item["content"]);
+ for(var j=0;j=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(isDuplicate(item)) continue;
if (item["mes_type"] == "kefu") {
item.is_kefu = true;
item.avator=item["kefu_avator"];
diff --git a/static/templates/chat_page.html b/static/templates/chat_page.html
index b1be921..b06ba38 100644
--- a/static/templates/chat_page.html
+++ b/static/templates/chat_page.html
@@ -238,7 +238,6 @@
isIframe:false,
kefuInfo:{},
showLoadMore:false,
- pollTimer:null,
messages:{
page:1,
pagesize:5,
@@ -463,59 +462,10 @@
}
if(_this.messages.page==1){
_this.scrollBottom();
- _this.startPollMessages();
}
_this.messages.page++;
});
},
- startPollMessages:function(){
- let _this=this;
- if(_this.pollTimer) return;
- _this.pollTimer=setInterval(function(){
- if(!_this.visitor||!_this.visitor.visitor_id) return;
- let params={
- page:1,
- pagesize: 20,
- visitor_id: _this.visitor.visitor_id,
- }
- $.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"];
- } 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