Browse Source

新书推荐 图书详情

master
x_ying 2 years ago
parent
commit
df34c2a794
  1. 12
      src/api/bookshelf.js
  2. 10
      src/views/module/bookDetails.vue
  3. 26
      src/views/module/bookList.vue

12
src/api/bookshelf.js

@ -29,8 +29,18 @@ export function FetchCoverByISBN(params) {
}) })
} }
// 图书详情
export function getBookDetailsByISBN(params) {
return request({
url: '/dxhtsg/getBookDetailsByISBN',
method: 'get',
params: params
})
}
export default { export default {
FetchNewBookRecommend, FetchNewBookRecommend,
FetchCoverByISBN, FetchCoverByISBN,
initNumberResoures
initNumberResoures,
getBookDetailsByISBN
} }

10
src/views/module/bookDetails.vue

@ -10,13 +10,13 @@
<div class="book-details-box"> <div class="book-details-box">
<div class="book-details"> <div class="book-details">
<div class="book-cover"> <div class="book-cover">
<img :src="bookData.cover ? bookData.cover : ''" :onerror="defaultImg">
<img :src="bookData.srcUrl ? bookData.srcUrl : ''" :onerror="defaultImg">
</div> </div>
<div class="book-desc"> <div class="book-desc">
<h3>{{ bookData.nbName }}</h3>
<p class="book-from">作者{{ bookData.nbAuthor }}</p>
<p class="book-from">出版社{{ bookData.nbPublisher }}</p>
<p class="book-brief"> 简介{{ bookData.nbExplain }}</p>
<h3>{{ bookData.bookName }}</h3>
<p class="book-from">作者{{ bookData.bookAuthor }}</p>
<p v-if="bookData.Publish" class="book-from">出版社{{ bookData.Publish }}</p>
<p class="book-brief"> 简介{{ bookData.gist }}</p>
</div> </div>
</div> </div>
<div class="book-local"> <div class="book-local">

26
src/views/module/bookList.vue

@ -14,7 +14,7 @@
</div> </div>
</div> </div>
<ul class="hotbook-list"> <ul class="hotbook-list">
<li v-for="(item,index) in bookList" :key="index" @click="handleDetails(index)">
<li v-for="(item,index) in bookList" :key="index" @click="handleDetails(index+1)">
<img :src="item.cover ? item.cover : ''" :onerror="defaultImg"> <img :src="item.cover ? item.cover : ''" :onerror="defaultImg">
<p class="book-name">{{ item.nbName }}</p> <p class="book-name">{{ item.nbName }}</p>
</li> </li>
@ -25,6 +25,7 @@
<script> <script>
import BookDetails from './bookDetails.vue' import BookDetails from './bookDetails.vue'
import { getBookDetailsByISBN, FetchCoverByISBN } from '@/api/bookshelf'
export default { export default {
name: 'BookList', name: 'BookList',
components: { BookDetails }, components: { BookDetails },
@ -49,9 +50,26 @@ export default {
}, },
methods: { methods: {
handleDetails(index) { handleDetails(index) {
this.$refs.detailDom.bookData = this.bookdata[index]
this.$refs.detailDom.dialogVisible = true
console.log(this.bookdata[0])
console.log(this.bookdata[index])
const params = {
isbn: this.bookdata[index].isbn.replace(/\-/g, '')
}
console.log(params)
getBookDetailsByISBN(params).then(res => {
console.log(res, '详情')
this.$refs.detailDom.bookData = res
this.$refs.detailDom.dialogVisible = true
})
},
getCoverByISBN(isbn, item) {
const params = {
isbn: isbn
}
FetchCoverByISBN(params).then((res) => {
item.cover = window.URL.createObjectURL(res)
console.log(res, 'res')
this.bookData.push(item)
})
} }
} }

Loading…
Cancel
Save