在线客服聊天系统源码_美观强大golang内核开发_二进制运行傻瓜式安装_附搭建教程

在线客服系统是什么

在线客服系统可以看作一种即时通讯软件,提供网站及其他应用和访客对话的平台,更加方便网站与访客之间的交流。访客无需安装软件就可以访问企业应用,获取自己想要的信息。

一般来说,在线客服系统的特点包含可最小化、最大化,快速、易用三点,沟通方式多样化。

在线客服系统只需在浏览器窗口就可以进行实时交谈,它作为企业网站的客服服务和主动营销工具,给浏览过网站页面的访客建立档案,提供个性化服务,达到变访客为客户的营销目的。

不仅如此,在线客服系统还可以完整地保留员工与客户的交谈内容,保证与客户的联系。灵通的在线客服系统还具有管理员工绩效的功能,再加上其强大的访客跟踪功能,为企业增加了营销渠道和销售机会。

纵观当前市场,已经开发的在线客服系统多如牛毛,但真正能满足企业需求、适合所有企业的高效即时通讯系统寥寥无几。

不过,你要是对客服系统的功能要求不高的话,可以试试GOFLY在线客服。

 

无论是PC网站、手机网站、小程序、公众号、APP还是客户端,都可以接入和使用GOFLY在线客服,马上拥有在线客服功能。

GOFLY在线客服是一款注重低成本、低门槛,接入和使用极其简单快捷 的客服系统。即使你是技术小白,也能轻松学会,接入和使用均傻瓜式,无技术门槛,

GOFLY在线客服能满足绝大部分场景使用需求,客服聊天图文并茂,

GOFLY在线客服妥妥地算得上是一款性价比高的在线客服系统。走过路过不要错过呀,不妨试上一试!#客服系统#

为什么推荐我们的客服系统

  • 我们的系统支持多租户运营,一次购买,终身使用!
  • 支持公众号/小程序/PC网站/移动端网站/APP/多语言,全渠道对接智能化客服系统。
  • 摆脱各大SaaS客服平台诸多限制,搭建属于自己的在线客服系统。

GOFLY在线客服系统是一款专注私有本地化部署的网页聊天即时通讯、在线客服坐席系统。采用Golang语言 Gin框架内核+MySQL开发编译而成,多协程模式运行,支撑高并发。 充分考虑用户的合理需求,多年持续性匠心开发功能。

客服系统比较常见,主流的还是采用三方SDK接入,这些SDK的实现方式大都采用长连接,性能要求比较高,费用也偏高。我们在此的目标是开发一个属于自己的客服系统,完全的无依赖第三方,完全自己控制。

我们的客服聊天系统采用长连接

客服系统的及时性要求很高,客服一般要处理多个用户的聊天咨询,在一般情况下,客服和用户之间的聊天实时性很高,要求不能存在轮询等待这样的情况。

开发成本:短连接通过http协议实现,收发消息只需要发送http请求即可,开发简单。

即时通讯:长连接需要客户端和服务器一直保持连接,比较消耗服务器性能,但是可以及时获取到消息

  1. 极高通信速度;

  2. 确保实时性;

  3. 避免短时间内重复连接所造成的信道资源和网络资源的浪费。

后端技术方案

数据库: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 不自动    

部署教程+宝塔面板一键部署包

【软件商店=>一键部署=>导入项目】

image.png

点击一键部署,输入域名后,全部默认即可完成

image.png

image.png

 

网站在线客服系统附源码演示及下载地址:www.sopans.com

演示网站:https://www.sopans.com

手动宝塔面板安装

提前安装宝塔面板,宝塔面板可以很方便的配置域名、反向代理、数据库,所以建议安装一下。安装nginx,mysql数据库(5.7或以上)

image.png

创建数据库

请记住设置的数据库名,用户名,密码

image.png

部署程序服务


上传压缩包文件到服务器,比如上传到/www/wwwroot/go-fly-pro,给此目录的所有文件赋权限777

image.png


编辑config/mysql.json,修改为创建数据库时设置的数据库名,用户名,密码

image.png

进入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端口可以被外网访问。

image.png

此时可以访问外网地址: http://ip:8081/login

配置域名

到宝塔网站页面=>添加站点

image.png

设置反向代理,反代到客服程序监听的默认8081端口

image.png

image.png

编辑反向代理配置文件

image.png

完整的配置文件(注意端口号,其他应该都不需要改动)

#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证书

image.png

源码编译

解压源码压缩包目录,里面有个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 部署到北美,根据访客集中地区进行前端分配。

posted @ 2022-06-29 12:44  唯一客服系统开发笔记  阅读(698)  评论(0编辑  收藏  举报