package env import ( "fmt" "os" "strconv" ) var ( AppCtrlPort uint16 AppDataPort uint16 AppWebPort uint16 AppLogMode string DbHost string DbPort uint16 DbDatabase string DbUsername string DbPassword string DbTimezone string ) func Init() { // AppCtrlPort appCtrlPortStr := os.Getenv("APP_CTRL_PORT") if appCtrlPortStr == "" { panic("环境变量 APP_CTRL_PORT 未设置") } appCtrlPort, err := strconv.ParseUint(appCtrlPortStr, 10, 16) if err != nil { panic(fmt.Sprintf("环境变量 APP_CTRL_PORT 格式错误: %v", err)) } AppCtrlPort = uint16(appCtrlPort) // AppDataPort appDataPortStr := os.Getenv("APP_DATA_PORT") if appDataPortStr == "" { panic("环境变量 APP_DATA_PORT 未设置") } appDataPort, err := strconv.ParseUint(appDataPortStr, 10, 16) if err != nil { panic(fmt.Sprintf("环境变量 APP_DATA_PORT 格式错误: %v", err)) } AppDataPort = uint16(appDataPort) // AppWebPort appWebPortStr := os.Getenv("APP_WEB_PORT") if appWebPortStr == "" { appWebPortStr = "8848" } appWebPort, err := strconv.ParseUint(appWebPortStr, 10, 16) if err != nil { panic(fmt.Sprintf("环境变量 APP_WEB_PORT 格式错误: %v", err)) } AppWebPort = uint16(appWebPort) // AppLogMode appLogMode := os.Getenv("APP_LOG_MODE") if appLogMode == "" { AppLogMode = "dev" } AppLogMode = appLogMode // DbHost DbHost = os.Getenv("DB_HOST") if DbHost == "" { panic("环境变量 DB_HOST 未设置") } // DbPort dbPortStr := os.Getenv("DB_PORT") if dbPortStr == "" { dbPortStr = "5432" } dbPort, err := strconv.ParseUint(dbPortStr, 10, 16) if err != nil { panic(fmt.Sprintf("环境变量 DB_PORT 格式错误: %v", err)) } DbPort = uint16(dbPort) // DbDatabase DbDatabase = os.Getenv("DB_DATABASE") if DbDatabase == "" { panic("环境变量 DB_DATABASE 未设置") } // DbUsername DbUsername = os.Getenv("DB_USERNAME") if DbUsername == "" { panic("环境变量 DB_USERNAME 未设置") } // DbPassword DbPassword = os.Getenv("DB_PASSWORD") if DbPassword == "" { panic("环境变量 DB_PASSWORD 未设置") } // DbTimezone DbTimezone = os.Getenv("DB_TIMEZONE") if DbTimezone == "" { DbTimezone = "Asia/Shanghai" } }