package v1
|
|
type BaseApi struct{}
|
|
//
|
//// Captcha
|
//// @Tags Base
|
//// @Summary 获取验证码
|
//// @Produce application/json
|
//// @Success 200 {object} contextx.Response{data=response.LoginResponse} "成功"
|
//// @Router /api/base/captcha [post]
|
//func (slf *BaseApi) Captcha(c *gin.Context) {
|
// ctx, ok := contextx.NewContext(c, nil)
|
// if !ok {
|
// return
|
// }
|
//
|
// // 判断验证码是否开启
|
// openCaptcha := conf.Conf.Captcha.OpenCaptcha // 是否开启防爆次数
|
// openCaptchaTimeOut := conf.Conf.Captcha.OpenCaptchaTimeOut // 缓存超时时间
|
// key := c.ClientIP()
|
// v, ok := constvar.BlackCache.Get(key)
|
// if !ok {
|
// constvar.BlackCache.Set(key, 1, time.Second*time.Duration(openCaptchaTimeOut))
|
// }
|
//
|
// var oc bool
|
// if openCaptcha == 0 || convertx.InterfaceToInt(v) > openCaptcha { // 0 表示每次登录都需要验证码 或者当前次数已超过防爆次数
|
// oc = true
|
// }
|
// // 字符,公式,验证码配置
|
// // 生成默认数字的driver
|
// driver := base64Captcha.NewDriverDigit(conf.Conf.Captcha.ImgHeight, conf.Conf.Captcha.ImgWidth, conf.Conf.Captcha.KeyLong, 0.7, 80)
|
// cp := base64Captcha.NewCaptcha(driver, store)
|
// id, b64s, err := cp.Generate()
|
// captcha := store.Get(id, false)
|
// logx.Infof("Captcha Generate captchaId:%v captcha:%v", id, captcha)
|
// if err != nil {
|
// logx.Errorf("Captcha Generate err:%v", err)
|
// ctx.Fail(ecode.CaptchaGenerateFailed)
|
// return
|
// }
|
//
|
// ctx.OkWithDetailed(response.CaptchaResponse{
|
// CaptchaId: id,
|
// PicPath: b64s,
|
// CaptchaLength: conf.Conf.Captcha.KeyLong,
|
// OpenCaptcha: oc,
|
// })
|
//}
|