项目简介
本项目是基于Go语言实现的Web客服系统,具备实时在线客服功能。系统涵盖客服端、服务端以及数据库支持,可实现访客与客服的实时通信、消息记录保存和状态管理等功能。采用WebSocket协议达成实时通信,利用Gin框架构建HTTP和WebSocket服务器,使用MySQL数据库存储用户信息和消息记录。
项目的主要特性和功能
- 实时通信:借助WebSocket协议,支持访客与客服实时交流,能传输文本、图片等消息类型。
- 客服管理:允许多个客服同时在线,客服可接收并回复访客消息,同时具备访客状态管理、客服分组等功能。
- 访客管理:可管理访客信息,如访客ID、IP地址、访问时间等,支持访客状态的更新与查询。
- 消息记录:记录访客与客服间的所有消息,支持消息的查询和查看。
- 数据库支持:使用MySQL数据库存储用户信息和消息记录,实现数据的持久化存储与查询。
- 安全性:采用基于JWT的认证和授权机制,保障数据的安全与完整。
安装使用步骤
1. 安装MySQL
先安装并运行MySQL 5.5或更高版本,创建名为gofly的数据库:
sql
create database gofly charset utf8;
在config目录下的mysql.json文件中配置数据库连接信息:
json
{
    "Server": "127.0.0.1",
    "Port": "3306",
    "Database": "gofly",
    "Username": "go-fly",
    "Password": "go-fly"
}
2. 源码运行
- 使用Go module:
bash go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct cd go-fly
- 导入数据库:
bash go run go-fly.go install
- 运行服务器:
bash go run go-fly.go server
- 打包源码:
bash go build -o kefu
- 二进制文件运行:
- Linux:
bash ./kefu server [可选 -p 8082 -d]
- Windows:
bash kefu.exe server [可选 -p 8082 -d]
- 关闭程序:
bash killall kefu
3. Nginx部署
参考以下Nginx配置示例,注意反向代理的端口号和证书地址:
nginx
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;
    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 / {
        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 / {
        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 "";
    }
}
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】