diff --git a/controller/auth/auth.go b/controller/auth/auth.go index 8832b06..65ffeb4 100644 --- a/controller/auth/auth.go +++ b/controller/auth/auth.go @@ -1 +1,20 @@ package auth + +import ( + "github.com/gofiber/fiber/v2" + "gofiber.study.skcks.cn/controller/types" +) + +type Controller struct { + *types.Controller +} + +func (c *Controller) GetRouter() fiber.Router { + return c.Router +} + +func NewController(app *fiber.App) *Controller { + return &Controller{ + Controller: types.NewController(app, "/auth"), + } +} diff --git a/controller/controller.go b/controller/controller.go index 2743c52..7573cc8 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -4,6 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/gofiber/swagger" "gofiber.study.skcks.cn/common/errorx" + "gofiber.study.skcks.cn/controller/auth" "gofiber.study.skcks.cn/controller/casbin" "gofiber.study.skcks.cn/controller/test" "gofiber.study.skcks.cn/controller/types" @@ -12,21 +13,23 @@ import ( ) func RegisterController(app *fiber.App) { - controllers := make([]types.ControllerInterface, 0) - controllers = append(controllers, user.NewController(app)) - controllers = append(controllers, casbin.NewController(app)) - controllers = append(controllers, test.NewController(app)) + controllers := []types.ControllerInterface{ + auth.NewController(app), + user.NewController(app), + casbin.NewController(app), + test.NewController(app), + } + args := make([]reflect.Value, 0) for _, controller := range controllers { - reflectRegisterRoute(controller) + reflectRegisterRoute(controller, args) } } -func reflectRegisterRoute(controller interface{}) { +func reflectRegisterRoute(controller interface{}, args []reflect.Value) { t := reflect.ValueOf(controller) for i := 0; i < t.NumMethod(); i++ { method := t.Method(i) - args := make([]reflect.Value, 0) method.Call(args) } }