客服⽤户聊天系统源码Demo
静态H5聊天对话框html源码客服系统代码(3)
此程序可⽤作客户与客服聊天使⽤,也可以作为app程序嵌⼊的聊天功能或者站内聊天使⽤的代码。运⾏视频效果:
上节讲了消息对话如何实现,上节规划中是来如何实现做到推送实时刷新,看了bass的接⼝,如果要做到这样的效果必须要先开通99⽉每⽉的套餐才能使⽤其数据库监听的功能。
我⼀看,暂时每⽤这个付费的套餐,我打算先⽤轮询刷新的⽅式实现这个功能,轮询的话,暂定5秒。也就是说5秒刷新⼀次。
直接上代码:
function getMsgFromServer(fromTime){
const query = Bmob.Query("ChatContent");
query.limit(300);
if(fromTime != null){
query.equalTo("createdAt",">",fromTime);
query.equalTo("objectId","!=",unusedCheckMsgObjectid);
}
//(query1, query2);
query.find().then(res => {
console.log(res)
for(var i = res.length-1; i >=0; i--) {
startCheckMsgTime = res[0].createdAt;
unusedCheckMsgObjectid = res[0].objectId;
if(res[0].objectId ==(unusedCheckMsgObjectid1)){
continue;
}
var item = res[i];
AddMsg(item.DeviceID, atedAt,t));
}
});
}
h5平台源码下载
上⾯代码就是刷新的业务,刚刚进来时候刷出历史消息。
刷新后然后记录上次刷新的时间,然后从这个时间点往后刷新。⽐如下午2点刷新到消息后,记录下这个时间,然后5秒刷新⼀次。如果没刷新到消息,继续按这个时间刷新,如果刷新到新的消息,则重新把起始的时间设置过去,以此为起点。
这样做的好处就是避免查询到相同的消息,重复显⽰出来。
如果是使⽤付费的套餐业务,需要99⼀个⽉,可以通过长链接的⽅式监听服务器的变化,⽐如某⼀⾏修改或者被删除,客户端都能收到回调。这个套餐⽬前是99⽉,⽼实说也不算贵,如果⽤户起来的话。
⽤于⼀多,很多长连接,这种bass起始也难吃得消,可能需要开其他的套餐,规模上去⼀个与⼀千多服务套餐应该是够⽤的。
通过上图中的效果,实际完全是可以实现基本客服的功能。
之前说过,通过给上⾯传递参数控制,让⽤户与⽤户之间联系完全是可以的。
只需要传递响应的参数。
如下:
Chat.html?fromDeviceID=default&toDeviceID=xhrdd03t6e
default 我这边默认为管理员的ID.
xhrdd03t6e为⽤户的ID.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论