api.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package router
  2. import (
  3. _ "Gwen/docs/api"
  4. "Gwen/global"
  5. "Gwen/http/controller/api"
  6. "Gwen/http/middleware"
  7. "github.com/gin-gonic/gin"
  8. swaggerFiles "github.com/swaggo/files"
  9. ginSwagger "github.com/swaggo/gin-swagger"
  10. "net/http"
  11. )
  12. func ApiInit(g *gin.Engine) {
  13. //g.Use(middleware.Cors())
  14. //swagger
  15. g.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.InstanceName("api")))
  16. frg := g.Group("/api")
  17. //frg.Use(middleware.Cors())
  18. frg.OPTIONS("/*any", nil)
  19. i := &api.Index{}
  20. frg.GET("/", i.Index)
  21. frg.POST("/heartbeat", i.Heartbeat)
  22. {
  23. l := &api.Login{}
  24. // 如果返回oidc则可以通过oidc登录
  25. frg.GET("/login-options", l.LoginOptions)
  26. frg.POST("/login", l.Login)
  27. }
  28. {
  29. o := &api.Oauth{}
  30. // [method:POST] [uri:/api/oidc/auth]
  31. frg.POST("/oidc/auth", o.OidcAuth)
  32. // [method:GET] [uri:/api/oidc/auth-query?code=abc&id=xxxxx&uuid=xxxxx]
  33. frg.GET("/oidc/auth-query", o.OidcAuthQuery)
  34. //api/oauth/callback
  35. frg.GET("/oauth/callback", o.OauthCallback)
  36. frg.GET("/oauth/login", o.OauthCallback)
  37. }
  38. {
  39. pe := &api.Peer{}
  40. //提交系统信息
  41. frg.POST("/sysinfo", pe.SysInfo)
  42. }
  43. frg.Use(middleware.RustAuth())
  44. {
  45. w := &api.WebClient{}
  46. frg.POST("/server-config", w.ServerConfig)
  47. }
  48. {
  49. u := &api.User{}
  50. frg.GET("/user/info", u.Info)
  51. frg.POST("/currentUser", u.Info)
  52. }
  53. {
  54. l := &api.Login{}
  55. frg.POST("/logout", l.Logout)
  56. }
  57. {
  58. gr := &api.Group{}
  59. frg.GET("/users", gr.Users)
  60. frg.GET("/peers", gr.Peers)
  61. }
  62. {
  63. ab := &api.Ab{}
  64. //获取地址
  65. frg.GET("/ab", ab.Ab)
  66. //更新地址
  67. frg.POST("/ab", ab.UpAb)
  68. }
  69. //访问静态文件
  70. g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/public/upload"))
  71. }