diff --git a/cmd/api/main.go b/cmd/api/main.go index 609f372ff..b83609e73 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -2,6 +2,7 @@ package main import ( "OpenIM/internal/api" + "OpenIM/pkg/common/cmd" "OpenIM/pkg/common/config" "OpenIM/pkg/common/log" "fmt" @@ -19,7 +20,6 @@ var startCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { port, _ := cmd.Flags().GetInt(constant.FlagPort) configFolderPath, _ := cmd.Flags().GetString(constant.FlagConf) - fmt.Printf("Starting server on port %d with config file at %s\n", port, configFolderPath) if err := run(configFolderPath, port); err != nil { panic(err.Error()) } @@ -27,7 +27,7 @@ var startCmd = &cobra.Command{ } func init() { - startCmd.Flags().IntP(constant.FlagPort, "p", 10002, "Port to listen on") + startCmd.Flags().IntP(constant.FlagPort, "p", 0, "Port to listen on") startCmd.Flags().StringP(constant.FlagConf, "c", "", "Path to config file folder") } @@ -35,6 +35,9 @@ func run(configFolderPath string, port int) error { if err := config.InitConfig(configFolderPath); err != nil { return err } + if port == 0 { + port = config.Config.Api.GinPort[0] + } log.NewPrivateLog(constant.LogFileName) router := api.NewGinRouter() address := constant.LocalHost + ":" + strconv.Itoa(port) @@ -51,6 +54,8 @@ func run(configFolderPath string, port int) error { } func main() { + rootCmd := cmd.NewRootCmd() + rootCmd.AddCommand(startCmd) if err := startCmd.Execute(); err != nil { fmt.Println(err) os.Exit(1) diff --git a/cmd/cmdutils/main.go b/cmd/cmdutils/main.go index 42f4a6263..97fe346bd 100644 --- a/cmd/cmdutils/main.go +++ b/cmd/cmdutils/main.go @@ -2,11 +2,55 @@ package main import ( "OpenIM/internal/tools" + "OpenIM/pkg/common/cmd" "OpenIM/pkg/common/config" - "context" + "OpenIM/pkg/common/constant" "flag" + "fmt" + "github.com/spf13/cobra" + "os" ) + +var showSeqCmd = &cobra.Command{ + Use: "show-seq", + Short: "Start the server", + Run: func(cmd *cobra.Command, args []string) { + configFolderPath, _ := cmd.Flags().GetString(constant.FlagConf) + config.InitConfig(configFolderPath) + }, +} + +var + + +func init() { + showSeqCmd.Flags().StringP("userID", "u", "", "openIM userID") + showSeqCmd.Flags().StringP("groupID", "g", "", "openIM groupID") + startCmd.Flags().StringP(constant.FlagConf, "c", "", "Path to config file folder") + +} + +func run(configFolderPath string, cmd *cobra.Command) error { + if err := config.InitConfig(configFolderPath); err != nil { + return err + } + + + return nil +} + +func main() { + rootCmd := cmd.NewRootCmd() + rootCmd.AddCommand(showSeqCmd) + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} + + +// func main() { if err := config.InitConfig(""); err != nil { panic(err.Error()) diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go new file mode 100644 index 000000000..72f407628 --- /dev/null +++ b/pkg/common/cmd/root.go @@ -0,0 +1,13 @@ +package cmd + +import ( + "github.com/spf13/cobra" +) + +func NewRootCmd() *cobra.Command { + return &cobra.Command{ + Use: "start", + Short: "Start the server", + Long: `Start the server`, + } +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index fd20aefcd..16069a82a 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -330,6 +330,7 @@ const LocalHost = "0.0.0.0" // flag parse const ( - FlagPort = "port" - FlagConf = "config_folder_path" + FlagPort = "port" + PrometheusPort = "prometheus_port" + FlagConf = "config_folder_path" )