公司的APP最新要做用户建议和bug反馈功能,需求是我们的运营人员能对用户反馈和建议进行沟通交流。做调研和向之前的同事和网友咨询相关经验后决定使用基于Apache  Licene2.0开源协议的openfire4.2+的IM聊天服务器。

openfire和spark的安装很简单,网上一堆教程,这次就不多说了。

安装成功后,openfire后台是这个样子的:

假如要实现类似客服系统的话,需要安装一个openfire的插件----Fastpath(仔细看上图),Fastpath插件安装同样很简单傻瓜式安装,在openfire后台导航选择“插件----有效插件”然后选择“fastpath”,点击安装即可。

重点来了!!!fastpath server的web端fastpath webchat插件就比较难了,本章重点介绍如何安装webchat。

网上说的webchat.war已经下载不了了,别费劲找了。下面是webchat源码的下载地址https://codeload.github.com/igniterealtime/Fastpath-webchat/zip/master

使用idea的同学可以直接部署,eclipse的需要做以下修改,步骤:

新建一个web项目,把源码中src目录下java目录的java代码、webapp目录下的jsp、webapp/WEB-INF下的lib中的jar包和dwr.xml、taglibs-mailer.tld、web.xml配置文件放到新建的web项目下,即可。请忽略plugin目录。

eclispe编译后,启动tomcat,访问http://localhost:8080/webchat,进入如下页面:

Server Host输入你自己openfire部署服务器的ip,点击save按钮,可能会报:

org.apache.jasper.JasperException: java.lang.NullPointerException异常,这时要加入下面几个jar包,可自行百度下载:

javax.servlet.jsp-api-2.3.1.jar

jasper-compiler-jdt-5.5.15.jar

jasper-compiler.jar

jasper-el.jar

jasper-jdt.jar

jasper-runtime.jar

jasper.jar

加入后重启,点击save按钮可能还会报错:Anonymous login test failed. Ensure that anonymous logins are enabled on the

这时去openfire的后台:服务器---服务器设置----登录和注册,把匿名登录设置开启。

不出意外的话会配置成功,进入如下页面:

click on the fllowing image:

这时页面上没有workgroup的图标并且查看log会发现已经报错:

