package controller import ( "github.com/gin-gonic/gin" "knowledge/api/requests" "knowledge/api/responses" "knowledge/api/service" "knowledge/config" "knowledge/global" "knowledge/utils" ) type AdminUser struct{} func (r *AdminUser) Login(c *gin.Context) { adminUserRequest := requests.AdminUserRequest{} req := adminUserRequest.Login if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 验证验证码 if config.C.Env == "prod" { isValid := utils.VerifyCaptcha(req.CaptchaId, req.Captcha) if !isValid { // 验证码错误 responses.FailWithMessage("验证码错误", c) return } } // 登陆 adminUserService := service.AdminUserService{} token, err := adminUserService.Login(req) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(token, c) }