package main import ( "fmt" // "shudao-chat-go/controllers" _ "shudao-chat-go/routers" // "shudao-chat-go/tests" "shudao-chat-go/models" "shudao-chat-go/utils" beego "github.com/beego/beego/v2/server/web" "github.com/beego/beego/v2/server/web/filter/cors" ) func main() { // 启用JSON body解析 - Beego v2的配置方式 beego.BConfig.CopyRequestBody = true // // 转换template_1.json为PPTX // if err := tests.ConvertTemplate1ToPPTX(); err != nil { // fmt.Printf("PPT转换失败: %v\n", err) // } // // 智能转换:根据大纲内容匹配模板并填充 // fmt.Println("\n=== 开始智能转换 ===") // if err := tests.ConvertToSmartPresentation(); err != nil { // fmt.Printf("智能转换失败: %v\n", err) // } // ============ 重要:先注册认证中间件,再注册CORS ============ fmt.Println("🔧 正在注册Token认证中间件...") beego.InsertFilter("*", beego.BeforeRouter, utils.AuthMiddleware) fmt.Println("✅ Token认证中间件注册完成 (BeforeRouter)") beego.InsertFilter("*", beego.BeforeExec, utils.AuthMiddleware) fmt.Println("✅ Token认证中间件注册完成 (BeforeExec)") //解决跨域问题 beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{ AllowOrigins: []string{"*"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type", "token"}, ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"}, AllowCredentials: true, })) fmt.Println("✅ CORS中间件注册完成") //迁移total中所有表 // models.DB.AutoMigrate(&models.RecognitionRecord{}) // 设置静态文件路径 beego.SetStaticPath("/assets", "assets") beego.SetStaticPath("/static", "static") beego.SetStaticPath("/src", "assets") // 将/src路径映射到assets目录 // 启动心跳任务 models.StartHeartbeatTask() // 批量匹配图片(取消注释下面的行来运行) // fmt.Println("开始批量匹配图片...") // controllers.BatchMatchImages() // 批量上传图片(取消注释下面的行来运行) // fmt.Println("开始批量上传图片...") // controllers.BatchUploadImages() // 批量上传文件(取消注释下面的行来运行) // fmt.Println("开始批量上传文件...") // controllers.BatchUploadFilesToOSS() // 启动服务器 beego.Run() }