fix:OCR识别支持多种ISBN/书号字段名(ISBN/isbn/isbn13/条码/书号/统一书号)

This commit is contained in:
97694732@qq.com 2026-06-23 17:11:05 +08:00
parent 4c9d0bae02
commit 46450acdd9

View File

@ -3126,6 +3126,7 @@ export default {
uni.hideLoading()
try {
const ocrData = JSON.parse(res.data)
console.log('【OCR】原始返回:', JSON.stringify(ocrData))
if (ocrData && ocrData.texts) {
const texts = ocrData.texts
//
@ -3140,12 +3141,16 @@ export default {
const fmt = String(texts.开本).replace('开', '').trim()
this.noIsbnFormat = this.noIsbnFormatOptions.includes(fmt) ? fmt : fmt + '开'
}
if (texts.ISBN && /^\d/.test(texts.ISBN)) {
this.noIsbnIsbn = texts.ISBN
// ISBNOCR
var isbnText = texts.ISBN || texts.isbn || texts.isbn13 || texts.barcode || texts.条码 || ''
if (isbnText && /^\d/.test(isbnText)) {
this.noIsbnIsbn = isbnText
this.noIsbnUnifyIsbn = ''
}
if (texts.书号) {
const bookCode = texts.书号.replace(/\D/g, '')
// OCR
var bookCodeText = texts.书号 || texts.统一书号 || texts.bookcode || texts.unified_code || ''
if (bookCodeText) {
const bookCode = bookCodeText.replace(/\D/g, '')
if (bookCode.length === 13) {
this.noIsbnIsbn = bookCode
} else if (bookCode.length === 10 && /^\d{9}[\dXx]$/i.test(bookCode)) {
@ -3153,7 +3158,7 @@ export default {
} else {
this.noIsbnIsbn = '678' + String(Date.now()).slice(-10)
}
this.noIsbnUnifyIsbn = texts.书号
this.noIsbnUnifyIsbn = bookCodeText
}
if (texts.字数) this.noIsbnWordCount = this.processNoIsbnWordage(texts.字数)