main.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. "dsbqj-admin/app/router"
  4. "dsbqj-admin/app/service"
  5. "dsbqj-admin/app/task"
  6. "dsbqj-admin/model/mongo"
  7. "dsbqj-admin/pkg/logger"
  8. "dsbqj-admin/pkg/validator"
  9. "fmt"
  10. "github.com/gin-gonic/gin"
  11. "github.com/joho/godotenv"
  12. "log"
  13. "net/http"
  14. "os"
  15. "time"
  16. )
  17. // @title 后端接口API文档
  18. // @version 1.0
  19. // @description 这里展示所有当前web端API接口信息
  20. // @host localhost:30101
  21. // @BasePath /web/v1
  22. // @securityDefinitions.apikey cxy_token
  23. // @name __CXY_TOKEN_
  24. // @in header
  25. // @securityDefinitions.apikey cxy_uid
  26. // @name __CXY_UID_
  27. // @in header
  28. func main() {
  29. err := godotenv.Load()
  30. if err != nil {
  31. log.Fatal("Error loading .env file")
  32. return
  33. }
  34. validator.Init()
  35. logger.Init("")
  36. //cache.Redis()
  37. //oss.Init()
  38. //sms.Init()
  39. // 连接数据库
  40. //mysql.Database(os.Getenv("MYSQL_DSN"))
  41. mongo.Database(os.Getenv("MONGO_DSN"))
  42. if err := service.EnsureDefaultAdmin(); err != nil {
  43. log.Fatal("init admin account failed: ", err)
  44. }
  45. // 启动任务
  46. task.Run(task.VersionInit(), 5*time.Minute)
  47. // 初始化热更版本
  48. service.GetTHotUpdateVerManager().Init()
  49. if os.Getenv("GIN_MODE") == "release" {
  50. gin.SetMode(gin.ReleaseMode)
  51. }
  52. // 装载路由
  53. routersInit := router.NewRouter()
  54. readTimeout := 60 * time.Second
  55. writeTimeout := 200 * time.Second
  56. endPoint := fmt.Sprintf(":%s", os.Getenv("LISTEN_PORT"))
  57. maxHeaderBytes := 1 << 20
  58. server := &http.Server{
  59. Addr: endPoint,
  60. Handler: routersInit,
  61. ReadTimeout: readTimeout,
  62. WriteTimeout: writeTimeout,
  63. MaxHeaderBytes: maxHeaderBytes,
  64. }
  65. logger.Info("start http version listening %s", endPoint)
  66. err = server.ListenAndServe()
  67. fmt.Println(err)
  68. }