更新文案

This commit is contained in:
weichengwu 2025-11-26 23:41:52 +08:00
parent 379fcd1bfa
commit 86c430eedf
1 changed files with 28 additions and 14 deletions

View File

@ -53,7 +53,7 @@
</div>
<div class="text-xs text-[#7A5967] bg-[#FFF3F5] border border-[#FFE0E7] rounded-lg p-3 leading-relaxed">
身份证照片需清晰无遮挡保持文字方向正确以便快速校验
身份证照片需清晰无遮挡保持文字方向正确四角完整避免反光或模糊
</div>
<div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3">
@ -85,7 +85,7 @@
</div>
<div class="text-xs text-[#7A5967] bg-[#FFF3F5] border border-[#FFE0E7] rounded-lg p-3 leading-relaxed">
拍摄或上传时确保证件四角完整避免反光与模糊
身份证照片需清晰无遮挡保持文字方向正确四角完整避免反光或模糊
</div>
<div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3">
@ -203,7 +203,21 @@ const checkMatch = (parsed: IdCardOcrParseResponse['parsed'] | null, target: { n
return nameMatched && idMatched && genderMatched
}
const IMAGE_STATUS_TEXT: Record<IdCardOcrParseResponse['parsed']['image_status'], string> = {
normal: '识别正常',
reversed_side: '身份证正反面颠倒',
non_idcard: '上传的图片中不包含身份证',
blurred: '身份证模糊',
other_type_card: '其他类型证照',
over_exposure: '身份证关键字段反光或过曝',
over_dark: '身份证欠曝(亮度过低)',
unknown: '未知状态',
}
const isImageNormal = (parsed: IdCardOcrParseResponse['parsed'] | null) => parsed?.image_status === 'normal'
const husbandMatched = computed(() =>
isImageNormal(husbandIdParsed.value) &&
checkMatch(husbandIdParsed.value, {
name: marriageInfo.value?.husbandName,
id: marriageInfo.value?.husbandId,
@ -211,6 +225,7 @@ const husbandMatched = computed(() =>
})
)
const wifeMatched = computed(() =>
isImageNormal(wifeIdParsed.value) &&
checkMatch(wifeIdParsed.value, {
name: marriageInfo.value?.wifeName,
id: marriageInfo.value?.wifeId,
@ -218,26 +233,25 @@ const wifeMatched = computed(() =>
})
)
const husbandMatchedStatus = computed(() => {
if (!husbandIdParsed.value) return '待上传'
return husbandMatched.value ? '已匹配' : '信息不一致'
})
const resolveIdCardStatus = (parsed: IdCardOcrParseResponse['parsed'] | null, matched: boolean) => {
if (!parsed) return '待上传'
if (!isImageNormal(parsed)) return IMAGE_STATUS_TEXT[parsed.image_status] || '未知状态'
return matched ? '已匹配' : '信息不一致'
}
const wifeMatchedStatus = computed(() => {
if (!wifeIdParsed.value) return '待上传'
return wifeMatched.value ? '已匹配' : '信息不一致'
})
const husbandMatchedStatus = computed(() => resolveIdCardStatus(husbandIdParsed.value, husbandMatched.value))
const wifeMatchedStatus = computed(() => resolveIdCardStatus(wifeIdParsed.value, wifeMatched.value))
const statusPanelClass = (status: string) => {
if (status === '已匹配') return 'text-green-700 bg-green-50 border-green-200'
if (status === '信息不一致') return 'text-[#E8424D] bg-[#FFF3F5] border-[#FFD7DF]'
return 'text-gray-600 bg-gray-50 border-gray-200'
if (status === '待上传') return 'text-gray-600 bg-gray-50 border-gray-200'
return 'text-[#E8424D] bg-[#FFF3F5] border-[#FFD7DF]'
}
const statusDotClass = (status: string) => {
if (status === '已匹配') return 'bg-green-500 shadow-[0_0_0_4px_rgba(34,197,94,0.15)]'
if (status === '信息不一致') return 'bg-[#E8424D] shadow-[0_0_0_4px_rgba(232,66,77,0.15)]'
return 'bg-gray-400 shadow-[0_0_0_4px_rgba(156,163,175,0.15)]'
if (status === '待上传') return 'bg-gray-400 shadow-[0_0_0_4px_rgba(156,163,175,0.15)]'
return 'bg-[#E8424D] shadow-[0_0_0_4px_rgba(232,66,77,0.15)]'
}
const canSubmit = computed(() => husbandMatched.value && wifeMatched.value && !!marriageInfo.value && !!userInfo.value)