增加铁路OCR金额字段安全诊断(07-28-travel-reimbursement-guide)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-07-29 15:07:58 +08:00
父节点 26562255a0
当前提交 5f2788ccac
共修改 7 个文件,包含 179 行新增和 1 行删除
+20
查看文件
@@ -73,6 +73,20 @@ function toNumberString(value) {
return num.toFixed(2);
}
function buildNumericFieldDiagnostics(value) {
const present = value != null;
const isString = typeof value === "string";
const isNumber = typeof value === "number" && Number.isFinite(value);
return {
present,
isString,
isNumber,
nonEmpty: isString ? value.trim().length > 0 : isNumber,
parseable: toNumberString(value) != null,
};
}
function addNumberStrings(...values) {
const normalized = values.map((value) => toNumberString(value));
if (normalized.some((value) => value == null)) {
@@ -221,6 +235,12 @@ function normalizeElectronicTrainTicket(info) {
taxAmount,
totalAmount,
buyerName: normalizeString(info?.Buyer),
diagnostics: {
trainAmountFields: {
total: buildNumericFieldDiagnostics(info?.Total),
fare: buildNumericFieldDiagnostics(info?.Fare),
},
},
};
}