114 lines
3.4 KiB
Markdown
114 lines
3.4 KiB
Markdown
## GOFLY LIVE CHAT
|
||
Open-source live chat support system, built for modern customer service
|
||
|
||
Real-time messaging - Instant connection between customers and support teams
|
||
|
||
Lightning-fast performance - Powered by Golang for high-concurrency handling
|
||
|
||
### Technical Architecture
|
||
|
||
A modern stack built for performance and scalability
|
||
|
||
- Backend: `gin`, `jwt-go`, `websocket`, `go.uuid`, `gorm`, `cobra`
|
||
- Frontend: `VueJS`, `ElementUI`
|
||
- Database: `MySQL`
|
||
|
||
---
|
||
|
||
### Installation & Usage
|
||
|
||
#### 1. Set Up MySQL Database
|
||
- Install and run MySQL (version ≥ 5.5).
|
||
- Create a database:
|
||
```sql
|
||
CREATE DATABASE goflychat CHARSET utf8mb4;
|
||
```
|
||
* Configure Database Connection
|
||
Edit mysql.json in the config directory:
|
||
```php
|
||
{
|
||
"Server":"127.0.0.1",
|
||
"Port":"3306",
|
||
"Database":"goflychat",
|
||
"Username":"goflychat",
|
||
"Password":"goflychat"
|
||
}
|
||
```
|
||
* Install and Configure Golang
|
||
Run the following commands:
|
||
```php
|
||
wget https://studygolang.com/dl/golang/go1.20.2.linux-amd64.tar.gz
|
||
tar -C /usr/local -xvf go1.20.2.linux-amd64.tar.gz
|
||
mv go1.20.2.linux-amd64.tar.gz /tmp
|
||
echo "PATH=\$PATH:/usr/local/go/bin" >> /etc/profile
|
||
echo "PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
|
||
source /etc/profile
|
||
go version
|
||
go env -w GO111MODULE=on
|
||
go env -w GOPROXY=https://goproxy.cn,direct
|
||
```
|
||
* Download the Source Code
|
||
|
||
Clone the repository in any directory:
|
||
```php
|
||
git clone https://github.com/taoshihan1991/goflylivechat.git
|
||
cd goflylivechat
|
||
```
|
||
* Initialize the Database
|
||
```php
|
||
go run gofly.go install
|
||
```
|
||
* Run the Application
|
||
```php
|
||
go run gofly.go server
|
||
```
|
||
* Build executable
|
||
```php
|
||
go build -o gochat
|
||
```
|
||
* Run binary:
|
||
```php
|
||
Linux: ./gochat server (optional flags: -p 8082 -d)
|
||
|
||
Windows: gochat.exe server (optional flags: -p 8082 -d)
|
||
```
|
||
* Terminate the Process
|
||
```php
|
||
killall gochat
|
||
```
|
||
|
||
Once running, the service listens on port 8081. Access via http://[your-ip]:8081.
|
||
|
||
For domain access, configure a reverse proxy to port 8081 to hide the port number.
|
||
### Customer Service Integration
|
||
Chat Link
|
||
|
||
http://127.0.0.1:8081/livechat?kefu_id=agent
|
||
|
||
Popup Integration
|
||
|
||
```
|
||
(function(a, b, c, d) {
|
||
let h = b.getElementsByTagName('head')[0];let s = b.createElement('script');
|
||
s.type = 'text/javascript';s.src = c+"/static/js/kefu-front.js";s.onload = s.onreadystatechange = function () {
|
||
if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") d(c);
|
||
};h.appendChild(s);
|
||
})(window, document,"http://127.0.0.1:8081",function(u){
|
||
KEFU.init({
|
||
KEFU_URL:u,
|
||
KEFU_KEFU_ID: "agent",
|
||
})
|
||
});
|
||
|
||
```
|
||
### Important Notice
|
||
The use of this project for illegal or non-compliant purposes, including but not limited to viruses, trojans, pornography, gambling, fraud, prohibited items, counterfeit products, false information, cryptocurrencies, and financial violations, is strictly prohibited.
|
||
|
||
This project is intended solely for personal learning and testing purposes. Any commercial use or illegal activities are explicitly forbidden!!!
|
||
|
||
|
||
|
||
### Copyright Notice
|
||
This project provides full-featured code but is intended only for personal demonstration and testing. Commercial use is strictly prohibited.
|
||
|
||
By using this software, you agree to comply with all applicable local laws and regulations. You are solely responsible for any legal consequences arising from misuse. |