护照识别完善英文护照
This commit is contained in:
parent
ffdcf88860
commit
09d5517f87
@ -122,19 +122,41 @@ public class OcrService : ITransient
|
||||
// Data是一个JSON字符串,包含识别结果
|
||||
var json = JObject.Parse(response.Body.Data);
|
||||
|
||||
// 解析护照信息字段
|
||||
// 解析护照信息字段(兼容中文护照和英文护照)
|
||||
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 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 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 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 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))
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user