main.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "github.com/runningwater/gohub/bootstrap"
  7. appConfig "github.com/runningwater/gohub/config"
  8. "github.com/runningwater/gohub/pkg/config"
  9. )
  10. func init() {
  11. // 加载 config 目录下的配置信息
  12. appConfig.Initialize()
  13. }
  14. func main() {
  15. // 配置初始化,依赖命令行 --env 参数
  16. var env string
  17. flag.StringVar(&env, "env", "", "加载.env 文件,如 --env=local, 加载的是 .env.local 文件")
  18. flag.Parse()
  19. config.InitConfig(env)
  20. // 初始化 Logger
  21. bootstrap.SetupLogger()
  22. // 初始化 DB
  23. // 注意: 初始化 DB 前应该先初始化 logger
  24. bootstrap.SetupDB()
  25. // 初始化 Redis
  26. bootstrap.SetupRedis()
  27. // gin 框架设置为发布模式,线上环境需要设置
  28. gin.SetMode(gin.ReleaseMode)
  29. // Gin 框架初始化
  30. r := gin.New()
  31. // 初始化路由绑定
  32. bootstrap.SetupRoute(r)
  33. // r.GET("/test_auth", middlewares.AuthJWT(), func(c *gin.Context) {
  34. // userModle := auth.CurrentUser(c)
  35. // response.Data(c, userModle)
  36. // })
  37. // 测试发送短信
  38. // verifycode.NewVerifyCode().SendSMS("15968875425")
  39. // 启动 HTTP 服务,监听在我们指定的端口上
  40. err := r.Run(":" + config.Get("app.port"))
  41. if err != nil {
  42. fmt.Println("启动失败", err.Error())
  43. }
  44. }