package controllers import ( "git.rosy.net.cn/jx-print/globals" "git.rosy.net.cn/jx-print/model" "git.rosy.net.cn/jx-print/services" "git.rosy.net.cn/jx-print/utils" "github.com/gin-gonic/gin" "net/http" ) //刷新验证码 POST func RefreshCode(c *gin.Context) { utils.Captcha(c, 4) } type GetUsersParam struct { Name string `json:"name" uri:"name"` //用户名 UserID string `json:"user_id" uri:"user_id"` //用户名 Mobile string `json:"mobile" uri:"mobile"` //用户名 } //查询用户 GET func GetUsers(c *gin.Context) { var ( err error user = &GetUsersParam{} ) globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP()) if err = c.ShouldBindUri(&user); err != nil { c.JSON(http.StatusOK, &CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) return } if !callFunc(c, func() (retVal interface{}, errCode string, err error) { retVal, err = services.GetUsers(c, user.UserID, user.Name, user.Mobile) return retVal, "", err }) { return } return } type RegisterUserParam struct { Name string `json:"name" form:"name" binding:"required"` //用户名 Password string `json:"password" form:"password" binding:"required"` //密码,md5后的 Code string `json:"code" form:"code" binding:"required"` //验证码 } //注册 POST func RegisterUser(c *gin.Context) { var ( err error user = &RegisterUserParam{} ) globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP()) if err = c.Bind(&user); err != nil { c.JSON(http.StatusOK, &CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err) return } if !captchaVerify(c, user.Code) { c.JSON(http.StatusOK, &CallBack{ Code: model.ErrCodeNormal, Desc: "验证码错误!", }) globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err) return } if !callFunc(c, func() (retVal interface{}, errCode string, err error) { err = services.RegisterUser(c, user.Name, user.Password) return retVal, "", err }) { return } return } type LoginParam struct { Name string `json:"name" form:"name" binding:"required"` //用户名 Password string `json:"password" form:"password" binding:"required"` //密码,md5后的 Code string `json:"code" form:"code" binding:"required"` //验证码 } //登录 POST func Login(c *gin.Context) { var ( err error user = &LoginParam{} ) globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP()) if err = c.Bind(&user); err != nil { c.JSON(http.StatusOK, &CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err) return } if !captchaVerify(c, user.Code) { c.JSON(http.StatusOK, &CallBack{ Code: model.ErrCodeNormal, Desc: "验证码错误!", }) globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err) return } if !callFunc(c, func() (retVal interface{}, errCode string, err error) { retVal, err = services.Login(c, user.Name, user.Password, user.Code) return retVal, "", err }) { return } return }