警告: Could not retrieve image: offline
remote-server-not-found(404)
at org.jivesoftware.smackx.workgroup.user.Workgroup.getChatSettings(Workgroup.java:687)
at org.jivesoftware.smackx.workgroup.user.Workgroup.getChatSettings(Workgroup.java:654)
at org.jivesoftware.webchat.util.SettingsManager.getImage(SettingsManager.java:147)
at org.jivesoftware.webchat.FastpathServlet.service(FastpathServlet.java:174)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.jivesoftware.webchat.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.jivesoftware.webchat.SetupFilter.doFilter(SetupFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

这时需要去修改setup-finished.jsp的代码:
把showChatButton中的luqiantu替换成你openfire后的group组名字,chunmi换成你openfire的域名,然后重启tomcat,访问:

http://localhost:8080/webchat/,就会出现openfire配置的workgroup图标:

然后点击图标就可以进行对话了,我的客户端用的是spark,会随机匹配一个客服对话。

把webchat部署之后,访问:http://localhost:8080/webchat/页面查看workgroup列表,如果这时只两句话,并没有图标:

List of available workgroups within Fastpath

Click on one of the following workgroups to join.

<此处应有workgroup组图标>
如果没有图标,则需要改index.jsp的代码,参考修改setup-finished.jsp,修改后重启后页面:
点击图标浏览器会弹出:
你的弹出框表单可能是英文并且有三项,和我这个有点不太像,这并不是版本问题而是我在openfire做了一些设置:
1,创建workgroups
2,Form UI:主要是用户网页端连接时需要输入的个人信息内容,可以自行修改
3,Images:用来修改网页端对话窗口的各种图标
4,text:用来修改网页端对话窗口的各种文本提示
5,offlien settings:用来设置客服全不在线时的动作
6,transcripts:用来设置对话结束后给用户发送一份聊天副本
点击开始聊天按钮,spark会在电脑右下角弹出窗口:
然后点击accept按钮:
就可以进行对话了,如果在openfire配置多个客服,会随机分配一个客服进行对话,一个客服可以和多个用户进行对话。

openfire4.2 配置fastpath、webchat、spark实现客服系统相关推荐

  1. 某电商平台开发记要——客服系统

    假如网站需要提供客服功能,如果只是简单的聊天咨询可以考虑营销QQ.百度商桥等(目前大部分网站采用此方式,包括一些知名行业电商):如果需要更精细化的管理,比如客服人员安排.各项数据统计汇总,那么需要对接 ...

  2. 一个程序员的战斗:在线客服系统,一年30个版本更新,收获首批忠实用户

    就像没有一个画匠不想办一场属于自己的画展,没有一个歌者不想写一首自己的歌. 也许只有为数不多的听众,但是当他怀疑自己时,还是会有忠实的听众支持他继续走下去. 我在业余时间开发维护了一款在线客服系统,一 ...

  3. openfire + fastpath + webchat + spark 搭建在线客服系统

    openfire + fastpath + webchat + spark 搭建在线客服系统 最近接了好几个项目,这几个项目有个共同的特点都是需要用到在线客服系统的.因为之前没有做过在线客服系统,所以 ...

  4. otrs安装mysql_安装配置otrs客服系统

    大 中 小 安装配置otrs客服系统 2011-10-20 一.安装OTRS步骤和问题解决方法二.OTRS-Kernel文件移动三.OTRS文件权限四.OTRS测试五.数据导入六.同步数据库 (先要安 ...

  5. 如何给《羊了个羊》配置一套智能客服系统?

    几乎是一夜之间,微信小游戏<羊了个羊>火了.​ 这个依靠寻找相同元素消除方块的小游戏,凭借其"变态级别"的游戏难度成功破圈,闯入了无数人的休闲时间,并数次冲上热搜. 当 ...

  6. 微信公众号服务号配置对接在线客服系统教程

    如果只需要实现微信公众号的关注自动回复,关键词自动回复功能,普通订阅号就可以 当需要对接实现公众号的模板消息提醒,模板消息与客服端H5的对接,访客在微信点击或扫码时获取到微信的昵称头像,需要网页授权功 ...

  7. 微信公众号菜单跳转到小程序教程-客服系统对接公众号配置菜单JSON

    现在客服系统的后台,对接微信公众号菜单功能,可视化编辑菜单界面有些不足 只能跳转链接,没有其他点击事件以及跳转小程序功能 其实,生成公众号菜单只是一个JSON的形式,具体的JSON内容可以参照下面示例 ...

  8. flask manage port_后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统...

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_158 在之前的一篇文章中:为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统,详 ...

  9. 轻量在线人工客服系统 支持多商家+自动适配移动端

    简介: 智优在线客服系统源码 PHP轻量人工客服系统 支持多商家+自动适配移动端 支持多商家 支持多商家,每个注册用户为一个商家,每个商家可以添加多个客服. 不限坐席 每个商家可以无限添加坐席,不限制 ...

最新文章

  1. OI模板大全(普及~省选NOI)
  2. 去掉文化管理系统广告
  3. 升级安装linux ssh 升级安装
  4. 考研 | 研究生考试入门,送给刚刚进入寒假的大三的你
  5. 步步深入MySQL:架构-gt;查询执行流程-gt;SQL解析顺序!
  6. android studio syso快捷键,AndroidStudio代码段简写Live Template
  7. MySQL数据库中如何使用rand随机查询记录
  8. 程序设计模式的有趣解释-追MM
  9. 利用U-Net进行两阶段超声图像分割,并增加测试时间
  10. Java中的AtomicInteger
  11. 区块链 以太坊 入门知识
  12. Data Binding 指南
  13. MySQL集群Cluster
  14. abb机器人编程指令写字_ABB机器人编程指令与函数
  15. 网页视频图片链接批量提取
  16. Image caption领域的研究现状及分析
  17. 覆盖(重写)与重载的区别
  18. js实现进度条组件(Progress)
  19. 场景建模都用到哪些三维软件,入门学习选择3DsMax还是Maya
  20. 想学3dmax应该怎么学?

热门文章

  1. 贵州移动落实工业“百千万”工程 助力大数据发展
  2. 金山毒霸:猫癣病毒“服务器”现身广东
  3. linux统计一个文本文件包含多少行,linux小计,统计文件中包含指定字符串的行数...
  4. SteamVR在HDRP或URP中手柄控制器材质如何显示正常?
  5. 【Java】方法中的参数传递机制的具体体现
  6. 陇东学院计算机专业,陇东学院计算机科学与技术专业师范方向课程标准.DOC
  7. 京东招聘CV方向算法实习生
  8. Photoshop CS6利用液化滤镜美化改变脸型实例教程
  9. 基于Bert的微博舆论分析Web系统
  10. 关于汽车起重机远程监控若干问题的探讨