router.go 2.8 KB

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