Files
015/backend/main.go

45 lines
1.2 KiB
Go

package main
import (
"backend/internal/controllers"
"backend/internal/utils"
"backend/middleware"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
func main() {
// 日志
var logger *zap.Logger
if utils.GetEnvWithDefault("NODE_ENV", "production") == "production" {
logger, _ = zap.NewProduction()
} else {
logger, _ = zap.NewDevelopment()
}
defer logger.Sync()
zap.ReplaceGlobals(logger)
e := echo.New()
e.Use(middleware.ContextMiddleware())
e.Use(middleware.SessionMiddleware())
e.Use(middleware.AuthMiddleware())
e.Use(middleware.RateLimiterMiddleware())
e.Use(middleware.LoggerMiddleware())
e.POST("/file/create", controllers.CreateUploadTask)
e.POST("/file/slice", controllers.UploadFileSlice)
e.POST("/file/finish", controllers.FinishUploadTask)
e.GET("/share/:id", controllers.GetShareInfo)
e.POST("/share", controllers.CreateShareInfo)
e.GET("/download", controllers.DownloadShare)
e.POST("/download", controllers.VaildateShare)
e.GET("/share/pickup/:code", controllers.GetShareByPickupCode)
e.POST("/image/compress", controllers.GenCompressImage)
e.GET("/image/compress/:id", controllers.GetCompressImage)
e.GET("/stat", controllers.GetStat)
e.Logger.Fatal(e.Start(":1323"))
}