routes.go 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package routes
  2. import (
  3. "ems-backend/controllers"
  4. "ems-backend/middleware"
  5. "github.com/gin-gonic/gin"
  6. )
  7. func SetupRoutes(r *gin.Engine) {
  8. // Public Routes
  9. r.POST("/api/v1/login", controllers.Login)
  10. api := r.Group("/api/v1")
  11. api.Use(middleware.AuthRequired())
  12. {
  13. // Menu & Perms
  14. api.GET("/getRouters", controllers.GetRouters)
  15. api.GET("/system/menu/tree", controllers.GetMenuTree)
  16. api.GET("/system/role/:roleId/menus", controllers.GetRoleMenuIds)
  17. // Integration Sources
  18. api.GET("/sources", controllers.GetSources)
  19. api.POST("/sources", controllers.CreateSource)
  20. api.PUT("/sources/:id", controllers.UpdateSource)
  21. api.DELETE("/sources/:id", controllers.DeleteSource)
  22. api.POST("/sources/test", controllers.TestSourceConnection) // 测试连接
  23. api.GET("/sources/:id/candidates", controllers.GetSourceCandidates) // 获取候选设备 (Legacy)
  24. api.GET("/sources/:id/devices", controllers.GetSourceDevices) // 获取HA设备列表
  25. api.GET("/sources/:id/devices/:deviceId/entities", controllers.GetSourceDeviceEntities) // 获取HA设备实体
  26. api.POST("/sources/:id/sync", controllers.SyncSource) // 立即同步
  27. api.POST("/sources/:id/service", controllers.CallSourceService) // 调用服务
  28. // Devices
  29. api.GET("/devices", controllers.GetDevices)
  30. api.GET("/devices/:id", controllers.GetDevice)
  31. api.GET("/devices/:id/realtime", controllers.GetDeviceRealtime) // 获取时序库最新数据
  32. api.GET("/devices/history", controllers.GetDeviceHistory)
  33. api.DELETE("/devices/history", controllers.DeleteDeviceHistory)
  34. api.POST("/devices", controllers.CreateDevice)
  35. api.PUT("/devices/:id", controllers.UpdateDevice)
  36. api.DELETE("/devices/:id", controllers.DeleteDevice)
  37. // Locations
  38. api.GET("/locations", controllers.GetLocations)
  39. api.POST("/locations", controllers.CreateLocation)
  40. api.PUT("/locations/:id", controllers.UpdateLocation)
  41. api.DELETE("/locations/:id", controllers.DeleteLocation)
  42. // Dashboard & Control
  43. api.GET("/dashboard/stats", controllers.GetDashboardStats)
  44. api.POST("/control/:id", controllers.ControlDevice)
  45. // Alarms
  46. api.GET("/alarms", controllers.GetAlarms)
  47. api.POST("/alarms", controllers.CreateAlarm)
  48. api.PUT("/alarms/:id/ack", controllers.AcknowledgeAlarm)
  49. // Energy Analysis
  50. api.GET("/analysis/energy", controllers.GetEnergyAnalysis)
  51. // Inspections
  52. api.GET("/inspections", controllers.GetInspections)
  53. api.POST("/inspections", controllers.CreateInspection)
  54. // System & Settings
  55. sys := api.Group("/system")
  56. {
  57. // Roles
  58. sys.GET("/roles", controllers.GetRoles)
  59. sys.POST("/roles", controllers.CreateRole)
  60. sys.PUT("/roles/:id", controllers.UpdateRole)
  61. sys.DELETE("/roles/:id", controllers.DeleteRole)
  62. // Users
  63. sys.GET("/users", controllers.GetUsers)
  64. sys.POST("/users", controllers.CreateUser)
  65. sys.PUT("/users/:id", controllers.UpdateUser)
  66. sys.DELETE("/users/:id", controllers.DeleteUser)
  67. // User Profile (Self)
  68. sys.GET("/user/profile", controllers.GetProfile)
  69. sys.PUT("/user/profile/updatePwd", controllers.UpdateProfilePwd)
  70. // Configs
  71. sys.GET("/configs", controllers.GetAllConfigs)
  72. sys.GET("/config/:key", controllers.GetConfig)
  73. sys.POST("/config", controllers.UpdateConfig)
  74. }
  75. }
  76. }