feat: 优化我的关注页面 1. 添加接口测试代码 2. 优化数据加载逻辑 3. 添加加载状态控制

This commit is contained in:
davy 2025-04-07 16:09:15 +08:00
parent 5bda409025
commit 59eaa69e5c
3 changed files with 100 additions and 38 deletions

View File

@ -348,6 +348,8 @@ export default {
.page {
min-height: 100vh;
background: #F9F9F9;
display: flex;
flex-direction: column;
//
.filter-nav {
@ -529,7 +531,7 @@ export default {
margin-top: 24rpx;
.beer-list {
height: calc(100vh - 300rpx);
height: calc(100vh - 200rpx);
.beer-card {
margin-bottom: 24rpx;
@ -543,7 +545,7 @@ export default {
}
.empty-state {
padding: 160rpx 0;
padding: 120rpx 0;
text-align: center;
.empty-text {
@ -555,17 +557,19 @@ export default {
}
.loading-status {
padding: 24rpx 0;
padding: 8rpx 0;
text-align: center;
.loading-wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 32rpx;
.loading-text {
font-size: 24rpx;
color: #999;
line-height: 1;
&::after {
content: '';
display: inline-block;
@ -583,6 +587,8 @@ export default {
font-size: 24rpx;
color: #999;
opacity: 0.8;
height: 32rpx;
line-height: 32rpx;
}
}
}

View File

@ -115,13 +115,61 @@
pageSize: 10
},
totalBeer: 0,
totalBrewery: 0
totalBrewery: 0,
loading: false,
refreshing: false
};
},
onShow() {
this.checkLoginStatus()
},
onLoad() {
//
console.log('开始测试接口...')
//
listMyFavoriteBeer({
pageNum: 1,
pageSize: 10
}).then(res => {
console.log('酒款收藏列表测试成功:', res)
}).catch(err => {
console.error('获取酒款收藏列表失败:', err)
})
//
listMyFavoriteBrewery({
pageNum: 1,
pageSize: 10
}).then(res => {
console.log('品牌收藏列表测试成功:', res)
}).catch(err => {
console.error('获取品牌收藏列表失败:', err)
})
// (ID)
// favorBeer({
// beerId: 'xxx', // beerId
// status: 2
// }).then(res => {
// console.log(':', res)
// }).catch(err => {
// console.error(':', err)
// })
// favorBrewery({
// breweryId: 'xxx', // breweryId
// status: 2
// }).then(res => {
// console.log(':', res)
// }).catch(err => {
// console.error(':', err)
// })
//
this.getFavoriteBeerList()
this.getFavoriteBreweryList()
//
uni.$on('needLogin', () => {
this.toLogin()
@ -197,21 +245,12 @@
this.checkLoginStatus()
},
tabSelect(e) {
console.log(e)
this.tabCur = e.currentTarget.dataset.id;
// if(this.tabCur == 0) {
// this.favoriteBeerList = []
// this.beerQuery.pageNum = 1
// this.getFavoriteBeerList()
// } else {
// this.favoriteBreweryList = []
// this.breweryQuery.pageNum = 1
// this.getFavoriteBreweryList()
// }
this.tabCur = e.currentTarget.dataset.id
},
//
getFavoriteBeerList() {
if (!this.isLogin) return
if(this.loading) return
this.loading = true
listMyFavoriteBeer(this.beerQuery).then(res => {
this.totalBeer = res.total
@ -220,13 +259,13 @@
this.favoriteBeerList.push(it)
})
}
}).catch(() => {
//
}).finally(() => {
this.loading = false
this.refreshing = false
})
},
//
changeBeerPage() {
console.log('f1')
if (this.favoriteBeerList.length < this.totalBeer) {
this.beerQuery.pageNum++
this.getFavoriteBeerList()
@ -234,7 +273,8 @@
},
//
getFavoriteBreweryList() {
if (!this.isLogin) return
if(this.loading) return
this.loading = true
listMyFavoriteBrewery(this.breweryQuery).then(res => {
this.totalBrewery = res.total
@ -243,13 +283,13 @@
this.favoriteBreweryList.push(it)
})
}
}).catch(() => {
//
}).finally(() => {
this.loading = false
this.refreshing = false
})
},
//
changeBreweryPage() {
console.log('f')
if (this.favoriteBreweryList.length < this.totalBrewery) {
this.breweryQuery.pageNum++
this.getFavoriteBreweryList()
@ -269,11 +309,6 @@
},
//
cancelFavBeer(item) {
if (!this.isLogin) {
this.toLogin()
return
}
let data = {
beerId: item.beerId,
status: 2
@ -286,17 +321,10 @@
this.favoriteBeerList = []
this.beerQuery.pageNum = 1
this.getFavoriteBeerList()
}).catch(() => {
//
})
},
//
cancelFavBrewery(item) {
if (!this.isLogin) {
this.toLogin()
return
}
let data = {
breweryId: item.breweryId,
status: 2
@ -309,11 +337,18 @@
this.favoriteBreweryList = []
this.breweryQuery.pageNum = 1
this.getFavoriteBreweryList()
}).catch(() => {
//
})
},
//
onRefresh() {
this.refreshing = true
this.beerQuery.pageNum = 1
this.breweryQuery.pageNum = 1
this.favoriteBeerList = []
this.favoriteBreweryList = []
this.getFavoriteBeerList()
this.getFavoriteBreweryList()
}
}
}
</script>

View File

@ -53,6 +53,27 @@
}
},
onLoad() {
//
console.log('开始测试接口...')
//
listMyReview({
pageNum: 1,
pageSize: 10
}).then(res => {
console.log('获取我的酒评列表测试成功:', res)
}).catch(err => {
console.error('获取我的酒评列表失败:', err)
})
// (ID)
// delReview('xxx').then(res => {
// console.log(':', res)
// }).catch(err => {
// console.error(':', err)
// })
//
this.getMyReviewList()
},
methods: {