main.go 1.4 KB

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