package router import ( "net/http" "speechAnalysis/conf" "speechAnalysis/controllers" _ "speechAnalysis/docs" "speechAnalysis/middleware" "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" ) func NewRouter() *gin.Engine { r := gin.Default() r.Use(middleware.Cors()) r.StaticFS(conf.LocalConf.StorePath, http.Dir(conf.LocalConf.StorePath)) // 为用户头像和文件提供静态地址 r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) urlPrefix := "/api-sa/v1" // 音频管理 audioCtl := new(controllers.AudioCtl) audioAPi := r.Group(urlPrefix + "/audio") { audioAPi.POST("upload", audioCtl.Upload) // 上传音频 audioAPi.GET("list", audioCtl.List) // 音频检索 audioAPi.GET("info", audioCtl.AudioInfo) // 音频详情 audioAPi.GET("download", audioCtl.AudioDownload) // 音频下载 audioAPi.GET("trainInfoList", audioCtl.TrainInfoList) // 火车信息列表 audioAPi.POST("process", audioCtl.Process) // 音频处理 audioAPi.POST("batchProcess", audioCtl.BatchProcess) // 音频批量处理 audioAPi.DELETE("delete", audioCtl.Delete) // 音频删除 audioAPi.DELETE("batchDelete", audioCtl.BatchDelete) // 音频批量删除 audioAPi.POST("follow", audioCtl.Follow) // 关注/取消关注 } // 文字库管理 textCtl := new(controllers.TextCtl) textApi := r.Group(urlPrefix + "/text") { textApi.POST("add", textCtl.AddText) // 添加文字 textApi.POST("update", textCtl.UpdateText) // 添加文字 textApi.GET("list", textCtl.List) // 文字列表 textApi.DELETE("delete", textCtl.DeleteText) // 删除文字 } return r }