main.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "gopkg.in/gographics/imagick.v3/imagick"
  6. "os"
  7. setting "icloudapp.cn/tools/config"
  8. log "icloudapp.cn/tools/logger"
  9. "icloudapp.cn/tools/repository/mysql"
  10. "icloudapp.cn/tools/repository/redis"
  11. "icloudapp.cn/tools/router"
  12. "icloudapp.cn/tools/util/jobs"
  13. )
  14. func main() {
  15. /*if len(os.Args) < 2 {
  16. fmt.Println("need config file.eg: config.yaml")
  17. return
  18. }
  19. // 1.加载配置
  20. setting.Init(os.Args[1])
  21. */
  22. imagick.Initialize()
  23. defer imagick.Terminate()
  24. gin.SetMode(gin.DebugMode)
  25. setting.Init(gin.EnvGinMode)
  26. // 2.初始化日志
  27. log.Init()
  28. // 3.初始化mysql
  29. mysql.Init(setting.Conf.MySQLConfig)
  30. // 4.如果参数为 migrate就初始化表结构
  31. if len(os.Args) >= 3 && os.Args[2] == "migrate" {
  32. mysql.AutoMigrateDB()
  33. fmt.Println("run AutoMigrate success!")
  34. return
  35. }
  36. // 5.初始化redis
  37. redis.Init(setting.Conf.RedisConfig)
  38. // 6.初始化定时任务
  39. jobs.InitJobs()
  40. // 7.注册路由
  41. r := router.InitRouter()
  42. r.Run(fmt.Sprintf(":%d", setting.Conf.Port))
  43. }