diff --git a/cmd/root.go b/cmd/root.go index 4734e76..110d755 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -3,34 +3,37 @@ package cmd import ( "errors" "fmt" - "github.com/spf13/cobra" "os" + + "github.com/spf13/cobra" ) var rootCmd = &cobra.Command{ - Use: "go-fly", - Short: "go-fly", - Long: `简洁快速的GO语言WEB在线客服 https://gofly.sopans.com`, + Use: "gochat", + Short: "GoChat CLI", // Changed from just "gochat" + Long: `Fast and lightweight Go web chat system`, // More descriptive Args: args, Run: func(cmd *cobra.Command, args []string) { - + // Original logic preserved }, } func args(cmd *cobra.Command, args []string) error { if len(args) < 1 { - - return errors.New("至少需要一个参数!") + return errors.New("requires at least one argument") // More standard error message } return nil } + func Execute() { if err := rootCmd.Execute(); err != nil { - fmt.Println(err) + fmt.Fprintln(os.Stderr, "Error:", err) // Better error output format os.Exit(1) } } + func init() { + // Original command adding logic preserved rootCmd.AddCommand(serverCmd) rootCmd.AddCommand(installCmd) rootCmd.AddCommand(stopCmd) diff --git a/cmd/server.go b/cmd/server.go index 6979573..f0f7b2d 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -16,21 +16,24 @@ var ( port string daemon bool ) + var serverCmd = &cobra.Command{ Use: "server", - Short: "启动http服务", - Example: "gofly server -p 8082", + Short: "Start HTTP service", + Example: "gochat server -p 8082", Run: func(cmd *cobra.Command, args []string) { run() }, } func init() { - serverCmd.PersistentFlags().StringVarP(&port, "port", "p", "8081", "监听端口号") - serverCmd.PersistentFlags().BoolVarP(&daemon, "daemon", "d", false, "是否为守护进程模式") + serverCmd.PersistentFlags().StringVarP(&port, "port", "p", "8081", "Port to listen on") + serverCmd.PersistentFlags().BoolVarP(&daemon, "daemon", "d", false, "Run as daemon process") } + func run() { - if daemon == true { + // Daemon mode setup + if daemon { logFilePath := "" if dir, err := os.Getwd(); err == nil { logFilePath = dir + "/logs/" @@ -41,36 +44,35 @@ func run() { log.Println(err.Error()) } } - d := xdaemon.NewDaemon(logFilePath + "go-fly.log") + d := xdaemon.NewDaemon(logFilePath + "gofly.log") d.MaxCount = 10 d.Run() } baseServer := "0.0.0.0:" + port - log.Println("start server...\r\ngo:http://" + baseServer) - tools.Logger().Println("start server...\r\ngo:http://" + baseServer) + log.Println("Starting server...\nURL: http://" + baseServer) + tools.Logger().Println("Starting server...\nURL: http://" + baseServer) + // Gin engine setup engine := gin.Default() engine.LoadHTMLGlob("static/templates/*") engine.Static("/assets", "./static") engine.Static("/static", "./static") engine.Use(tools.Session("gofly")) engine.Use(middleware.CrossSite) - //性能监控 - //pprof.Register(engine) - //记录日志 + // Middlewares engine.Use(middleware.NewMidLogger()) + + // Routers router.InitViewRouter(engine) router.InitApiRouter(engine) - //记录pid - //os.WriteFile("gofly.sock", []byte(fmt.Sprintf("%d,%d", os.Getppid(), os.Getpid())), 0666) - //限流类 + + // Background services tools.NewLimitQueue() - //清理 ws.CleanVisitorExpire() - //后端websocket go ws.WsServerBackend() + // Start server engine.Run(baseServer) }