diff --git a/cmd/server.go b/cmd/server.go index b5d7ff3..555b8a0 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -8,8 +8,7 @@ import ( "github.com/taoshihan1991/imaptool/config" "github.com/taoshihan1991/imaptool/controller" "github.com/taoshihan1991/imaptool/docs" - "github.com/taoshihan1991/imaptool/middleware" - "github.com/taoshihan1991/imaptool/tmpl" + "github.com/taoshihan1991/imaptool/router" "github.com/taoshihan1991/imaptool/tools" "log" "os" @@ -57,77 +56,9 @@ func run(){ engine.LoadHTMLGlob("static/html/*") engine.Static("/static", "./static") - //首页 - engine.GET("/", controller.Index) - engine.GET("/index", tmpl.PageIndex) - //登陆界面 - engine.GET("/login", tmpl.PageLogin) - //咨询界面 - engine.GET("/chat_page",middleware.SetLanguage, tmpl.PageChat) - engine.GET("/chatIndex",middleware.SetLanguage, tmpl.PageChat) - //登陆验证 - engine.POST("/check", controller.LoginCheckPass) - //框架界面 - engine.GET("/main",middleware.JwtPageMiddleware,tmpl.PageMain) - //框架界面 - engine.GET("/chat_main",middleware.JwtPageMiddleware,tmpl.PageChatMain) - //验证权限 - engine.POST("/check_auth",middleware.JwtApiMiddleware, controller.MainCheckAuth) - //前后聊天 - engine.GET("/chat_server", controller.NewChatServer) - //获取消息 - engine.GET("/messages", controller.GetVisitorMessage) - //发送单条消息 - engine.POST("/message",controller.SendMessage) - //上传文件 - engine.POST("/uploadimg",controller.UploadImg) - //获取未读消息数 - engine.GET("/message_status",controller.GetVisitorMessage) - //设置消息已读 - engine.POST("/message_status",controller.GetVisitorMessage) + router.InitViewRouter(engine) + router.InitApiRouter(engine) - //获取客服信息 - engine.GET("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfo) - engine.GET("/kefuinfo_setting",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfoSetting) - engine.POST("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostKefuInfo) - engine.DELETE("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.DeleteKefuInfo) - engine.GET("/kefulist",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuList) - //设置页 - engine.GET("/setting", tmpl.PageSetting) - //设置mysql - engine.GET("/setting_mysql", tmpl.PageSettingMysql) - //角色列表 - engine.GET("/roles",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetRoleList) - engine.GET("/roles_list", tmpl.PageRoleList) - engine.POST("/role",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostRole) - - //欢迎语 - engine.GET("/setting_welcome", tmpl.PageSettingWelcome) - //网页部署 - engine.GET("/setting_deploy", tmpl.PageSettingDeploy) - //邮箱列表 - engine.GET("/mail_list", tmpl.PageMailList) - //邮件夹列表 - engine.GET("/folders", controller.GetFolders) - - 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("/clear_online_tcp", controller.DeleteOnlineTcp) - engine.POST("/visitor",controller.PostVisitor) - engine.GET("/visitor",middleware.JwtApiMiddleware, controller.GetVisitor) - engine.GET("/visitors",middleware.JwtApiMiddleware, controller.GetVisitors) - engine.GET("/setting_kefu_list",tmpl.PageKefuList) - engine.GET("/statistics",middleware.JwtApiMiddleware, controller.GetStatistics) - //前台接口 - engine.GET("/notice",middleware.SetLanguage, controller.GetNotice) - engine.POST("/notice",middleware.JwtApiMiddleware, controller.PostNotice) - engine.DELETE("/notice",middleware.JwtApiMiddleware, controller.DelNotice) - engine.GET("/notices",middleware.JwtApiMiddleware, controller.GetNotices) - //前台引入js接口 - engine.GET("/webjs", tmpl.PageWebJs) - //前台引入css接口 - engine.GET("/webcss", tmpl.PageWebCss) //文档服务 docs.SwaggerInfo.Title = "GO-FLY接口文档" docs.SwaggerInfo.Description = "go-fly即时通讯web客服管理系统 , 测试账户:kefu2 测试密码:123 类型:kefu" diff --git a/go-fly.go b/go-fly.go index 8bdedc1..af2abc2 100644 --- a/go-fly.go +++ b/go-fly.go @@ -3,130 +3,7 @@ package main import ( "github.com/taoshihan1991/imaptool/cmd" ) -var ( -//port string -//tcpport string -//daemon bool -//GoflyConfig config.Config -) -//func init(){ -// //cmd.Execute() -// //获取参数中的数据 -// flag.StringVar(&port, "port", "8081", "监听端口号") -// flag.StringVar(&tcpport, "tcpport", "8082", "监听tcp端口号") -// flag.BoolVar(&daemon, "d", false, "是否为守护进程模式") -// flag.Parse() -// if flag.NFlag() < 1 { -// flag.PrintDefaults() -// } -// if daemon==true{ -// if os.Getppid() != 1{ -// // 将命令行参数中执行文件路径转换成可用路径 -// filePath, _ := filepath.Abs(os.Args[0]) -// cmd := exec.Command(filePath, os.Args[1:]...) -// // 将其他命令传入生成出的进程 -// cmd.Stdin = os.Stdin // 给新进程设置文件描述符,可以重定向到文件中 -// cmd.Stdout = os.Stdout -// cmd.Stderr = os.Stderr -// cmd.Start() // 开始执行新进程,不等待新进程退出 -// os.Exit(0) -// } -// } -//} + func main() { cmd.Execute() - //baseServer := "0.0.0.0:"+port - //tcpBaseServer := "0.0.0.0:"+tcpport - //log.Println("start server...\r\ngo:http://" + baseServer) - //engine := gin.Default() - //engine.LoadHTMLGlob("static/html/*") - //engine.Static("/static", "./static") - // - ////首页 - //engine.GET("/", controller.Index) - //engine.GET("/index", tmpl.PageIndex) - ////登陆界面 - //engine.GET("/login", tmpl.PageLogin) - ////咨询界面 - //engine.GET("/chat_page",middleware.SetLanguage, tmpl.PageChat) - //engine.GET("/chatIndex",middleware.SetLanguage, tmpl.PageChat) - ////登陆验证 - //engine.POST("/check", controller.LoginCheckPass) - ////框架界面 - //engine.GET("/main",middleware.JwtPageMiddleware,tmpl.PageMain) - ////框架界面 - //engine.GET("/chat_main",middleware.JwtPageMiddleware,tmpl.PageChatMain) - ////验证权限 - //engine.POST("/check_auth",middleware.JwtApiMiddleware, controller.MainCheckAuth) - ////前后聊天 - //engine.GET("/chat_server", controller.NewChatServer) - ////获取消息 - //engine.GET("/messages", controller.GetVisitorMessage) - ////发送单条消息 - //engine.POST("/message",controller.SendMessage) - ////上传文件 - //engine.POST("/uploadimg",controller.UploadImg) - ////获取未读消息数 - //engine.GET("/message_status",controller.GetVisitorMessage) - ////设置消息已读 - //engine.POST("/message_status",controller.GetVisitorMessage) - // - ////获取客服信息 - //engine.GET("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfo) - //engine.GET("/kefuinfo_setting",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfoSetting) - //engine.POST("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostKefuInfo) - //engine.DELETE("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.DeleteKefuInfo) - //engine.GET("/kefulist",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuList) - ////设置页 - //engine.GET("/setting", tmpl.PageSetting) - ////设置mysql - //engine.GET("/setting_mysql", tmpl.PageSettingMysql) - ////角色列表 - //engine.GET("/roles",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetRoleList) - //engine.GET("/roles_list", tmpl.PageRoleList) - //engine.POST("/role",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostRole) - // - ////欢迎语 - //engine.GET("/setting_welcome", tmpl.PageSettingWelcome) - ////网页部署 - //engine.GET("/setting_deploy", tmpl.PageSettingDeploy) - ////邮箱列表 - //engine.GET("/mail_list", tmpl.PageMailList) - ////邮件夹列表 - //engine.GET("/folders", controller.GetFolders) - // - //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("/clear_online_tcp", controller.DeleteOnlineTcp) - //engine.POST("/visitor",controller.PostVisitor) - //engine.GET("/visitor",middleware.JwtApiMiddleware, controller.GetVisitor) - //engine.GET("/visitors",middleware.JwtApiMiddleware, controller.GetVisitors) - //engine.GET("/setting_kefu_list",tmpl.PageKefuList) - //engine.GET("/statistics",middleware.JwtApiMiddleware, controller.GetStatistics) - ////前台接口 - //engine.GET("/notice",middleware.SetLanguage, controller.GetNotice) - //engine.POST("/notice",middleware.JwtApiMiddleware, controller.PostNotice) - //engine.DELETE("/notice",middleware.JwtApiMiddleware, controller.DelNotice) - //engine.GET("/notices",middleware.JwtApiMiddleware, controller.GetNotices) - ////前台引入js接口 - //engine.GET("/webjs", tmpl.PageWebJs) - ////前台引入css接口 - //engine.GET("/webcss", tmpl.PageWebCss) - ////文档服务 - //docs.SwaggerInfo.Title = "GO-FLY接口文档" - //docs.SwaggerInfo.Description = "go-fly即时通讯web客服管理系统 , 测试账户:kefu2 测试密码:123 类型:kefu" - //docs.SwaggerInfo.Version = "0.0.7" - ////docs.SwaggerInfo.Host = "127.0.0.1:"+port - //docs.SwaggerInfo.Host = "gofly.sopans.com" - //docs.SwaggerInfo.BasePath = "/" - ////docs.SwaggerInfo.Schemes = []string{"http"} - //engine.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) - // - //logFile, _ := os.OpenFile("./fatal.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0660) - //tools.RedirectStderr(logFile) - // - ////tcp服务 - //go controller.NewTcpServer(tcpBaseServer) - //engine.Run(baseServer) } diff --git a/router/api.go b/router/api.go new file mode 100644 index 0000000..4c7bafc --- /dev/null +++ b/router/api.go @@ -0,0 +1,52 @@ +package router + +import ( + "github.com/gin-gonic/gin" + "github.com/taoshihan1991/imaptool/controller" + "github.com/taoshihan1991/imaptool/middleware" +) + +func InitApiRouter(engine *gin.Engine){ + //首页 + engine.GET("/", controller.Index) + engine.POST("/check", controller.LoginCheckPass) + engine.POST("/check_auth",middleware.JwtApiMiddleware, controller.MainCheckAuth) + //前后聊天 + engine.GET("/chat_server", controller.NewChatServer) + //获取消息 + engine.GET("/messages", controller.GetVisitorMessage) + //发送单条消息 + engine.POST("/message",controller.SendMessage) + //上传文件 + engine.POST("/uploadimg",controller.UploadImg) + //获取未读消息数 + engine.GET("/message_status",controller.GetVisitorMessage) + //设置消息已读 + engine.POST("/message_status",controller.GetVisitorMessage) + + //获取客服信息 + engine.GET("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfo) + engine.GET("/kefuinfo_setting",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuInfoSetting) + engine.POST("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostKefuInfo) + engine.DELETE("/kefuinfo",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.DeleteKefuInfo) + engine.GET("/kefulist",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetKefuList) + //角色列表 + engine.GET("/roles",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.GetRoleList) + engine.POST("/role",middleware.JwtApiMiddleware,middleware.RbacAuth, controller.PostRole) + //邮件夹列表 + engine.GET("/folders", controller.GetFolders) + + 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("/clear_online_tcp", controller.DeleteOnlineTcp) + engine.POST("/visitor",controller.PostVisitor) + engine.GET("/visitor",middleware.JwtApiMiddleware, controller.GetVisitor) + engine.GET("/visitors",middleware.JwtApiMiddleware, controller.GetVisitors) + engine.GET("/statistics",middleware.JwtApiMiddleware, controller.GetStatistics) + //前台接口 + engine.GET("/notice",middleware.SetLanguage, controller.GetNotice) + engine.POST("/notice",middleware.JwtApiMiddleware, controller.PostNotice) + engine.DELETE("/notice",middleware.JwtApiMiddleware, controller.DelNotice) + engine.GET("/notices",middleware.JwtApiMiddleware, controller.GetNotices) +} \ No newline at end of file diff --git a/router/view.go b/router/view.go new file mode 100644 index 0000000..6408f35 --- /dev/null +++ b/router/view.go @@ -0,0 +1,25 @@ +package router + +import ( + "github.com/gin-gonic/gin" + "github.com/taoshihan1991/imaptool/middleware" + "github.com/taoshihan1991/imaptool/tmpl" +) + +func InitViewRouter(engine *gin.Engine){ + engine.GET("/index", tmpl.PageIndex) + engine.GET("/login", tmpl.PageLogin) + engine.GET("/chat_page",middleware.SetLanguage, tmpl.PageChat) + engine.GET("/chatIndex",middleware.SetLanguage, tmpl.PageChat) + engine.GET("/main",middleware.JwtPageMiddleware,tmpl.PageMain) + engine.GET("/chat_main",middleware.JwtPageMiddleware,tmpl.PageChatMain) + engine.GET("/setting", tmpl.PageSetting) + engine.GET("/setting_mysql", tmpl.PageSettingMysql) + engine.GET("/setting_welcome", tmpl.PageSettingWelcome) + engine.GET("/setting_deploy", tmpl.PageSettingDeploy) + engine.GET("/setting_kefu_list",tmpl.PageKefuList) + engine.GET("/mail_list", tmpl.PageMailList) + engine.GET("/roles_list", tmpl.PageRoleList) + engine.GET("/webjs", tmpl.PageWebJs) + engine.GET("/webcss", tmpl.PageWebCss) +}