做了个简单版本的客服系统

aabbcc 10月前 393

这个是业务功能,一个是能够转接客服,切换不同的客服人员进行聊天;另外一个是所有的聊天记录都要保存,客服和用户都要能看到。群组功能能满足这个需求,可以把新的客服人员拉进来就能实现转接功能,而且群组可以查看加入之前的消息记录,这样历史记录也不是问题了

你们在开发文档提出方案: 客服端如果是移动客户端或者是PC客户端就需要特殊处理一下,因为历史消息存储在本地数据库中,拉取历史消息是先读取本地消息,本地读取不到再拉取历史,如果一个客户经过多个客服服务,客服被加入和踢出多次,本地消息记录就会不全。处理方法可以是在每次加入和退出时清理一下本会话的消息,这样就能保证从服务器拉取到完整的历史消息。Web和小程序端没有这个问题。可以使用不同的line,能够与正常会话分开。

里面方案中为了保证本地消息记录全,处理方法可以是在每次加入和退出时清理一下本会话的消息,这样就能保证从服务器拉取到完整的历史消息;其中清理一下会话信息是指这个方法进行清空吗? public void clearMessages(Conversation conversation) { if (!checkRemoteService()) { return; } try { mClient.clearMessages(conversation.type.getValue(), conversation.target, conversation.line); for (OnClearMessageListener listener : clearMessageListeners) { listener.onClearMessage(conversation); } } catch (RemoteException e) { e.printStackTrace(); } }

最新回复 (3)
  • x86 10月前
    引用 2
    是的
  • aabbcc 10月前
    引用 3
    原来是客服A在跟客户聊天,转移到客服B跟客户聊天,已经调用了clearMessages()方法,重新拉取的远程数据,客服B也是拿不到客服A跟客户聊天的记录,是还要操作什么吗
  • x86 10月前
    引用 4
    确认下im-server是否配置允许查看入群之前的消息
返回