mirror of
https://gitee.com/shikong-sk/gofiber-study
synced 2025-02-25 00:02:17 +08:00
71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
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/services/user"
|
|
)
|
|
|
|
type Controller struct {
|
|
*types.Controller
|
|
}
|
|
|
|
func NewUserController(app *fiber.App) *Controller {
|
|
controller := Controller{
|
|
Controller: types.NewController(app, "/user"),
|
|
}
|
|
|
|
//t := reflect.TypeOf(&controller)
|
|
//for i := 0; i < t.NumMethod(); i++ {
|
|
// method := t.Method(i)
|
|
// args := make([]reflect.Value, 0)
|
|
// args = append(args, reflect.ValueOf(&controller))
|
|
// method.Func.Call(args)
|
|
//}
|
|
return &controller
|
|
}
|
|
|
|
func (c *Controller) GetByAccount() {
|
|
c.Group.Get("/account", func(ctx *fiber.Ctx) error {
|
|
account := ctx.Query("account")
|
|
|
|
u, err := user.GetUserByAccount(account)
|
|
if err != nil {
|
|
return ctx.JSON(errorx.NewDefaultError(err.Error()))
|
|
}
|
|
|
|
return ctx.JSON(response.NewResponse(u))
|
|
})
|
|
}
|
|
|
|
func RegisterController(app *fiber.App) {
|
|
NewUserController(app)
|
|
//group := app.Group("/user")
|
|
//group.Add(fiber.MethodGet, "/account", getByAccount)
|
|
}
|
|
|
|
// getByAccount 根据 账号 获取用户信息
|
|
//
|
|
// @Summary 根据 账号 获取用户信息
|
|
// @Description 根据 账号 获取用户信息
|
|
// @Tags User
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param account query string true "账号名称"
|
|
// @Success 200 {object} response.Response{data=models.User}
|
|
// @Failure default {object} errorx.CodeErrorResponse
|
|
// @Router /user/account [get]
|
|
// @Security Token
|
|
func getByAccount(ctx *fiber.Ctx) error {
|
|
account := ctx.Query("account")
|
|
|
|
u, err := user.GetUserByAccount(account)
|
|
if err != nil {
|
|
return ctx.JSON(errorx.NewDefaultError(err.Error()))
|
|
}
|
|
|
|
return ctx.JSON(response.NewResponse(u))
|
|
}
|