package main import ( "os" "gitea.timerzz.com/kedaya_haitao/common/pkg/database" "gitea.timerzz.com/kedaya_haitao/common/pkg/web" "gitea.timerzz.com/kedaya_haitao/common/structs/storage" "gitea.timerzz.com/kedaya_haitao/provider/service" "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/middleware/cors" "github.com/gofiber/fiber/v3/middleware/recover" "github.com/golang/glog" ) func main() { glog.Info(">>> BEGIN INIT<<<") // 初始化数据库 db, err := database.InitDefaultDatabase() if err != nil { glog.Fatalf("init database failed: %v", err) } // 初始化服务 r := fiber.New(fiber.Config{ErrorHandler: web.ErrHandle}) r.Use(cors.New(), recover.New()) stg := storage.NewStorage(db) if err = stg.Provider().AutoMigrate(); err != nil { glog.Fatalf("autoMigrate database failed: %v", err) } svc := []web.Register{ web.NewProbe(), service.NewProvider(stg), } for _, s := range svc { s.Registry(r) } port := os.Getenv("PORT") if port == "" { port = "80" } if err = r.Listen(":" + port); err != nil { glog.Warningf("service over: %v", err) } }