peilaus alkaen
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-06-12 13:19:31 +08:00
fix: 修复文章归档
This commit is contained in:
@@ -21,14 +21,14 @@
|
|||||||
<tm-skeleton model="listAvatr"></tm-skeleton>
|
<tm-skeleton model="listAvatr"></tm-skeleton>
|
||||||
</view>
|
</view>
|
||||||
<block v-else>
|
<block v-else>
|
||||||
<view class="bg-white pb-24">
|
<view v-if="!haloConfigs.basicConfig.auditModeEnabled" class="bg-white pb-24">
|
||||||
<view class="banner bg-white ml-24 mr-24 mt-12 round-3" v-if="bannerList.length != 0">
|
<view class="banner bg-white ml-24 mr-24 mt-12 round-3" v-if="bannerList.length != 0">
|
||||||
<e-swiper :dotPosition="globalAppSettings.banner.dotPosition" :autoplay="true"
|
<e-swiper :dotPosition="globalAppSettings.banner.dotPosition" :autoplay="true"
|
||||||
:useDot="globalAppSettings.banner.useDot" :list="bannerList"
|
:useDot="globalAppSettings.banner.useDot" :list="bannerList"
|
||||||
@on-click="fnOnBannerClick"></e-swiper>
|
@on-click="fnOnBannerClick"></e-swiper>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex flex-between mt-16 mb-24 pl-24 pr-24">
|
<view v-if="!haloConfigs.basicConfig.auditModeEnabled" class="flex flex-between mt-16 mb-24 pl-24 pr-24">
|
||||||
<view class="page-item_title text-weight-b ">精品分类</view>
|
<view class="page-item_title text-weight-b ">精品分类</view>
|
||||||
<view class="show-more flex flex-center bg-white round-3" @click="fnToCategoryPage">
|
<view class="show-more flex flex-center bg-white round-3" @click="fnToCategoryPage">
|
||||||
<text class="iconfont icon-angle-right text-size-s text-grey-darken-1"></text>
|
<text class="iconfont icon-angle-right text-size-s text-grey-darken-1"></text>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<text class="iconfont icon-angle-right text-size-s "></text>
|
<text class="iconfont icon-angle-right text-size-s "></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<scroll-view class="category" scroll-x="true">
|
<scroll-view v-if="!haloConfigs.basicConfig.auditModeEnabled" class="category" scroll-x="true">
|
||||||
<view v-if="categoryList.length == 0" class="cate-empty round-3 mr-5 flex flex-center text-grey">
|
<view v-if="categoryList.length == 0" class="cate-empty round-3 mr-5 flex flex-center text-grey">
|
||||||
还没有任何分类~
|
还没有任何分类~
|
||||||
</view>
|
</view>
|
||||||
@@ -194,9 +194,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取轮播图
|
// 获取轮播图
|
||||||
fnGetBanner() {
|
fnGetBanner() {
|
||||||
if (this.haloConfigs.basicConfig.auditModeEnabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const _format = function (list) {
|
const _format = function (list) {
|
||||||
return list.map((item, index) => {
|
return list.map((item, index) => {
|
||||||
@@ -245,9 +243,6 @@ export default {
|
|||||||
},
|
},
|
||||||
// 文章列表
|
// 文章列表
|
||||||
fnGetArticleList() {
|
fnGetArticleList() {
|
||||||
if (this.haloConfigs.basicConfig.auditModeEnabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 设置状态为加载中
|
// 设置状态为加载中
|
||||||
if (!this.isLoadMore) {
|
if (!this.isLoadMore) {
|
||||||
this.loading = 'loading';
|
this.loading = 'loading';
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
</view>
|
</view>
|
||||||
<block v-if="item.posts.length != 0">
|
<block v-if="item.posts.length != 0">
|
||||||
<block v-for="(post, postIndex) in item.posts" :key="post.metadata.name">
|
<block v-for="(post, postIndex) in item.posts" :key="post.metadata.name">
|
||||||
<tm-translate animation-name="fadeUp" :wait="calcAniWait(postIndex)">
|
|
||||||
<view class="flex post shadow-3 pa-24 mb-24"
|
<view class="flex post shadow-3 pa-24 mb-24"
|
||||||
:class="[globalAppSettings.layout.cardType]"
|
:class="[globalAppSettings.layout.cardType]"
|
||||||
@click="fnToArticleDetail(post)">
|
@click="fnToArticleDetail(post)">
|
||||||
@@ -62,7 +61,6 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</tm-translate>
|
|
||||||
</block>
|
</block>
|
||||||
</block>
|
</block>
|
||||||
<view v-else class="post-empty text-size-m text-grey-darken-1">该日期下暂无归档文章!</view>
|
<view v-else class="post-empty text-size-m text-grey-darken-1">该日期下暂无归档文章!</view>
|
||||||
@@ -146,6 +144,7 @@
|
|||||||
this.fnResetSetAniWaitIndex();
|
this.fnResetSetAniWaitIndex();
|
||||||
this.queryParams.page = 0;
|
this.queryParams.page = 0;
|
||||||
this.dataList = this.handleGetShowDataList(this.handleGetPosts(this.cacheDataList))
|
this.dataList = this.handleGetShowDataList(this.handleGetPosts(this.cacheDataList))
|
||||||
|
this.fnToTopPage();
|
||||||
},
|
},
|
||||||
fnGetData() {
|
fnGetData() {
|
||||||
if (this.isLoadMore) {
|
if (this.isLoadMore) {
|
||||||
@@ -154,9 +153,8 @@
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.loading = 'loading';
|
this.loading = 'loading';
|
||||||
this.loadMoreText = "加载中...";
|
|
||||||
}
|
}
|
||||||
|
this.loadMoreText = "加载中...";
|
||||||
const paramsStr = qs.stringify(this.queryParams, {
|
const paramsStr = qs.stringify(this.queryParams, {
|
||||||
allowDots: true,
|
allowDots: true,
|
||||||
encodeValuesOnly: true,
|
encodeValuesOnly: true,
|
||||||
@@ -173,7 +171,10 @@
|
|||||||
const posts = this.handleGetPosts(data.items)
|
const posts = this.handleGetPosts(data.items)
|
||||||
const showDataList = this.handleGetShowDataList(posts)
|
const showDataList = this.handleGetShowDataList(posts)
|
||||||
if (this.isLoadMore) {
|
if (this.isLoadMore) {
|
||||||
this.cacheDataList = this.cacheDataList.concat(data.items);
|
this.cacheDataList = this.handleUniqueCacheDatalist([...this.cacheDataList, ...
|
||||||
|
data
|
||||||
|
.items
|
||||||
|
]);
|
||||||
this.handleMergeDataList2(showDataList)
|
this.handleMergeDataList2(showDataList)
|
||||||
} else {
|
} else {
|
||||||
this.dataList = []
|
this.dataList = []
|
||||||
@@ -185,6 +186,7 @@
|
|||||||
this.loadMoreText = data.hasNext ? '上拉加载更多' : '呜呜,没有更多数据啦~';
|
this.loadMoreText = data.hasNext ? '上拉加载更多' : '呜呜,没有更多数据啦~';
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
uni.stopPullDownRefresh();
|
uni.stopPullDownRefresh();
|
||||||
|
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
this.loading = 'error';
|
this.loading = 'error';
|
||||||
@@ -237,11 +239,11 @@
|
|||||||
}
|
}
|
||||||
dataListResult.push(postData)
|
dataListResult.push(postData)
|
||||||
})
|
})
|
||||||
if (this.tab.activeIndex == 1) {
|
|
||||||
dataListResult.sort((a, b) => {
|
dataListResult.sort((a, b) => {
|
||||||
return Number(b.year) - Number(a.year)
|
return Number(b.sort) - Number(a.sort)
|
||||||
})
|
})
|
||||||
}
|
|
||||||
return dataListResult;
|
return dataListResult;
|
||||||
},
|
},
|
||||||
handleMergeDataList(list1, list2) {
|
handleMergeDataList(list1, list2) {
|
||||||
@@ -270,22 +272,31 @@
|
|||||||
return Object.values(merged);
|
return Object.values(merged);
|
||||||
},
|
},
|
||||||
handleMergeDataList2(list) {
|
handleMergeDataList2(list) {
|
||||||
const tempList = [...list]
|
list.forEach((item, index) => {
|
||||||
this.dataList.forEach((item, index) => {
|
|
||||||
const find = this.dataList.find(x => x.key == item.key)
|
const find = this.dataList.find(x => x.key == item.key)
|
||||||
if (find) {
|
if (find) {
|
||||||
item.posts.forEach(post => {
|
item.posts.forEach(post => {
|
||||||
if (!find.posts.some(x => x.metadata.name == post.metadata.name)) {
|
if (!find.posts.find(x => x.metadata.name == post.metadata.name)) {
|
||||||
find.posts.push(post)
|
find.posts.push(post)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
tempList.splice(index, 1)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
tempList.forEach(post => {
|
list.forEach(post => {
|
||||||
|
if (!this.dataList.find(x => x.key === post.key)) {
|
||||||
this.dataList.push(post)
|
this.dataList.push(post)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
console.log("this.dataList", this.dataList)
|
|
||||||
|
this.dataList.sort((a, b) => {
|
||||||
|
return Number(b.sort) - Number(a.sort)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleUniqueCacheDatalist(dataList) {
|
||||||
|
const seen = new Set();
|
||||||
|
return dataList.filter(item => {
|
||||||
|
return seen.has(item.metadata.name) ? false : seen.add(item.metadata.name);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
fnToArticleDetail(article) {
|
fnToArticleDetail(article) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|||||||
Viittaa uudesa ongelmassa
Block a user