Giter Club home page Giter Club logo

taoshihan1991 / go-fly Goto Github PK

View Code? Open in Web Editor NEW
2.1K 46.0 582.0 13.98 MB

开源在线客服系统GO语言开发GO-FLY,免费在线客服系统/open source self-hosted private cloud customer support live chat software by golang

Home Page: https://gofly.v1kf.com

License: Apache License 2.0

Go 32.42% HTML 28.56% CSS 9.03% JavaScript 29.91% Dockerfile 0.05% Batchfile 0.01% Shell 0.01%
chat chatbot customer-service customer-support golang livechat private-cloud self-hosted web-chat

go-fly's Introduction

郑重提示

禁止将本项目用于含病毒、木马、色情、赌博、诈骗、违禁用品、假冒产品、虚假信息、数字货币、金融等违法违规业务

当前项目仅供个人学习测试,禁止一切线上商用行为,禁止一切违法使用!!!

项目简介

Golang语言开源客服系统,主要使用了gin + jwt-go + websocket + go.uuid + gorm + cobra + VueJS + ElementUI + MySQL等技术

安装使用

  • 先安装和运行mysql数据库 ,版本>=5.5 ,创建数据库
 create database gofly charset utf8mb4;
  • 配置数据库链接信息,在config目录mysql.json中
{
	"Server":"127.0.0.1",
	"Port":"3306",
	"Database":"gofly",
	"Username":"go-fly",
	"Password":"go-fly"
}
  • 安装配置Golang运行环境,请参照下面的命令去执行
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
  • 下载代码

    在任意目录 git clone https://github.com/taoshihan1991/go-fly.git

    进入go-fly 目录

  • 导入数据库 go run go-fly.go install

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

  • 源码打包 go build -o kefu 会生成kefu可以执行文件

  • 二进制文件运行

    linux: ./kefu server [可选 -p 8082 -d]

    windows: kefu.exe server [可选 -p 8082 -d]

  • 关闭程序

    killall kefu

程序正常运行后,监听端口8081,可以直接ip+端口8081访问

也可以配置域名访问,反向代理到8081端口,就能隐藏端口号

客服对接

聊天链接

http://127.0.0.1:8081/chatIndex?kefu_id=kefu2

弹窗使用

    (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: "kefu2",
        })
    });

版权声明

当前项目是完整功能代码 , 但是仍然仅支持个人演示测试 , 不包含线上使用 ,禁止一切商用行为。 使用本软件时,请遵守当地法律法规,任何违法用途一切后果请自行承担.

go-fly's People

Contributors

mkanako avatar taoshihan1991 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-fly's Issues

提个bug呀

  1. 退出登录有问题。退出后,访问需登录的页面还是能正常使用。
  2. 登录明文呀

messages获取的是全部邮件吗

使用emersion的包测了很多次,也换了几个不同的邮箱,但是测试结果邮件数量和真实邮箱里的邮件数量不一致,您的测试结果正常吗,还是我哪里没有设置好的问题

Android访客输入问题,求解

遇到了个玄学问题:
问题:在Android设备上使用Edge、手机自带浏览器等,打开会话点击输入框,无法获取焦点,也弹不出键盘,无法输入。

其他特异表现:使用Chrome没有这个问题,而且只要Chrome打开过一次,其他浏览器重新打开会话也没问题了。

ws的panic问题

心跳和ws消息并发时的go routine 报出来的panic问题,说ws的并发控制器全局只能一个

致命bug

ws里面那几个map ,建议完善下

导入数据库导入不成功

大佬你好 运行到 导入数据库(会删除表清空数据) ./go-fly install 这里 不知道怎么弄
我是运行的源码 在代码根目录下执行 ./go-fly install 会报错 zsh: command not found: go-fly
我使用的是MAC
请大佬指教

完美

不错 感觉太完美啦

启动后,客服和访客消息不互通

版本: v0.2.1-alpha

启动命令

./go-fly.exe server -p 8084

访问url: http://127.0.0.1:8084/index

在启动日志里也没看到任何获取message相关sql,说明的确没有访问message的行为被触发

看到路由里挂在的handler很奇怪,get_status和get_message触发的handler是同一个function

image

image

源码运行出错

在执行“2.源码运行 go run go-fly.go server”报错。
报错信息如下`go run go-fly.go server

golang.org/x/sys/unix

../../go/pkg/mod/golang.org/x/[email protected]/unix/syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.1_13.go:27:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.1_13.go:40:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:28:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:43:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:59:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:75:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:90:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:105:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:121:3: //go:linkname must refer to declared function or variable
../../go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:121:3: too many errors`

环境如下:GO111MODULE="on" GOARCH="arm64" GOBIN="" GOCACHE="/Users/monster/Library/Caches/go-build" GOENV="/Users/monster/Library/Application Support/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="arm64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/monster/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/monster/go" GOPRIVATE="" GOPROXY="https://goproxy.cn,direct" GOROOT="/opt/homebrew/Cellar/go/1.19.2/libexec" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/opt/homebrew/Cellar/go/1.19.2/libexec/pkg/tool/darwin_arm64" GOVCS="" GOVERSION="go1.19.2" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/Users/monster/IdeaProjects/cs-chat/go.mod" GOWORK="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3h/rdf_bnd92csgf_tm04f16ffm0000gn/T/go-build1206374187=/tmp/go-build -gno-record-gcc-switches -fno-common"

架构疑问

为什么发送消息走HTTP请求,而拉取消息走websocket;
是有什么依据嘛?

panic: 数据库连接失败!

./go-fly install
2021/03/14 11:22:15 Error 1044: Access denied for user 'go-fly'@'127.0.0.1' to database 'go-fly'
panic: 数据库连接失败!

goroutine 1 [running]:
github.com/taoshihan1991/imaptool/models.init.0()
/var/www/html/go-fly/models/models.go:28 +0x3a4

Some advice

I am now paying attention to your project, which is of great help to me. I hope you can add the function of sending emoticons and pictures for me to learn later.

有些功能划分不太清晰

很多struct放到了一个types里,导致功能划分不太明确,虽然在一个包下,整合到同一个文件应该好点

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.