router.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * @desc:后台路由
  3. * @company:云南奇讯科技有限公司
  4. * @Author: yixiaohu
  5. * @Date: 2022/2/18 17:34
  6. */
  7. package router
  8. import (
  9. "context"
  10. "github.com/gogf/gf/v2/net/ghttp"
  11. "github.com/tiger1103/gfast/v3/internal/app/system/controller"
  12. "github.com/tiger1103/gfast/v3/internal/app/system/service"
  13. "github.com/tiger1103/gfast/v3/library/libRouter"
  14. )
  15. var R = new(Router)
  16. type Router struct{}
  17. func (router *Router) BindController(ctx context.Context, group *ghttp.RouterGroup) {
  18. group.Group("/system", func(group *ghttp.RouterGroup) {
  19. group.Bind(
  20. //登录
  21. controller.Login,
  22. )
  23. //登录验证拦截
  24. service.GfToken().Middleware(group)
  25. //context拦截器
  26. group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
  27. //后台操作日志记录
  28. group.Hook("/*", ghttp.HookAfterOutput, service.OperateLog().OperationLog)
  29. group.Bind(
  30. controller.User,
  31. controller.Menu,
  32. controller.Role,
  33. controller.Dept,
  34. controller.Post,
  35. controller.DictType,
  36. controller.DictData,
  37. controller.Config,
  38. controller.Monitor,
  39. controller.LoginLog,
  40. controller.OperLog,
  41. controller.Personal,
  42. controller.UserOnline,
  43. controller.Cache, // 缓存处理
  44. )
  45. //自动绑定定义的控制器
  46. if err := libRouter.RouterAutoBind(ctx, router, group); err != nil {
  47. panic(err)
  48. }
  49. })
  50. }