|
|
@@ -4,7 +4,12 @@
|
|
|
<template>
|
|
|
<div class="page-container">
|
|
|
<search-input-bar onsearch="search" is-click="{{ true }}"></search-input-bar>
|
|
|
-
|
|
|
+ <!-- <book-list
|
|
|
+ list="{{library.list}}"
|
|
|
+ show-load="{{library.load}}"
|
|
|
+ onload-more="queryLibraryList"
|
|
|
+ rank-list="{{rankList}}"
|
|
|
+ > -->
|
|
|
<book-list
|
|
|
list="{{library.list}}"
|
|
|
show-load="{{library.load}}"
|
|
|
@@ -12,13 +17,21 @@
|
|
|
rank-list="{{rankList}}"
|
|
|
>
|
|
|
<div class="sub-container">
|
|
|
- <swiper autoplay="true" class="swiper">
|
|
|
+ <!-- <swiper autoplay="true" class="swiper">
|
|
|
<image
|
|
|
class="swiper-image"
|
|
|
src="{{$item.swiper}}"
|
|
|
for="swiperList"
|
|
|
onclick="goToDetail($item)"
|
|
|
></image>
|
|
|
+ </swiper> -->
|
|
|
+ <swiper autoplay="true" class="swiper">
|
|
|
+ <image
|
|
|
+ class="swiper-image"
|
|
|
+ src="{{$item.novelImg}}"
|
|
|
+ for="bannerList"
|
|
|
+ onclick="goToDetail($item)"
|
|
|
+ ></image>
|
|
|
</swiper>
|
|
|
</div>
|
|
|
</book-list>
|
|
|
@@ -35,13 +48,16 @@ export default {
|
|
|
library: {
|
|
|
list: [],
|
|
|
pageNo: 1,
|
|
|
- pageSize: 5,
|
|
|
+ pageSize: 10,
|
|
|
total: null,
|
|
|
load: true,
|
|
|
},
|
|
|
swiperList: bookListData,
|
|
|
- rankList: bookListData.slice(0, 3),
|
|
|
- content: '' // 存储文本内容
|
|
|
+ rankList: [],//bookListData.slice(0, 3),
|
|
|
+ content: '', // 存储文本内容
|
|
|
+ bannerList:[],
|
|
|
+ hotList:[], // 热门图书
|
|
|
+ bookList:[],// 图书列表
|
|
|
},
|
|
|
search(info) {
|
|
|
let searchText = info.detail
|
|
|
@@ -51,44 +67,19 @@ export default {
|
|
|
// $utils.route2theUrl('pages/search', { initValue: text })
|
|
|
$utils.route2theUrl('pages/search-book', { initValue: text })
|
|
|
},
|
|
|
- onInit() {
|
|
|
+ async onInit() {
|
|
|
this.queryLibraryList(1)
|
|
|
- // this.getTxtContent('https://ytnovels.oss-cn-shanghai.aliyuncs.com/novels/2025/01945026620890304513-1752828963340.txt')
|
|
|
- },
|
|
|
- // 解析TXT文件的主方法
|
|
|
- getTxtContent(url) {
|
|
|
- console.log('url',url)
|
|
|
- fetch.fetch({
|
|
|
- url: url,
|
|
|
- responseType: 'arraybuffer', // 关键!用于处理二进制数据
|
|
|
- success: (res) => {
|
|
|
- if (res.code === 200) {
|
|
|
- // 处理文本编码
|
|
|
- const text = this.decodeData(res.data);
|
|
|
- console.log('text',text)
|
|
|
- this.content = text;
|
|
|
- } else {
|
|
|
- console.error('请求失败:', res.code);
|
|
|
- }
|
|
|
- },
|
|
|
- fail: (err) => {
|
|
|
- console.error('网络请求失败:', err);
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 处理文本编码(支持UTF-8/GBK)
|
|
|
- decodeData(arrayBuffer) {
|
|
|
- try {
|
|
|
- // 尝试UTF-8解码
|
|
|
- return decodeURIComponent(escape(
|
|
|
- String.fromCharCode.apply(null, new Uint8Array(arrayBuffer))
|
|
|
- ));
|
|
|
- } catch (e) {
|
|
|
- // UTF-8失败时尝试GBK(需要第三方库)
|
|
|
- // const gbk = require('gbk.js'); // 需自行引入GBK库
|
|
|
- // return gbk.decode(new Uint8Array(arrayBuffer));
|
|
|
- return ''
|
|
|
- }
|
|
|
+ const res = await $apis.common.novelBanner({bannerType: 1, pageNum: 1,pageSize: 10})
|
|
|
+ this.bannerList = res.data.result.list
|
|
|
+ const res1 = await $apis.common.novelModulePage({moduleType: 1, pageNum: 1,pageSize: 10,statu:1})
|
|
|
+ // this.hotList = res1.data.result.list
|
|
|
+ this.rankList = res1.data.result.list.slice(0, 3)
|
|
|
+ const res2 = await $apis.common.novelPage({bannerType: 1, pageNum: 1,pageSize: 10})
|
|
|
+ this.library.list = res2.data.result.list
|
|
|
+ this.library.total = res2.data.result.total
|
|
|
+ this.library.pageSize = res2.data.result.pageSize
|
|
|
+ console.log('url',this.bookList )
|
|
|
+ console.log('urhotListl',this.rankList )
|
|
|
},
|
|
|
/* -------------------SelfCustomEvent------------------ */
|
|
|
queryLibraryList(pageNo) {
|
|
|
@@ -104,20 +95,23 @@ export default {
|
|
|
}
|
|
|
this.queryFn()
|
|
|
},
|
|
|
- queryFn() {
|
|
|
+ async queryFn() {
|
|
|
/*
|
|
|
开发时,根据pageNo和pageSize查询列表
|
|
|
返回total和对应pageNo的list
|
|
|
*/
|
|
|
- this.library.total = 5
|
|
|
+ console.log('queryFn',this.library)
|
|
|
+ // this.library.total = 5
|
|
|
// 模拟查询
|
|
|
let total = this.library.pageNo * this.library.pageSize
|
|
|
let end = this.library.total < total ? this.library.total : total
|
|
|
let start = total - this.library.pageSize
|
|
|
- let concatList = bookListData.slice(start, end)
|
|
|
+ const res = await $apis.common.novelPage({bannerType: 1, pageNum: this.library.pageNo,pageSize: 10}) //bookListData.slice(start, end)
|
|
|
+ let concatList = res.data.result.list
|
|
|
// 更新列表
|
|
|
this.library.list = this.library.list.concat(concatList)
|
|
|
this.library.pageNo++
|
|
|
+ console.log('3333-----',total,end,start,concatList)
|
|
|
},
|
|
|
goToDetail(item) {
|
|
|
console.log(item)
|