From 85f166e7d0b76dc925e7899a6c00d1cdd79fdef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=8E=AB=E5=94=90=E5=B0=BC?= <1431128779@qq.com> Date: Sat, 25 May 2024 14:58:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E7=AB=A0=E8=AF=A6=E6=83=85=E5=B9=BF?= =?UTF-8?q?=E5=91=8A=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/http/index.js | 1 + common/http/request.js | 6 +- config/halo.config.template.js | 8 +- package.json | 7 +- pages/tabbar/home/home.vue | 124 +++++++++++------------ pagesA/article-detail/article-detail.vue | 23 +---- 6 files changed, 69 insertions(+), 100 deletions(-) diff --git a/common/http/index.js b/common/http/index.js index e187d38..fdc6cda 100644 --- a/common/http/index.js +++ b/common/http/index.js @@ -31,6 +31,7 @@ http.setConfig((config) => { } return config }) + setInterceptors(http) export { diff --git a/common/http/request.js b/common/http/request.js index a963d85..3c6d074 100644 --- a/common/http/request.js +++ b/common/http/request.js @@ -1,8 +1,6 @@ /** * 封装各种请求方式 */ - - import { http } from '@/common/http/index.js' @@ -11,7 +9,7 @@ export default { Get: (url, params, config = {}) => { return http.get(url, { params, - ...config + ...config }) }, Post: (url, data, config = {}) => { @@ -26,4 +24,4 @@ export default { Delete: (url, data, config = {}) => { return http.delete(url, data, config) } -} +} \ No newline at end of file diff --git a/config/halo.config.template.js b/config/halo.config.template.js index 573aa84..997495d 100644 --- a/config/halo.config.template.js +++ b/config/halo.config.template.js @@ -72,13 +72,7 @@ export default { loadingEmptyUrl: '', // 加载图片为空地址 waveImageUrl: '', // 关于页面波浪图片 - - banner: { // 轮播图配置 - type: 'article', // 轮播图数据源 list=下方配置 article=热门文章封面 - list: [], - }, - - + // 微信分享信息 wxShareConfig: { title: '', // 小程序分享标题[非必填] diff --git a/package.json b/package.json index 6ac0716..c8d9569 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,11 @@ "type": "git", "url": "git+https://gitee.com/ialley-workshop-open/uni-halo.git" }, - "keywords": ["uni-halo", "小莫唐尼", "巷子工坊"], + "keywords": [ + "uni-halo", + "小莫唐尼", + "巷子工坊" + ], "author": "巷子工坊丨小莫唐尼", "license": "AGPL-3.0", "bugs": { @@ -17,6 +21,7 @@ "vue-i18n": "^9.1.10" }, "dependencies": { + "qs": "^6.12.1", "uni-read-pages": "^1.0.5", "uni-simple-router": "^2.0.8-beta.4" } diff --git a/pages/tabbar/home/home.vue b/pages/tabbar/home/home.vue index be78583..e35ebe2 100644 --- a/pages/tabbar/home/home.vue +++ b/pages/tabbar/home/home.vue @@ -64,7 +64,8 @@ - + {{ loadMoreText }} @@ -84,6 +85,7 @@ import tmEmpty from '@/tm-vuetify/components/tm-empty/tm-empty.vue'; import eSwiper from '@/components/e-swiper/e-swiper.vue'; + import qs from 'qs' export default { components: { @@ -100,7 +102,8 @@ loading: 'loading', queryParams: { size: 5, - page: 1 + page: 1, + sort: ['spec.pinned,desc', 'spec.publishTime,desc'] }, result: {}, isLoadMore: false, @@ -110,7 +113,6 @@ noticeList: [], articleList: [], categoryList: [], - }; }, @@ -180,58 +182,39 @@ // 获取轮播图 fnGetBanner() { const _this = this; - const _format = function(list, type) { - console.log("list", list) + const _format = function(list) { return list.map((item, index) => { - switch (type) { - case 'list': - return { - id: index, - nickname: _this.bloggerInfo.nickname, - avatar: _this.bloggerInfo.avatar, - address: item.href || '', - title: item.title, - image: _this.$utils.checkImageUrl(item.thumbnail) - }; - case 'article': - return { - mp4: '', - id: item.metadata.name, - nickname: item.owner.displayName, - avatar: _this.$utils.checkImageUrl(item.owner.avatar), - address: '', - createTime: uni.$tm.dayjs(item.spec.publishTime).fromNow(), - title: item.spec.title, - src: _this.$utils.checkImageUrl(item.spec.cover), - image: _this.$utils.checkImageUrl(item.spec.cover) - }; - case 'banner': - return { - id: '', - src: item - }; - } + return { + mp4: '', + id: item.metadata.name, + nickname: item.owner.displayName, + avatar: _this.$utils.checkImageUrl(item.owner.avatar), + address: '', + createTime: uni.$tm.dayjs(item.spec.publishTime).fromNow(), + title: item.spec.title, + src: _this.$utils.checkImageUrl(item.spec.cover), + image: _this.$utils.checkImageUrl(item.spec.cover) + }; }); }; - switch (this.$haloConfig.banner.type) { - case 'list': // 手动配置的banner - this.bannerList = _format(this.$haloConfig.banner.list, 'list'); - break; - case 'article': // 来自热门文章的封面 - this.$httpApi.getPostList({ - page: 0, - size: 6 - }).then(res => { - this.bannerList = _format(res.items, 'article'); - if (this.bannerList.length == 0) { - this.bannerList = _format(this.$haloConfig.banner.list, 'list'); - } - }); - break; - case 'banner': // 来自后台配置的banner(暂未开放) - this.bannerList = _format([], 'banner'); - break; - } + + const paramsStr = qs.stringify(this.queryParams, { + allowDots: true, + encodeValuesOnly: true, + skipNulls: true, + encode: true, + arrayFormat: 'repeat' + }) + uni.request({ + url: '/apis/api.content.halo.run/v1alpha1/posts?' + paramsStr, + method: 'GET', + params: this.queryParams, + success: (res) => { + this.bannerList = _format(res.data.items); + }, + fail: (err) => {} + }) + }, fnOnBannerChange(e) { this.bannerCurrent = e.current; @@ -256,28 +239,37 @@ } this.loadMoreText = '加载中...'; - this.$httpApi.v2 - .getPostList(this.queryParams) - .then(res => { - console.log('加载成功', res); - this.result.hasNext = res.hasNext; + const paramsStr = qs.stringify(this.queryParams, { + allowDots: true, + encodeValuesOnly: true, + skipNulls: true, + encode: true, + arrayFormat: 'repeat' + }) + uni.request({ + url: '/apis/api.content.halo.run/v1alpha1/posts?' + paramsStr, + method: 'GET', + params: this.queryParams, + success: (res) => { + const data = res.data; + this.result.hasNext = data.hasNext; if (this.isLoadMore) { - this.articleList = this.articleList.concat(res.items); + this.articleList = this.articleList.concat(data.items); } else { - this.articleList = res.items; + this.articleList = data.items; } this.loading = 'success'; - this.loadMoreText = res.hasNext ? '上拉加载更多' : '呜呜,没有更多数据啦~'; - }) - .catch(err => { + this.loadMoreText = data.hasNext ? '上拉加载更多' : '呜呜,没有更多数据啦~'; + uni.hideLoading(); + uni.stopPullDownRefresh(); + }, + fail: (err) => { this.loading = 'error'; this.loadMoreText = '加载失败,请下拉刷新!'; uni.$tm.toast(err.message || '数据加载失败!'); - }) - .finally(() => { - uni.hideLoading(); uni.stopPullDownRefresh(); - }); + } + }) }, //跳转文章详情 diff --git a/pagesA/article-detail/article-detail.vue b/pagesA/article-detail/article-detail.vue index 8deeaca..7c56d08 100644 --- a/pagesA/article-detail/article-detail.vue +++ b/pagesA/article-detail/article-detail.vue @@ -72,16 +72,6 @@ - - - - - - - - - @@ -101,19 +91,8 @@ - - - - - - - - - - - + 广告