Files
wx_service/cmd/api/main.go
T

47 lines
1.0 KiB
Go

package main
import (
"log"
"net/http"
"github.com/gin-gonic/gin"
"wx_service/config"
"wx_service/internal/database"
"wx_service/internal/handler"
"wx_service/internal/model"
"wx_service/internal/service"
)
func main() {
config.LoadConfig()
if err := database.InitDB(); err != nil {
log.Fatalf("init database failed: %v", err)
}
if err := database.AutoMigrate(&model.MiniProgram{}, &model.User{}); err != nil {
log.Fatalf("auto migrate failed: %v", err)
}
gin.SetMode(config.AppConfig.Server.Mode)
router := gin.Default()
miniProgramService := service.NewMiniProgramService(database.DB)
authService := service.NewAuthService(database.DB, miniProgramService)
authHandler := handler.NewAuthHandler(authService)
api := router.Group("/api/v1")
{
api.POST("/auth/login", authHandler.LoginWithWeChat)
}
router.GET("/healthz", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"status": "ok"})
})
addr := ":" + config.AppConfig.Server.Port
if err := router.Run(addr); err != nil {
log.Fatalf("server stopped: %v", err)
}
}