base_router.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package routers
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/backend/controllers/base"
  4. v1 "github.com/allanpk716/ChineseSubFinder/internal/backend/controllers/v1"
  5. "github.com/allanpk716/ChineseSubFinder/internal/backend/middle"
  6. "github.com/allanpk716/ChineseSubFinder/internal/logic/cron_helper"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func InitRouter(router *gin.Engine, cronHelper *cron_helper.CronHelper) {
  10. cbBase := base.NewControllerBase()
  11. cbV1 := v1.NewControllerBase(cronHelper)
  12. // 基础的路由
  13. router.GET("/system-status", cbBase.SystemStatusHandler)
  14. router.POST("/setup", cbBase.SetupHandler)
  15. router.POST("/login", cbBase.LoginHandler)
  16. router.POST("/logout", middle.CheckAuth(), cbBase.LogoutHandler)
  17. router.POST("/change-pwd", middle.CheckAuth(), cbBase.ChangePwdHandler)
  18. router.POST("/check-path", middle.CheckAuth(), cbBase.CheckPathHandler)
  19. router.POST("/check-proxy", middle.CheckAuth(), cbBase.CheckProxyHandler)
  20. router.GET("/def-settings", cbBase.DefSettingsHandler)
  21. // v1路由: /v1/xxx
  22. GroupV1 := router.Group("/" + cbV1.GetVersion())
  23. {
  24. GroupV1.Use(middle.CheckAuth())
  25. GroupV1.GET("/settings", cbV1.SettingsHandler)
  26. GroupV1.PUT("/settings", cbV1.SettingsHandler)
  27. GroupV1.POST("/jobs/start", cbV1.JobStartHandler)
  28. GroupV1.POST("/jobs/stop", cbV1.JobStopHandler)
  29. GroupV1.GET("/jobs/status", cbV1.JobStatusHandler)
  30. }
  31. }