package user import ( "github.com/gofiber/fiber/v2" "gofiber.study.skcks.cn/common/errorx" "gofiber.study.skcks.cn/common/response" "gofiber.study.skcks.cn/controller/types" "gofiber.study.skcks.cn/global" "gofiber.study.skcks.cn/middleware" "gofiber.study.skcks.cn/services/user" ) 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, "/user", middleware.CasbinMiddleWare), } } // GetByAccount 根据 账号 获取用户信息 // // @Summary 获取当前用户信息 // @Description 获取当前用户信息 // @Tags User // @Accept json // @Produce json // @Success 200 {object} response.Response{data=models.User} // @Failure default {object} errorx.CodeErrorResponse // @Router /user/account [get] // @Security Token func (c *Controller) GetByAccount() { c.Router.Get("/account", func(ctx *fiber.Ctx) error { token := ctx.GetReqHeaders()["Token"] claim, _ := global.ParseToken(token) account := claim.Account u, err := user.Services.GetUserByAccount(account) if err != nil { return ctx.JSON(errorx.NewDefaultError(err.Error())) } return ctx.JSON(response.NewResponse(u)) }) }