router.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package router
  2. import (
  3. "net/http"
  4. "speechAnalysis/conf"
  5. "speechAnalysis/controllers"
  6. _ "speechAnalysis/docs"
  7. "speechAnalysis/middleware"
  8. "github.com/gin-gonic/gin"
  9. swaggerFiles "github.com/swaggo/files"
  10. ginSwagger "github.com/swaggo/gin-swagger"
  11. )
  12. func NewRouter() *gin.Engine {
  13. r := gin.Default()
  14. r.Use(middleware.Cors())
  15. r.StaticFS(conf.LocalConf.StorePath, http.Dir(conf.LocalConf.StorePath)) // 为用户头像和文件提供静态地址
  16. r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
  17. urlPrefix := "/api-sa/v1"
  18. // 音频管理
  19. audioCtl := new(controllers.AudioCtl)
  20. audioAPi := r.Group(urlPrefix + "/audio")
  21. {
  22. audioAPi.POST("upload", audioCtl.Upload) // 上传音频
  23. audioAPi.GET("list", audioCtl.List) // 音频检索
  24. audioAPi.GET("export", audioCtl.Export) // 音频检索结果导出
  25. audioAPi.GET("info", audioCtl.AudioInfo) // 音频详情
  26. audioAPi.GET("download", audioCtl.AudioDownload) // 音频下载
  27. audioAPi.GET("trainInfoList", audioCtl.TrainInfoList) // 火车信息列表
  28. audioAPi.POST("process", audioCtl.Process) // 音频处理
  29. audioAPi.POST("batchProcess", audioCtl.BatchProcess) // 音频批量处理
  30. audioAPi.DELETE("delete", audioCtl.Delete) // 音频删除
  31. audioAPi.DELETE("batchDelete", audioCtl.BatchDelete) // 音频批量删除
  32. audioAPi.POST("follow", audioCtl.Follow) // 关注/取消关注
  33. audioAPi.GET("preLoadPath", audioCtl.PreLoadPath) // 获取自动加载路径
  34. }
  35. // 文字库管理
  36. textCtl := new(controllers.TextCtl)
  37. textApi := r.Group(urlPrefix + "/text")
  38. {
  39. textApi.POST("add", textCtl.AddText) // 添加文字
  40. textApi.POST("update", textCtl.UpdateText) // 添加文字
  41. textApi.GET("list", textCtl.List) // 文字列表
  42. textApi.DELETE("delete", textCtl.DeleteText) // 删除文字
  43. }
  44. return r
  45. }