api.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. pe := &api.Peer{}
  30. //提交系统信息
  31. frg.POST("/sysinfo", pe.SysInfo)
  32. }
  33. frg.Use(middleware.RustAuth())
  34. {
  35. w := &api.WebClient{}
  36. frg.POST("/server-config", w.ServerConfig)
  37. }
  38. {
  39. u := &api.User{}
  40. frg.GET("/user/info", u.Info)
  41. frg.POST("/currentUser", u.Info)
  42. }
  43. {
  44. l := &api.Login{}
  45. frg.POST("/logout", l.Logout)
  46. }
  47. {
  48. gr := &api.Group{}
  49. frg.GET("/users", gr.Users)
  50. frg.GET("/peers", gr.Peers)
  51. }
  52. {
  53. ab := &api.Ab{}
  54. //获取地址
  55. frg.GET("/ab", ab.Ab)
  56. //更新地址
  57. frg.POST("/ab", ab.UpAb)
  58. }
  59. //访问静态文件
  60. g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/public/upload"))
  61. }