router.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package initialize
  2. import (
  3. "confrontation-training/api/chat"
  4. "confrontation-training/api/gateway"
  5. _ "confrontation-training/docs"
  6. "confrontation-training/global"
  7. _ "confrontation-training/global"
  8. "confrontation-training/middleware"
  9. "confrontation-training/models"
  10. modelsChat "confrontation-training/models/chat"
  11. "fmt"
  12. "github.com/gin-gonic/gin"
  13. swaggerFiles "github.com/swaggo/files"
  14. ginSwagger "github.com/swaggo/gin-swagger"
  15. "net/http"
  16. )
  17. func Router() {
  18. //初始化表格
  19. initTableErr := global.Db.AutoMigrate(&models.User{}, &modelsChat.Question{}, &modelsChat.Answer{})
  20. if initTableErr != nil {
  21. fmt.Printf("初始化表格异常:%s", initTableErr.Error())
  22. return
  23. }
  24. gin.SetMode(gin.ReleaseMode)
  25. engine := gin.Default()
  26. //解决跨域
  27. engine.Use(middleware.Cors())
  28. engine.Use(middleware.LoggerToFile())
  29. // 静态资源请求映射
  30. engine.Static("/image", global.Config.Upload.SavePath)
  31. //404 NOT FOUND
  32. engine.NoRoute(func(context *gin.Context) {
  33. context.String(http.StatusNotFound, "404 not found")
  34. })
  35. //swag
  36. engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
  37. engine.Static("/file", "./files")
  38. engine.GET("/ws", WsHandler)
  39. //group
  40. v1 := engine.Group("/v1")
  41. user := v1.Group("/user")
  42. user.POST("/login", gateway.GetUser().UserLogin)
  43. //user.Use(middleware.JwtAuth())
  44. user.POST("/register", gateway.GetUser().UseRegister)
  45. user.POST("/reset", gateway.GetUser().ResetPassword)
  46. user.POST("/find", gateway.GetUser().UserList)
  47. user.POST("/change/password", gateway.GetUser().ModePass)
  48. device := v1.Group("/device")
  49. device.GET("/scan", gateway.ScanDevice)
  50. device.GET("/connection", gateway.ConnectDevice)
  51. device.POST("/write/data/", gateway.WriteData)
  52. device.GET("/open/notify/", gateway.OpenNotify)
  53. device.GET("/:mac/stop/trans/", gateway.StopTrans)
  54. device.GET("/:mac/stop/collect/", gateway.StopCollect)
  55. device.GET("/:mac/disconnect/", gateway.Disconnect)
  56. device.POST("/add/", gateway.GetDeviceService().DeviceAdd)
  57. chats := v1.Group("/chat")
  58. chats.GET("/get/chat/", chat.GetQuestionService().GetQuestion)
  59. chats.POST("/create/chat/", chat.GetQuestionService().CreateQuestion)
  60. chats.GET("/get/answer/", chat.GetAnswerService().GetAnswer)
  61. //
  62. //record := v1.Group("/record")
  63. //record.POST("/create", api.GetRecord().SaveRecord)
  64. //record.POST("/find", api.GetRecord().RecordList)
  65. //record.GET("/:recordId/find", api.GetRecord().GetRecordById)
  66. err := engine.Run(fmt.Sprintf(":%s", global.Config.Server.Port))
  67. if err != nil {
  68. fmt.Printf("%s", err.Error())
  69. return
  70. }
  71. }