fix
wangpengfei
2023-08-28 c5a0eb549cba2cd358a2d0496c44f3a289f15d9c
conf/config.go
@@ -8,11 +8,12 @@
   "flag"
   "github.com/spf13/viper"
   "log"
   "os"
)
var (
   // config file name
   configName = "aps-admin"
   configName = "aps-crm"
   // config file paths
   configPaths = []string{
      "./",
@@ -38,6 +39,13 @@
      Issuer      string // 签发者
   }
   JWT2 struct {
      SigningKey  string // jwt签名
      ExpiresTime string // 过期时间
      BufferTime  string // 缓冲时间
      Issuer      string // 签发者
   }
   System struct {
      Env           string // 环境值 develop test public
      Port          int    // 端口
@@ -48,6 +56,11 @@
      LimitTimeIP   int
      RouterPrefix  string // 路由前缀
      SudoPassword  string // sudo密码
   }
   GrpcServiceAddr struct {
      Aps   string // aps服务地址
      Admin string // admin服务地址
   }
   config struct {
@@ -68,6 +81,8 @@
      // JWT配置
      JWT JWT
      GrpcServiceAddr GrpcServiceAddr
   }
)
@@ -98,7 +113,35 @@
   if err := Viper.Unmarshal(&Conf); err != nil {
      log.Fatalf("Unmarshal err:%v", err)
   }
   DBHost := os.Getenv("DB_HOST")
   DBName := os.Getenv("DB_NAME")
   DBPort := os.Getenv("DB_PORT")
   DBUser := os.Getenv("DB_USER")
   DBPasswd := os.Getenv("DB_PASSWD")
   if len(DBHost) > 0 &&
      len(DBName) > 0 &&
      len(DBPort) > 0 &&
      len(DBUser) > 0 &&
      len(DBPasswd) > 0 {
      Conf.Mysql.Dsn = DBUser + ":" + DBPasswd + "@tcp(" + DBHost + ":" + DBPort + ")/" + DBName + "?charset=utf8&parseTime=True&loc=Local"
   }
   AdminGrpc := os.Getenv("ADMIN_GRPC")
   if len(AdminGrpc) > 0 {
      Conf.GrpcServiceAddr.Admin = AdminGrpc
   }
   ApsGrpc := os.Getenv("GRPC_PORT")
   Host := os.Getenv("HOST")
   if len(Host) > 0 && len(ApsGrpc) > 0 {
      Conf.GrpcServiceAddr.Aps = Host + ":" + ApsGrpc
      //Conf.GrpcServiceAddr.Aps = DBUser + DBUser +
   }
   ShowConfig()
   CheckConfig()
}
// WriteConfig 回写配置
@@ -117,5 +160,12 @@
   log.Printf("   Mysql:                 %+v", Conf.Mysql)
   log.Printf("   Captcha:               %+v", Conf.Captcha)
   log.Printf("   JWT:                   %+v", Conf.JWT)
   log.Printf("   GrpcServiceAddr:       %+v", Conf.GrpcServiceAddr)
   log.Println("......................................................")
}
func CheckConfig() {
   if Conf.GrpcServiceAddr.Aps == "" {
      log.Fatalf("%v 尚未配置", "GrpcServiceAddr.Aps")
   }
}