refactor:统一通过fetchNoIsbnBookData一次获取全部分类/作者/出版社,避免多次请求

This commit is contained in:
ShenQiLun 2026-07-02 15:49:47 +08:00
parent afd69c28c2
commit 36845e6657

View File

@ -1965,7 +1965,8 @@ export default {
this.noIsbnCategoryIndex = index
var item = this.noIsbnCategoryList[index]
this.noIsbnSelectedCategoryValue = item ? item.value : ''
//
// //() +
this.fetchNoIsbnBookData()
this.debouncedReSearch()
},
@ -3413,9 +3414,9 @@ export default {
if (texts.书名) this.noIsbnBookName = texts.书名
if (texts.作者) {
this.noIsbnAuthor = texts.作者
// OCR
// OCR//
this.$nextTick(function() {
this.fetchNoIsbnPressesByAuthor(this.noIsbnAuthor)
this.fetchNoIsbnBookData()
}.bind(this))
}
if (texts.出版社) this.noIsbnPublisher = texts.出版社
@ -3490,54 +3491,20 @@ export default {
selectNoIsbnAuthor(item) {
this.noIsbnAuthor = typeof item === 'string' ? item : (item.showName || '')
this.noIsbnAuthorDropdownVisible = false
// +
this.fetchNoIsbnPressesByAuthor(this.noIsbnAuthor)
// //() +
this.fetchNoIsbnBookData()
this.debouncedReSearch()
},
//
async fetchNoIsbnPressesByAuthor(author) {
var bookName = (this.noIsbnBookName || '').trim()
if (!bookName || !author) return
try {
var pressList = await searchPresses(bookName, {
phpsessid: this.kongfzToken || '',
author: author
})
if (pressList.length > 0) {
this.noIsbnPublisherOptions = pressList.slice(0, 20)
}
} catch (e) {
console.error('按作者获取出版社失败:', e)
}
},
// ISBN -
selectNoIsbnPublisher(item) {
this.noIsbnPublisher = typeof item === 'string' ? item : (item.showName || '')
this.noIsbnPublisherDropdownVisible = false
// +
this.fetchNoIsbnAuthorsByPublisher(this.noIsbnPublisher)
// //() +
this.fetchNoIsbnBookData()
this.debouncedReSearch()
},
//
async fetchNoIsbnAuthorsByPublisher(publisher) {
var bookName = (this.noIsbnBookName || '').trim()
if (!bookName || !publisher) return
try {
var authorList = await searchAuthors(bookName, {
phpsessid: this.kongfzToken || '',
publisher: publisher
})
if (authorList.length > 0) {
this.noIsbnAuthorOptions = authorList.map(function(item) { return item.showName }).slice(0, 20)
}
} catch (e) {
console.error('按出版社获取作者失败:', e)
}
},
// ISBN -
selectNoIsbnFormat(item) {
this.noIsbnFormat = item