项目简介
本项目是基于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】