This commit is contained in:
Mrx
2026-03-01 18:03:52 +08:00
parent 60aac5ac94
commit 5fa8d76f44
2 changed files with 25 additions and 8 deletions

View File

@@ -12,6 +12,7 @@ import (
"xingfucha-server/app/main/model"
"xingfucha-server/common/ctxdata"
"xingfucha-server/common/xerr"
"xingfucha-server/pkg/captcha"
"xingfucha-server/pkg/lzkit/crypto"
"xingfucha-server/pkg/lzkit/validator"
@@ -84,10 +85,12 @@ 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
// 校验拼图验证码marriage 产品使用拼图验证不使用短信验证码captcha_verify_param 为必传)
if data.CaptchaVerifyParam == "" {
return nil, errors.Wrapf(xerr.NewErrMsg("请完成拼图验证"), "marriage 查询缺少拼图验证参数")
}
if err := l.VerifyCaptcha(data.CaptchaVerifyParam); err != nil {
return nil, err
}
// 校验三要素
@@ -586,6 +589,20 @@ func (l *QueryServiceLogic) VerifyCode(mobile string, code string) error {
return nil
}
// 校验拼图验证码
func (l *QueryServiceLogic) VerifyCaptcha(captchaVerifyParam string) error {
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 err
}
return nil
}
// 二、三要素验证
func (l *QueryServiceLogic) Verify(Name string, IDCard string, Mobile string) error {
// 开发环境下跳过二/三要素验证避免未授权IP调用天元API失败

View File

@@ -4,7 +4,7 @@ type MarriageReq struct {
Name string `json:"name" validate:"required,name"`
IDCard string `json:"id_card" validate:"required,idCard"`
Mobile string `json:"mobile" validate:"required,mobile"`
Code string `json:"code" validate:"required"`
CaptchaVerifyParam string `json:"captcha_verify_param"`
}
type HomeServiceReq struct {
Name string `json:"name" validate:"required,name"`