From ff2b0560f000afe7b725a3eeab543aa97569bc39 Mon Sep 17 00:00:00 2001 From: taoshihan1991 <630892807@qq.com> Date: Wed, 14 Apr 2021 11:01:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=A9=BA=E6=8C=87=E9=92=88?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/server.go | 2 +- controller/mysql.go | 60 --------------------------------------------- database/mysql.go | 27 -------------------- router/api.go | 2 -- ws/user.go | 2 +- ws/visitor.go | 10 ++++++-- 6 files changed, 10 insertions(+), 93 deletions(-) delete mode 100644 controller/mysql.go delete mode 100644 database/mysql.go diff --git a/cmd/server.go b/cmd/server.go index 7ec22f3..132469e 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -43,7 +43,7 @@ func run() { } } d := xdaemon.NewDaemon(logFilePath + "go-fly.log") - d.MaxCount = 5 + d.MaxCount = 10 d.Run() } diff --git a/controller/mysql.go b/controller/mysql.go deleted file mode 100644 index 668b983..0000000 --- a/controller/mysql.go +++ /dev/null @@ -1,60 +0,0 @@ -package controller - -import ( - "fmt" - "github.com/gin-gonic/gin" - "github.com/taoshihan1991/imaptool/config" - "github.com/taoshihan1991/imaptool/database" - "github.com/taoshihan1991/imaptool/tools" - "os" -) - -func MysqlGetConf(c *gin.Context) { - mysqlInfo := config.GetMysql() - c.JSON(200, gin.H{ - "code": 200, - "msg": "验证成功", - "result": mysqlInfo, - }) -} -func MysqlSetConf(c *gin.Context) { - - mysqlServer := c.PostForm("server") - mysqlPort := c.PostForm("port") - mysqlDb := c.PostForm("database") - mysqlUsername := c.PostForm("username") - mysqlPassword := c.PostForm("password") - dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", mysqlUsername, mysqlPassword, mysqlServer, mysqlPort, mysqlDb) - mysql := database.NewMysql() - mysql.Dsn = dsn - err := mysql.Ping() - if err != nil { - c.JSON(200, gin.H{ - "code": 403, - "msg": "数据库连接失败:" + err.Error(), - }) - return - } - isExist, _ := tools.IsFileExist(config.Dir) - if !isExist { - os.Mkdir(config.Dir, os.ModePerm) - } - fileConfig := config.MysqlConf - file, _ := os.OpenFile(fileConfig, os.O_RDWR|os.O_CREATE, os.ModePerm) - - format := `{ - "Server":"%s", - "Port":"%s", - "Database":"%s", - "Username":"%s", - "Password":"%s" -} -` - data := fmt.Sprintf(format, mysqlServer, mysqlPort, mysqlDb, mysqlUsername, mysqlPassword) - file.WriteString(data) - - c.JSON(200, gin.H{ - "code": 200, - "msg": "操作成功", - }) -} diff --git a/database/mysql.go b/database/mysql.go deleted file mode 100644 index 7748d55..0000000 --- a/database/mysql.go +++ /dev/null @@ -1,27 +0,0 @@ -package database - -import ( - "database/sql" - "fmt" - _ "github.com/go-sql-driver/mysql" - "github.com/taoshihan1991/imaptool/config" -) - -type Mysql struct { - SqlDB *sql.DB - Dsn string -} - -func NewMysql() *Mysql { - mysql := config.CreateMysql() - dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local", mysql.Username, mysql.Password, mysql.Server, mysql.Port, mysql.Database) - return &Mysql{ - Dsn: dsn, - } -} - -func (db *Mysql) Ping() error { - sqlDb, _ := sql.Open("mysql", db.Dsn) - db.SqlDB = sqlDb - return db.SqlDB.Ping() -} diff --git a/router/api.go b/router/api.go index 0869ca0..113dc08 100644 --- a/router/api.go +++ b/router/api.go @@ -56,8 +56,6 @@ func InitApiRouter(engine *gin.Engine) { engine.GET("/roles", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.GetRoleList) engine.POST("/role", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.PostRole) - engine.GET("/mysql", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.MysqlGetConf) - engine.POST("/mysql", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.MysqlSetConf) engine.GET("/visitors_online", controller.GetVisitorOnlines) engine.GET("/visitors_kefu_online", middleware.JwtApiMiddleware, controller.GetKefusVisitorOnlines) engine.GET("/clear_online_tcp", controller.DeleteOnlineTcp) diff --git a/ws/user.go b/ws/user.go index 1aef812..331be45 100644 --- a/ws/user.go +++ b/ws/user.go @@ -90,7 +90,7 @@ func SuperAdminMessage(str []byte) { func OneKefuMessage(toId string, str []byte) { //新版 mKefuConns, ok := KefuList[toId] - if mKefuConns != nil && ok { + if ok && len(mKefuConns) > 0 { for _, kefu := range mKefuConns { log.Println("OneKefuMessage lock") kefu.Mux.Lock() diff --git a/ws/visitor.go b/ws/visitor.go index 93d5344..46fe4cb 100644 --- a/ws/visitor.go +++ b/ws/visitor.go @@ -134,7 +134,10 @@ func VisitorNotice(visitorId string, notice string) { Data: notice, } str, _ := json.Marshal(msg) - visitor := ClientList[visitorId] + visitor, ok := ClientList[visitorId] + if !ok || visitor == nil || visitor.Conn == nil { + return + } visitor.Conn.WriteMessage(websocket.TextMessage, str) } func VisitorMessage(visitorId, content string, kefuInfo models.User) { @@ -151,7 +154,10 @@ func VisitorMessage(visitorId, content string, kefuInfo models.User) { }, } str, _ := json.Marshal(msg) - visitor := ClientList[visitorId] + visitor, ok := ClientList[visitorId] + if !ok || visitor == nil || visitor.Conn == nil { + return + } visitor.Conn.WriteMessage(websocket.TextMessage, str) } func VisitorAutoReply(vistorInfo models.Visitor, kefuInfo models.User, content string) {