package main import ( "os" "woord-core-service/controller" "woord-core-service/global" "woord-core-service/model" "github.com/gin-contrib/cors" "github.com/gin-contrib/sessions" gormsessions "github.com/gin-contrib/sessions/gorm" "github.com/gin-gonic/gin" "gorm.io/driver/sqlite" "gorm.io/gorm" ) func main() { global.SecretKey = []byte(os.Getenv("SECRET_KEY")) var err error // 连接数据库 global.DB, err = gorm.Open(sqlite.Open(os.Getenv("DB_PATH")), &gorm.Config{}) if err != nil { panic(err) } // 自动迁移 Schema global.DB.AutoMigrate(&model.User{}, &model.Dict{}, &model.Word{}, &model.Memo{}) r := gin.Default() // 配置 CORS config := cors.DefaultConfig() config.AllowOrigins = []string{"https://word.regmsif.cf"} config.AllowCredentials = true r.Use(cors.New(config)) // 创建 Session 存储 store := gormsessions.NewStore(global.DB, true, global.SecretKey) r.Use(sessions.Sessions("_session", store)) r.POST("/user/register", controller.Register) r.POST("/user/login", controller.Login) auth := r.Group("/", controller.JWTAuth()) { auth.GET("/user/get", controller.GetCurrentUser) auth.GET("/dict/list", controller.ListDicts) auth.GET("/dict/get", controller.GetDict) auth.POST("/dict/create", controller.CreateDict) auth.PUT("/dict/update", controller.UpdateDict) auth.DELETE("/dict/delete", controller.DeleteDict) auth.POST("/word/create", controller.CreateWord) auth.PUT("/word/update", controller.UpdateWord) auth.DELETE("/word/delete", controller.DeleteWord) auth.POST("/memo/create", controller.CreateMemo) } r.Run(":8080") }