给博客增加一个客服


经验分享5703 阅15 评

网上各种商用的客服系统很多,也支持很多的自定义,但毕竟不是自家的东西,用起来总归不舒服。直到前几天,我发现一款开源的客服系统,还挺有意思。在长达一周的测试与作者沟通后,我决定用一些这一套客服系统。

那么,少罗嗦,先看东西。

项目预览




项目简介

GO-FLY,一套可独立部署的免费开源客服系统,基于Golang开发,编译后的二进制文件可直接使用无需搭环境,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,同时也是首页完全可以编辑的单页营销系统

  1. 使用gin http框架实现restful风格的API和template包的模板语法进行展示界面
  2. 使用jwt-go配合gin中间件实现无状态的jwt登陆认证
  3. 数据库实现的rbac权限配合gin中间件实现权限控制
  4. 通过cobra进行命令行参数解析和执行对应的功能
  5. 使用go modoule解决依赖问题
  6. 使用swagger实现文档展示
  7. 使用go-imap实现邮件的列表展示和读取
  8. 使用go-smtp实现发送邮件
  9. 使用github.com/gorilla/websocket实现即时通讯
  10. 使用gorm配合mysql实现数据存储
  11. 前端使用elementUI和Vue展示界面
  12. 充分实践了struct,interface,map,slice,for range,groutine和channel管道等基础知识

搭建

搭建该套服务需要在VPS或者服务器上,虚拟主机(PHP、ASP)环境的无法搭建使用

1. 创建数据库

# 数据库版本需大于5.5
create database gofly charset utf8;

2. 下载项目文件并修改配置

  1. 下载项目
# 下载项目
mkdir go-fly
cd go-fly

github: wget https://github.com/taoshihan1991/go-fly/releases/download/0.3.1/go-fly-0.3.1.zip
gitee(国内): wget https://gitee.com/taoshihan/go-fly/attach_files/622210/download/gofly-0.3.2.zip

# 解压加权
unzip gofly-0.2.3.zip
chmod 0777 -R ./
  1. 修改配置

修改config/mysql.json文件

{
    "Server":"127.0.0.1", # 数据库地址
    "Port":"3306", # 数据库端口号
    "Database":"gofly", # 数据库名称
    "Username":"go-fly", # 数据库用户名
    "Password":"go-fly" # 数据库密码
}

3. 运行项目

  1. 导入数据库
windows: go-fly.exe install
linux: ./go-fly install
导入数据库会清空之前的数据,请保证数据已经不用或者新建数据库
  1. 运行项目
linux:   ./go-fly server [可选 -p 8082 -d]
windows: go-fly.exe server [可选 -p 8082]
  1. 参数说明

-p 指定端口
-d linux下以daemon守护进程运行(如不使用守护进程则关闭命令行窗口就会停止服务)
-h 查看帮助

  1. 网页使用

后台地址:http://[服务器IP]:[端口号]

如使用端口号后台,则需要在服务器及对应服务商处开启端口

网页使用:

// 下面js路径和GOFLY_URL 都要改成自己的
    <script src="https://gofly.sopans.com/static/js/gofly-front.js"></script>
    <script>
        GOFLY.init({
            GOFLY_URL:"https://gofly.sopans.com",
            GOFLY_KEFU_ID: "kefu2", // 客服的用户名
            GOFLY_BTN_TEXT: "客服在线 欢迎咨询", // 左下角客服小窗口显示的字
            GOFLY_LANG:"cn" // 网页语言
        })
    </script>

4. 反向代理端口号并开启https

到上面为止,你就可以在后台和前来拜访的说话了,但是如果你所嵌入的网页为https网页,你可能还需要为本服务开启https。

以下教程需要在NGINX上操作

lnmp类似环境

参考下面的配置,修改相关的域名及证书地址为自己的地址

server {
       listen 443 ssl http2;
        ssl on;
        ssl_certificate   conf.d/cert/4263285_gofly.sopans.com.pem;
        ssl_certificate_key  conf.d/cert/4263285_gofly.sopans.com.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.sopans.com;
        access_log  /var/log/nginx/gofly.sopans.com.access.log  main;
        location /static {
                root /var/www/html/go-fly;//自己的部署路径
        }
        location / {
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
                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.sopans.com;
        access_log  /var/log/nginx/gofly.sopans.com.access.log  main;
        location /static {
                root /var/www/html/go-fly;//自己的部署路径
        }        
        location / {
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
                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. 创建一个静态站点,地址为想要访问的域名

  1. 为该站点配置证书

  1. 设置反向代理

  1. 修改反代配置


按照图示,将对应代码加入到配置文件中

#PROXY-START/
location  ~* \.(php|jsp|cgi|asp|aspx)$
{
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    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 "";
}
location /
{
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    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+域名进行访问了。

项目地址

官方网站:开源免费客服系统-极简强大Go语言开发客服单页营销系统 - GOFLY
GitHub:点击跳转到GitHub
项目目前还在开发,不建议直接投入到生产环境中去,官网有提供注册地址,可自行注册体验。

本站有搭建测试环境,可体验一些基础的功能。由于项目更新迭代较快,本站效果不代表最终项目效果。
最后更新 2021-03-02
评论 ( 15 )
OωO
隐私评论
  1. 登录后台要认证

    2年前河北省廊坊市三河市回复
    1. you-88648
      @资源共享网

      把后台middleware/domain_limit.go中DomainLimitMiddleware方法注释了 就可以正常访问了

      1年前北京市西城区回复
    2. @资源共享网

      作者现在主搞商业化了 后台需要自己修改密码使用

      1年前福建省厦门市回复
      1. 蕾姆蕾姆
        @fghwett

        宝塔导入数据库说是成功,但数据库里没有怎么办

        1年前山东省青岛市回复
        1. @蕾姆蕾姆

          可以使用命令行试一下

          1年前福建省厦门市回复
  2. 求助,还是不会搞,可以帮忙远程协助一下吗,给个小红包

    2年前江苏省苏州市回复
    1. @戏人看戏

      那我加你QQ吧,晚上帮你看一下

      2年前福建省厦门市回复
      1. 1600445187
        @fghwett

        开源帮我弄一下吗 有偿 1600445187

        2年前福建省泉州市回复
        1. @1600445187

          周末可以帮你搞一下

          2年前福建省厦门市回复
  3. hg

    请问默认的kefu2和kefu3的密码是多少?

    2年前美国回复
    1. @hg

      之前是用户名和密码一样的,后来我装了新版之后就不对了。你可以询问一下作者,或者直接更改数据库中的密码,新密码是md5格式的密码

      2年前福建省厦门市回复
  4. 张三

    8082的后台可以进去了,但是页面上没有哪个客服浮窗,是因为我的网站用的是wordpress的原因吗

    3年前河南省郑州市回复
    1. @张三

      和网站没有关系,看一下控制台输出的错误,根据错误信息寻找解决方案

      3年前福建省回复
  5. 安装不了

    按你叫教程 直接 502 Bad Gateway nginx 报错 打不开。

    3年前湖南省怀化市回复
    1. @安装不了

      操作可能不对

      3年前福建省厦门市回复