| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- 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()
- }
|