护照识别完善英文护照
This commit is contained in:
parent
ffdcf88860
commit
09d5517f87
@ -122,19 +122,41 @@ public class OcrService : ITransient
|
|||||||
// Data是一个JSON字符串,包含识别结果
|
// Data是一个JSON字符串,包含识别结果
|
||||||
var json = JObject.Parse(response.Body.Data);
|
var json = JObject.Parse(response.Body.Data);
|
||||||
|
|
||||||
// 解析护照信息字段
|
// 解析护照信息字段(兼容中文护照和英文护照)
|
||||||
var name = (string?)json.SelectToken("..data.name") ?? (string?)json.SelectToken("..name");
|
var name = (string?)json.SelectToken("..data.name") ?? (string?)json.SelectToken("..name");
|
||||||
|
var nameEn = (string?)json.SelectToken("..data.nameEn") ?? (string?)json.SelectToken("..nameEn");
|
||||||
|
var surname = (string?)json.SelectToken("..data.surname") ?? (string?)json.SelectToken("..surname");
|
||||||
|
var givenName = (string?)json.SelectToken("..data.givenName") ?? (string?)json.SelectToken("..givenName");
|
||||||
var passportNumber = (string?)json.SelectToken("..data.passportNumber") ?? (string?)json.SelectToken("..passportNumber");
|
var passportNumber = (string?)json.SelectToken("..data.passportNumber") ?? (string?)json.SelectToken("..passportNumber");
|
||||||
var nationality = (string?)json.SelectToken("..data.nationality") ?? (string?)json.SelectToken("..nationality");
|
var nationality = (string?)json.SelectToken("..data.nationality") ?? (string?)json.SelectToken("..nationality");
|
||||||
var gender = (string?)json.SelectToken("..data.sex") ?? (string?)json.SelectToken("..gender") ?? (string?)json.SelectToken("..sex");
|
var gender = (string?)json.SelectToken("..data.sex") ?? (string?)json.SelectToken("..gender") ?? (string?)json.SelectToken("..sex");
|
||||||
var birthDate = (string?)json.SelectToken("..data.birthDate") ?? (string?)json.SelectToken("..birthDate");
|
var birthDate = (string?)json.SelectToken("..data.birthDate") ?? (string?)json.SelectToken("..birthDate");
|
||||||
var issuingAuthority = (string?)json.SelectToken("..data.issuingAuthority") ?? (string?)json.SelectToken("..issuingAuthority");
|
|
||||||
var issueDate = (string?)json.SelectToken("..data.issueDate") ?? (string?)json.SelectToken("..issueDate");
|
|
||||||
var expiryDate = (string?)json.SelectToken("..data.expiryDate") ?? (string?)json.SelectToken("..expiryDate");
|
|
||||||
// 新增字段
|
|
||||||
var validToDate = (string?)json.SelectToken("..data.validToDate") ?? (string?)json.SelectToken("..validToDate");
|
|
||||||
var birthDateYmd = (string?)json.SelectToken("..data.birthDateYmd") ?? (string?)json.SelectToken("..birthDateYmd");
|
var birthDateYmd = (string?)json.SelectToken("..data.birthDateYmd") ?? (string?)json.SelectToken("..birthDateYmd");
|
||||||
|
var issuingAuthority = (string?)json.SelectToken("..data.issuingAuthority") ?? (string?)json.SelectToken("..issuingAuthority");
|
||||||
|
var issueAuthorityEn = (string?)json.SelectToken("..data.issueAuthorityEn") ?? (string?)json.SelectToken("..issueAuthorityEn");
|
||||||
|
var issueDate = (string?)json.SelectToken("..data.issueDate") ?? (string?)json.SelectToken("..issueDate");
|
||||||
var issueDateYmd = (string?)json.SelectToken("..data.issueDateYmd") ?? (string?)json.SelectToken("..issueDateYmd");
|
var issueDateYmd = (string?)json.SelectToken("..data.issueDateYmd") ?? (string?)json.SelectToken("..issueDateYmd");
|
||||||
|
var expiryDate = (string?)json.SelectToken("..data.expiryDate") ?? (string?)json.SelectToken("..expiryDate");
|
||||||
|
var validToDate = (string?)json.SelectToken("..data.validToDate") ?? (string?)json.SelectToken("..validToDate");
|
||||||
|
|
||||||
|
// 英文护照时 name 为空,用 nameEn 或 surname+givenName 填充
|
||||||
|
if (string.IsNullOrEmpty(name))
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(nameEn))
|
||||||
|
{
|
||||||
|
name = nameEn;
|
||||||
|
}
|
||||||
|
else if (!string.IsNullOrEmpty(surname) || !string.IsNullOrEmpty(givenName))
|
||||||
|
{
|
||||||
|
name = $"{surname} {givenName}".Trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 英文护照时 issuingAuthority 为空,用 issueAuthorityEn 填充
|
||||||
|
if (string.IsNullOrEmpty(issuingAuthority))
|
||||||
|
{
|
||||||
|
issuingAuthority = issueAuthorityEn;
|
||||||
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(passportNumber))
|
if (!string.IsNullOrEmpty(passportNumber))
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user