router.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package routers
  2. import (
  3. "eta/eta_mini_ht_api/controllers"
  4. "eta/eta_mini_ht_api/controllers/media"
  5. "eta/eta_mini_ht_api/controllers/order"
  6. "eta/eta_mini_ht_api/controllers/product"
  7. "eta/eta_mini_ht_api/controllers/report"
  8. "eta/eta_mini_ht_api/controllers/user"
  9. "eta/eta_mini_ht_api/controllers/web_hook"
  10. "eta/eta_mini_ht_api/middleware"
  11. "github.com/beego/beego/v2/server/web"
  12. "github.com/beego/beego/v2/server/web/filter/cors"
  13. "time"
  14. )
  15. func init() {
  16. web.InsertFilter("*", web.BeforeRouter, cors.Allow(&cors.Options{
  17. AllowAllOrigins: true, // 允许所有来源的请求
  18. AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
  19. AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
  20. ExposeHeaders: []string{"Content-Length"},
  21. AllowCredentials: true,
  22. MaxAge: 12 * time.Hour,
  23. }))
  24. //增加授权拦截
  25. web.InsertFilter("*", web.BeforeRouter, middleware.AuthMiddleware())
  26. web.InsertFilter("/htapi/webhook/*", web.BeforeRouter, middleware.WebHookAuthMiddleware())
  27. ns := web.NewNamespace("/htapi",
  28. web.NSNamespace("/user",
  29. web.NSInclude(
  30. &user.UserController{},
  31. ),
  32. ),
  33. web.NSNamespace("/auth",
  34. web.NSInclude(
  35. &user.AuthController{},
  36. ),
  37. ),
  38. web.NSNamespace("/report",
  39. web.NSInclude(
  40. &report.ReportController{},
  41. ),
  42. ),
  43. web.NSNamespace("/media",
  44. web.NSInclude(
  45. &media.MediaController{},
  46. ),
  47. ),
  48. web.NSNamespace("/analyst",
  49. web.NSInclude(
  50. &user.AnalystController{},
  51. ),
  52. ),
  53. web.NSNamespace("/webhook ",
  54. web.NSInclude(
  55. &web_hook.HTFuturesAccountController{},
  56. ),
  57. ),
  58. web.NSNamespace("/product",
  59. web.NSInclude(
  60. &product.ProductController{},
  61. ),
  62. ),
  63. web.NSNamespace("/order",
  64. web.NSInclude(
  65. &order.OrderController{},
  66. ),
  67. ),
  68. web.NSNamespace("/ws",
  69. web.NSInclude(
  70. &controllers.WebSocketController{},
  71. ),
  72. ),
  73. )
  74. web.AddNamespace(ns)
  75. }