router.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. engine := gin.Default()
  27. //解决跨域
  28. engine.Use(middleware.Cors())
  29. engine.Use(middleware.LoggerToFile())
  30. // 静态资源请求映射
  31. engine.Static("/image", global.Config.Upload.SavePath)
  32. //404 NOT FOUND
  33. engine.NoRoute(func(context *gin.Context) {
  34. context.String(http.StatusNotFound, "404 not found")
  35. })
  36. //swag
  37. engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
  38. engine.Static("/file", "./files")
  39. engine.GET("/ws", WsHandler)
  40. //group
  41. v1 := engine.Group("/v1")
  42. user := v1.Group("/user")
  43. user.POST("/login", gateway.GetUser().UserLogin)
  44. //user.Use(middleware.JwtAuth())
  45. user.POST("/register", gateway.GetUser().UseRegister)
  46. user.POST("/reset", gateway.GetUser().ResetPassword)
  47. user.GET("/find", gateway.GetUser().UserList)
  48. user.POST("/change/password", gateway.GetUser().ModePass)
  49. device := v1.Group("/device/")
  50. device.GET("/scan", gateway.ScanDevice)
  51. device.GET("/connection", gateway.ConnectDevice)
  52. device.POST("/write/data/", gateway.WriteData)
  53. device.GET("/open/notify/", gateway.OpenNotify)
  54. device.GET("/:mac/stop/trans/", gateway.StopTrans)
  55. device.GET("/:mac/stop/collect/", gateway.StopCollect)
  56. device.GET("/:mac/disconnect/", gateway.Disconnect)
  57. device.POST("/add/", gateway.GetDeviceService().DeviceAdd)
  58. device.DELETE("/:mac/remove/", gateway.GetDeviceService().DeviceRemove)
  59. device.GET("/list/:type", gateway.GetDeviceService().DeviceList)
  60. chats := v1.Group("/chat")
  61. chats.GET("/get/chat/", chat.GetQuestionService().GetQuestion)
  62. chats.POST("/create/chat/", chat.GetQuestionService().CreateQuestion)
  63. chats.GET("/get/answer/", chat.GetAnswerService().GetAnswer)
  64. //
  65. //record := v1.Group("/record")
  66. //record.POST("/create", api.GetRecord().SaveRecord)
  67. //record.POST("/find", api.GetRecord().RecordList)
  68. //record.GET("/:recordId/find", api.GetRecord().GetRecordById)
  69. err := engine.Run(fmt.Sprintf(":%s", global.Config.Server.Port))
  70. if err != nil {
  71. fmt.Printf("%s", err.Error())
  72. return
  73. }
  74. }