package main import ( "flag" "fmt" "github.com/gin-gonic/gin" "github.com/runningwater/gohub/bootstrap" appConfig "github.com/runningwater/gohub/config" "github.com/runningwater/gohub/pkg/config" ) func init() { // 加载 config 目录下的配置信息 appConfig.Initialize() } func main() { // 配置初始化,依赖命令行 --env 参数 var env string flag.StringVar(&env, "env", "", "加载.env 文件,如 --env=local, 加载的是 .env.local 文件") flag.Parse() config.InitConfig(env) // 初始化 Logger bootstrap.SetupLogger() // 初始化 DB // 注意: 初始化 DB 前应该先初始化 logger bootstrap.SetupDB() // 初始化 Redis bootstrap.SetupRedis() // gin 框架设置为发布模式,线上环境需要设置 gin.SetMode(gin.ReleaseMode) // Gin 框架初始化 r := gin.New() // 初始化路由绑定 bootstrap.SetupRoute(r) // 测试发送短信 // verifycode.NewVerifyCode().SendSMS("15968875425") // 启动 HTTP 服务,监听在我们指定的端口上 err := r.Run(":" + config.Get("app.port")) if err != nil { fmt.Println("启动失败", err.Error()) } }