This commit is contained in:
2024-12-25 11:59:33 +08:00
parent a5fa833937
commit 36dd01056e
35 changed files with 2328 additions and 244 deletions

View File

@@ -8,7 +8,6 @@ import (
request2 "qnc-server/model/request"
"qnc-server/model/response"
"qnc-server/service"
"strings"
)
type Feature struct {
@@ -34,44 +33,48 @@ func (f *Feature) OcrName(c *gin.Context) {
return
}
response.Ok(c)
return
// 调用 OCRService
ocrResult, err := featureService.OCRService(request.Base64)
if err != nil {
log.Printf("【OCR校验】请求错误%v", err)
response.FailWithMessage("系统错误,请稍后再试", c)
return
}
// 尝试解析为错误响应
var ocrError response.OcrErrorResponse
json.Unmarshal([]byte(ocrResult), &ocrError)
if ocrError.ErrorCode != 0 {
// 如果解析成功,且存在 error_code,则返回错误信息
response.FailWithMessage("检测签名错误,请重新签名", c)
return
}
// 尝试解析为成功响应
var ocrSuccess response.OcrSuccessResponse
err = json.Unmarshal([]byte(ocrResult), &ocrSuccess)
if err != nil {
// 如果解析失败,则返回解析错误
response.FailWithMessage("系统错误错误,请稍后再试", c)
return
}
// 判断 words_result_num 是否等于 1
if ocrSuccess.WordsResultNum != 1 {
response.FailWithMessage("检测签名错误,请重新签名", c)
return
}
// 判断 OCR 结果的第一个 words 是否与 name 匹配
if len(ocrSuccess.WordsResult) > 0 && strings.Contains(ocrSuccess.WordsResult[0].Words, request.Name) {
response.Ok(c)
} else {
response.FailWithMessage("签名不匹配,请输入签入正确的姓名", c)
return
}
//ocrResult, err := featureService.OCRService(request.Base64)
//if err != nil {
// log.Printf("【OCR校验】请求错误%v", err)
// response.FailWithMessage("系统错误,请稍后再试", c)
// return
//}
//log.Printf("OCR返回%v", ocrResult)
//// 尝试解析为错误响应
//var ocrError response.OcrErrorResponse
//json.Unmarshal([]byte(ocrResult), &ocrError)
//if ocrError.ErrorCode != 0 {
// // 如果解析成功,且存在 error_code则返回错误信息
// response.FailWithMessage("检测签名错误,请重新签名", c)
// return
//}
//
//// 尝试解析为成功响应
//var ocrSuccess response.OcrSuccessResponse
//err = json.Unmarshal([]byte(ocrResult), &ocrSuccess)
//if err != nil {
// // 如果解析失败,则返回解析错误
// response.FailWithMessage("系统错误错误,请稍后再试", c)
// return
//}
//
//// 判断 words_result_num 是否等于 1
//if ocrSuccess.WordsResultNum != 1 {
// response.FailWithMessage("检测签名错误,请重新签名", c)
// return
//}
//
//// 判断 OCR 结果的第一个 words 是否与 name 匹配
//if len(ocrSuccess.WordsResult) > 0 && strings.Contains(ocrSuccess.WordsResult[0].Words, request.Name) {
// response.Ok(c)
//} else {
// response.FailWithMessage("签名不匹配,签名要和查询人的名字一致", c)
// return
//}
}
func (f *Feature) VerifyElements(c *gin.Context) {