From 9d91d35501be5c89b9d67ecb7a0641e7a2fa90f1 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 21 Sep 2022 20:59:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0cmd=20flag=20=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E5=8F=82=E6=95=B0=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/cmd/main.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/services/cmd/main.go b/services/cmd/main.go index 227b31579..ad2cb2e21 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -24,9 +24,9 @@ import ( 服务描述:通过读取游戏json配置,启动服务程序 */ var ( - gmpath = flag.String("g", "./gm.json", "游戏区服配置") //服务列表下标 - crosspath = flag.String("c", "./cross.json", "游戏跨服配置") //服务列表下标 - sid = flag.String("i", "", "曲阜列表下标") //服务列表下标 + gmpath string //服务列表下标 + crosspath string //服务列表下标 + sid string //服务列表下标 ) var startCmd = &cobra.Command{ Use: "start", @@ -54,6 +54,9 @@ var RootCmd = &cobra.Command{ //初始化自定义cmd func init() { + RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置") + RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置") + RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id") RootCmd.AddCommand(startCmd, stopCmd) } @@ -80,7 +83,7 @@ func Execute() { //启动程序 func start() { - if config, err := readergmconf(*gmpath); err != nil { + if config, err := readergmconf(gmpath); err != nil { log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) } else { var ( @@ -92,7 +95,7 @@ func start() { log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) } else { for _, v := range ss { - if *sid == "" || fmt.Sprintf("%s_%s", v.Tag, *sid) == v.Id { + if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil { log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err}) return @@ -144,7 +147,7 @@ func start() { //关闭程序 func stop() { - if config, err := readergmconf(*gmpath); err != nil { + if config, err := readergmconf(gmpath); err != nil { log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) } else { @@ -152,7 +155,7 @@ func stop() { log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) } else { for _, v := range ss { - if *sid == "" || fmt.Sprintf("%s_%s", v.Tag, *sid) == v.Id { + if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { stopService(v) } } @@ -276,7 +279,7 @@ func convertServiceSttings(config *comm.GameConfig, id int, stype string, ip str "RedisDB": config.LoaclDB.RedisDB, "MongodbUrl": config.LoaclDB.MongodbUrl, "MongodbDatabase": config.LoaclDB.MongodbDatabase, - "CrossConfig": *crosspath, + "CrossConfig": crosspath, } return }