分享

[开源]专注私有本地化部署的网页聊天即时通讯、在线客服坐席系统

 风声之家 2022-05-09 发布于江苏省

2022-05-08 23:05

一、开源项目简介

基于Golang语言和MySQL实现的WEB在线客服系统。

GOFLY是一款基于Golang+Vue开发的在线客服系统。一套可私有化部署的在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能。

主要技术栈 gin + jwt-go + websocket + go.uuid + gorm + cobra

二、开源协议

使用Apache-2.0开源协议

三、界面展示

项目预览

图片

图片

四、功能概述

GOFLY在线客服系统是一款专注私有本地化部署的网页聊天即时通讯、在线客服坐席系统。采用Golang语言 Gin框架内核+MySQL开发编译而成,多协程模式运行,支撑高并发。

高性能

一、Golang可以利用到多核CPU进行异步并行,利用管道进行通信,编译为二进制可执行文件,运行效率极高

高并发

二、Golang可以轻易地启动成千上万个Goroutine,比系统线程切换效率高得多。基于Channel的同步通信,复杂度降低,功能得到提升。

极稳定

三、相比很多PHP+MySQL客服系统,PHP的wokerman框架,对进程的处理不够稳定,运行效率低。Swoole扩展安装复杂,不能完全兼容各种系统环境

功能强

四、利用语言优势为中小企业量身定制的全智能、全渠道的云客服平台,多商户系统支持自营、对外运营,独立私有化部署数据隐私更安全

有保障

五、持续开发三年时间,git提交上千次,代码持久维护,遇到部署安装或者bug问题可随时解决。

两分钟装好客服,一键下载使用

基于强大的golang跨平台交叉编译功能,服务端程序全平台支持
Windows/Centos/Ubuntu/Debain/Fedora

下载私有化部署安装包,两分钟安装完成,十分钟搞定上线!

提供的功能简洁而不简单

图片

支持多商家(多站点)支持多商家(多站点),每个注册用户为一个商家,每个商家可以添加多个坐席子账户。不限坐席每个商家可以无限添加坐席,不限制坐席数智能分配商家主账号优先认领,坐席账号智能分配,可随意转接客服,最大限度满足客服需求支持H5移动端系统自动适配移动端,也可以接入app(h5方式)支持微信公众号/手机APP管理系统客服可以与微信公众号/手机app管理系统访客实时沟通机器人自动回复支持设置常见问题,顾客可以点击常见问题系统会自动回复,也可以设置关键词,触发关键词机器人自动回复其它发送文本图片语音信息、访客标签备注轨迹搜索、消息预知、数据统计、来源追踪、自动欢迎问候语、客服消息监控等...

我们的优势

源码开放

不像其它客服系统按坐席按年收费,GOFLY客服系统一次购买,终身使用,源码可二开,无域名限制,无服务器限制!

不限坐席

部署一套系统即可支持多个用户(网站)使用,每注册一个用户为一个商家,不限商家数,不限制坐席数

数据安全

程序源码及聊天数据全部存储在自己的服务器,无任何第三方服务依赖,支持SSL加密隧道传输,可避免信息数据泄露

Golang+Vue结构开发

语言的优势可以轻松应对高并发问题,访客再多也不怕!

轻松部署

一段代码,一个链接,轻松部署,移动APP, 网页咨询, 图片,语音,表情,文件多元素沟通.

多客服对话分配

支持客服分流/转接/,多客服沟通,到达信息精准传达,无须客户沟通重复内容.

五、技术选型

安装使用

1. 先安装和运行mysql >=5.5版本 , 创建gofly数据库.

create database gofly charset utf8;

在config目录mysql.json中配置数据库

{
"Server":"127.0.0.1",
"Port":"3306",
"Database":"gofly",
"Username":"go-fly",
"Password":"go-fly"
}

2. 二进制文件运行

1、下载地址

访问一飞开源:https://code./

2、文件解压缩

windows系统下,在cmd命令行,进入项目解压后目录; linux系统下创建目录执行如下

linux服务器: mkdir go-fly cd go-fly wget xxxxxxxxxxx.zip unzip xxxx.zip chmod 0777 -R ./

导入数据库( 注意:会删除表并且清空数据 )

windows: go-fly.exe install linux: ./go-fly install

运行项目

linux: ./go-fly server [可选 -p 8082 -d] windows: go-fly.exe server [可选 -p 8082]

3、参数说明

-p 指定端口

-d linux下是否以daemon守护进程运行

-h 查看帮助

3. 源码运行

  1. 基于go module使用

  2. go env -w GO111MODULE=on

  3. go env -w GOPROXY=https://,direct

  4. 下载go-fly 项目

  5. 进入go-fly 目录

  6. 源码运行 go run go-fly.go server

  7. 源码打包 go build go-fly.go 会生成go-fly可以执行文件

  8. 导入数据库(会删除表清空数据) ./go-fly install

  9. 二进制文件运行

  10. linux: ./go-fly server [可选 -p 8082 -d]

  11. windows: go-fly.exe server [可选 -p 8082 -d]

  12. 关闭程序 ./go-fly stop

  13. linux下使用ps命令结合kill命令杀掉进程

  14. ps -ef|grep go-fly 看到父子进程id

  15. kill 进程父进程id ;kill 进程子进程id

4. 网页使用

1.服务端安装成功后可把域名换成自己的域名或IP

2.默认访问本地http://127.0.0.1:8081

    //下面js路径和GOFLY_URL 都要改成自己的
<script src="https://gofly./assets/js/gofly-front.js"></script>
<script>
GOFLY.init({
GOFLY_URL:"https://gofly.",
GOFLY_KEFU_ID: "kefu2",
GOFLY_BTN_TEXT: "客服在线 欢迎咨询",
GOFLY_LANG:"cn"
})
</script>

nginx部署

1.参考支持https的部署示例 , 注意反向代理的端口号和证书地址 , 不使用https也可以访问 , 只是不会有浏览器通知弹窗

2.尽量按照下面的配置处理, 配置独立域名或者二级域名, 不建议在主域名加端口访问, 不建议主域名加目录访问

3.如果遇到域名跨域错误问题, 检查下面配置中add_header Access-Control-Allow-Origin这俩header头是否添加. 代码里已经解决跨域 , nginx里不要加跨域头,否则会冲突报错

server {
listen 443 ssl http2;
ssl on;
ssl_certificate conf.d/cert/4263285_gofly..pem;
ssl_certificate_key conf.d/cert/4263285_gofly..key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
#listen 80;
server_name gofly.;
access_log /var/log/nginx/gofly..access.log main;
location /static {
root /var/www/html/go-fly;//自己的部署路径,静态文件直接nginx响应
}
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}
server{
listen 80;
server_name gofly.;
access_log /var/log/nginx/gofly..access.log main;
location /static {
root /var/www/html/go-fly;//自己的部署路径,静态文件直接nginx响应
}
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}

宝塔部署

宝塔环境

  1. 创建一个静态站点,地址为想要访问的域名

  2. 为该站点配置证书

  3. 设置反向代理

  4. 修改反代配置 按照图示,将对应代码加入到配置文件中

#PROXY-START/
location /
{
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
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;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";

add_header X-Cache $upstream_cache_status;

#Set Nginx Cache

add_header Cache-Control no-cache;
expires 12h;
}

#PROXY-END/

六、源码地址

访问一飞开源:https://code./

发表于湖南

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多