在线客服聊天系统源码_美观强大golang内核开发_二进制运行傻瓜式安装_附搭建教程
在线客服系统是什么
在线客服系统可以看作一种即时通讯软件,提供网站及其他应用和访客对话的平台,更加方便网站与访客之间的交流。访客无需安装软件就可以访问企业应用,获取自己想要的信息。
一般来说,在线客服系统的特点包含可最小化、最大化,快速、易用三点,沟通方式多样化。
在线客服系统只需在浏览器窗口就可以进行实时交谈,它作为企业网站的客服服务和主动营销工具,给浏览过网站页面的访客建立档案,提供个性化服务,达到变访客为客户的营销目的。
不仅如此,在线客服系统还可以完整地保留员工与客户的交谈内容,保证与客户的联系。灵通的在线客服系统还具有管理员工绩效的功能,再加上其强大的访客跟踪功能,为企业增加了营销渠道和销售机会。
纵观当前市场,已经开发的在线客服系统多如牛毛,但真正能满足企业需求、适合所有企业的高效即时通讯系统寥寥无几。
不过,你要是对客服系统的功能要求不高的话,可以试试GOFLY在线客服。
无论是PC网站、手机网站、小程序、公众号、APP还是客户端,都可以接入和使用GOFLY在线客服,马上拥有在线客服功能。
GOFLY在线客服是一款注重低成本、低门槛,接入和使用极其简单快捷 的客服系统。即使你是技术小白,也能轻松学会,接入和使用均傻瓜式,无技术门槛,
GOFLY在线客服能满足绝大部分场景使用需求,客服聊天图文并茂,
GOFLY在线客服妥妥地算得上是一款性价比高的在线客服系统。走过路过不要错过呀,不妨试上一试!#客服系统#
为什么推荐我们的客服系统
- 我们的系统支持多租户运营,一次购买,终身使用!
- 支持公众号/小程序/PC网站/移动端网站/APP/多语言,全渠道对接智能化客服系统。
- 摆脱各大SaaS客服平台诸多限制,搭建属于自己的在线客服系统。
GOFLY在线客服系统是一款专注私有本地化部署的网页聊天即时通讯、在线客服坐席系统。采用Golang语言 Gin框架内核+MySQL开发编译而成,多协程模式运行,支撑高并发。 充分考虑用户的合理需求,多年持续性匠心开发功能。
客服系统比较常见,主流的还是采用三方SDK接入,这些SDK的实现方式大都采用长连接,性能要求比较高,费用也偏高。我们在此的目标是开发一个属于自己的客服系统,完全的无依赖第三方,完全自己控制。
我们的客服聊天系统采用长连接
客服系统的及时性要求很高,客服一般要处理多个用户的聊天咨询,在一般情况下,客服和用户之间的聊天实时性很高,要求不能存在轮询等待这样的情况。
开发成本:短连接通过http协议实现,收发消息只需要发送http请求即可,开发简单。
即时通讯:长连接需要客户端和服务器一直保持连接,比较消耗服务器性能,但是可以及时获取到消息
-
极高通信速度;
-
确保实时性;
-
避免短时间内重复连接所造成的信道资源和网络资源的浪费。
后端技术方案
数据库:MySQL
项目框架:Golang+Gin
WEB前端技术方案
VUE+ElementUI
移动端
目前访客端接入方式为:跳转H5聊天页面,移动端以webview内嵌的方式
客服端采用uniapp开发,跨平台的生成移动端APP
数据库结构
消息记录存储
访客信息存储
客服信息存储
常用配置存储
系统管理相关存储
真正做到了每张表、每个字段都增加上了注释,可以有助于让开发者更好的理解功能,极大的方便了修改和扩展功能。
但如果您的产品需要对客服系统进行定制化开发、或者有类似技术需求需要参考实现等,强烈建议您查看注释的sql文件,因为这有助于您:理解算法、修改代码,基于此你当然也很容易与作者的思路保持一致(而不致于发生理解性错误)!
后端程序结构
WEB前端访客端结构
效果展示
访客端效果
客服端效果
在线体验
PC端:https://gofly.v1kf.com https://www.sopans.com
对接代码
<script src="https://gofly.v1kf.com/static/js/kefu-front.js"></script> <script> KEFU.init({ KEFU_URL:"https://gofly.v1kf.com", KEFU_KEFU_ID: "taoshihan", KEFU_ENT: "5", KEFU_LANG:"cn", KEFU_SHOW_TYPES:1, KEFU_AUTO_OPEN:false, }) </script>
KEFU_URL: 网站的URL地址,例如 https://www.baidu.com
KEFU_KEFU_ID: 客服账号用户名
KEFU_ENT: 客服的商户ID
KEFU_LANG: cn 中文 , en英文
KEFU_SHOW_TYPES: 展示样式,1:普通右下角,2:圆形icon
KEFU_AUTO_OPEN: true 自动展开,false 不自动
部署教程+宝塔面板一键部署包
【软件商店=>一键部署=>导入项目】
点击一键部署,输入域名后,全部默认即可完成
网站在线客服系统附源码演示及下载地址:www.sopans.com
手动宝塔面板安装
提前安装宝塔面板,宝塔面板可以很方便的配置域名、反向代理、数据库,所以建议安装一下。安装nginx,mysql数据库(5.7或以上)
创建数据库
请记住设置的数据库名,用户名,密码
部署程序服务
上传压缩包文件到服务器,比如上传到/www/wwwroot/go-fly-pro,给此目录的所有文件赋权限777
编辑config/mysql.json,修改为创建数据库时设置的数据库名,用户名,密码
进入shell终端执行命令
切换目录到/www/wwwroot/kefu.xxxx.com
cd /www/wwwroot/kefu.xxxx.com
执行导入数据库命令,确保数据库配置信息正确,自动创建导入数据库相关表
./kefu install
执行开启服务命令,监听端口,开启服务,-d为守护进程模式
确保所有之前的旧进程已经关闭了,使用ps命令查看进程,没有关闭的kill掉旧进程。例如:ps aux|grep kefu
如果没有关闭旧进程,会导致访问还是跑到了旧进程,新服务不生效。例如:killall kefu
./kefu server -d
关闭服务,可以用ps -ef|grep kefu查看下进程是否存在,验证关闭成功
./sh stop.sh ,这里如果关闭不成功,可以多执行几次确保进程全部关闭
到宝塔安全页面将8081端口开放
如果是云服务器,则安全组也需要设置下让8081端口可以被外网访问。
此时可以访问外网地址: http://ip:8081/login
配置域名
到宝塔网站页面=>添加站点
设置反向代理,反代到客服程序监听的默认8081端口
编辑反向代理配置文件
完整的配置文件(注意端口号,其他应该都不需要改动)
#PROXY-START/ location / { try_files $uri @kefu; } location @kefu { proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; add_header X-Cache $upstream_cache_status; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; #Set Nginx Cache add_header Cache-Control no-cache; } #PROXY-END/
配置HTTPS
需要先暂停反向代理,才能去开启
免费的SSL证书
源码编译
解压源码压缩包目录,里面有个install_go.sh的shell脚本,这是我写好的安装golang环境的脚本。
直接执行 sh install_go.sh
检查golang环境是否安装成功,执行 go version
编译可执行文件,执行 go build -o kefu ,这样就会在当前目录生成名为 kefu 的二进制可执行文件。剩下步骤和上面一致。
分布式方案
目前为了减少依赖当前项目不支持分布式,但是可以有其他实现方案
因为无依赖部署很方便,所以可以按域名进行分布,比如kf1.sopans.com kf2.sopans.com ,部署到不同的机器上,都使用一个MySQL数据库。前端跳转到客服的时候,通过访客ID进行下分配策略
按地域分布,比如cn.sopans.com部署到国内机器, hk.sopans.com部署在香港,na.sopans.com 部署到北美,根据访客集中地区进行前端分配。