router.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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("info", audioCtl.AudioInfo) // 音频详情
  25. audioAPi.GET("download", audioCtl.AudioDownload) // 音频下载
  26. audioAPi.GET("trainInfoList", audioCtl.TrainInfoList) // 火车信息列表
  27. audioAPi.POST("process", audioCtl.Process) // 音频处理
  28. audioAPi.POST("batchProcess", audioCtl.BatchProcess) // 音频批量处理
  29. audioAPi.DELETE("delete", audioCtl.Delete) // 音频删除
  30. audioAPi.DELETE("batchDelete", audioCtl.BatchDelete) // 音频批量删除
  31. audioAPi.POST("follow", audioCtl.Follow) // 关注/取消关注
  32. audioAPi.GET("preLoadPath", audioCtl.PreLoadPath) // 获取自动加载路径
  33. }
  34. // 文字库管理
  35. textCtl := new(controllers.TextCtl)
  36. textApi := r.Group(urlPrefix + "/text")
  37. {
  38. textApi.POST("add", textCtl.AddText) // 添加文字
  39. textApi.POST("update", textCtl.UpdateText) // 添加文字
  40. textApi.GET("list", textCtl.List) // 文字列表
  41. textApi.DELETE("delete", textCtl.DeleteText) // 删除文字
  42. }
  43. return r
  44. }