add limit

This commit is contained in:
Mrx
2026-02-26 13:15:15 +08:00
parent bfbdf983b0
commit ad38f168e8
12 changed files with 175 additions and 19 deletions

View File

@@ -10,6 +10,7 @@ import (
"qnc-server/app/main/model"
"qnc-server/common/ctxdata"
"qnc-server/common/xerr"
"qnc-server/pkg/captcha"
"qnc-server/pkg/lzkit/crypto"
"qnc-server/pkg/lzkit/lzUtils"
"qnc-server/pkg/lzkit/validator"
@@ -66,6 +67,7 @@ func (l *QueryServiceLogic) PreprocessLogic(req *types.QueryServiceReq, product
}
return nil, errors.New("未找到相应的处理程序")
}
func (l *QueryServiceLogic) ProcessMarriageLogic(req *types.QueryServiceReq) (*types.QueryServiceResp, error) {
// AES解密
@@ -84,10 +86,9 @@ func (l *QueryServiceLogic) ProcessMarriageLogic(req *types.QueryServiceReq) (*t
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
}
// 校验验证码
verifyCodeErr := l.VerifyCode(data.Mobile, data.Code)
if verifyCodeErr != nil {
return nil, verifyCodeErr
// 校验拼图验证码
if err := l.VerifyCaptcha(data.CaptchaVerifyParam); err != nil {
return nil, err
}
// 校验三要素
@@ -832,3 +833,22 @@ func (l *QueryServiceLogic) InsertQueryUserRecord(params map[string]interface{},
return nil
}
// VerifyCaptcha 校验拼图验证码
func (l *QueryServiceLogic) VerifyCaptcha(captchaVerifyParam string) error {
// 开发环境跳过验证
if os.Getenv("ENV") == "development" {
return nil
}
cfg := l.svcCtx.Config.Captcha
if err := captcha.Verify(captcha.Config{
AccessKeyID: cfg.AccessKeyID,
AccessKeySecret: cfg.AccessKeySecret,
EndpointURL: cfg.EndpointURL,
SceneID: cfg.SceneID,
}, captchaVerifyParam); err != nil {
return errors.Wrapf(xerr.NewErrMsg("拼图验证码校验失败"), "captcha verify failed: %v", err)
}
return nil
}