diff --git a/frontend/pages/asset-detail/asset-detail.vue b/frontend/pages/asset-detail/asset-detail.vue index 583635a..8c2d3eb 100644 --- a/frontend/pages/asset-detail/asset-detail.vue +++ b/frontend/pages/asset-detail/asset-detail.vue @@ -10,21 +10,21 @@ - - - - - + + + + + + + + + + + + + + 正在加载藏品... - - - - - - - - 正在加载藏品... - @@ -38,23 +38,16 @@ - + - 交易哈希 - {{ displayTxHash }} + {{ displayTxHash }} @@ -268,9 +258,9 @@ const handleLike = async () => { // isLiked.value = false; // likeCount.value = Math.max(0, likeCount.value - 1); // } else { - await likeAssetApi(assetData.value.asset_id); - isLiked.value = true; - likeCount.value += 1; + await likeAssetApi(assetData.value.asset_id); + isLiked.value = true; + likeCount.value += 1; // } // 通知展馆页面更新点赞数 uni.$emit('assetLikeChanged', { @@ -279,7 +269,13 @@ const handleLike = async () => { is_liked: isLiked.value }); } catch (err) { - uni.showToast({ title: err.message || '操作失败', icon: 'none', duration: 2000 }); + const errMsg = err?.message || ''; + const errCode = err?.code || err?.data?.code || ''; + if (errMsg.includes('未在展示中')) { + uni.showToast({ title: '未展览无法点赞', icon: 'none', duration: 2000 }); + } else { + uni.showToast({ title: '今日已点赞', icon: 'none', duration: 2000 }); + } } finally { liking.value = false; } @@ -305,7 +301,7 @@ onShow(() => { console.log('onShow 触发'); const currentKey = `${assetIdParam.value}_${orderIdParam.value}`; console.log('当前key:', currentKey, '上次key:', lastLoadKey.value); - + // 如果参数变化了,或者是首次加载,则重新加载数据 if ((assetIdParam.value || orderIdParam.value) && currentKey !== lastLoadKey.value) { lastLoadKey.value = currentKey; @@ -407,8 +403,13 @@ onUnmounted(() => { } @keyframes ring-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } } /* 三颗脉冲粒子 */ @@ -444,10 +445,13 @@ onUnmounted(() => { } @keyframes dot-pulse { - 0%, 100% { + + 0%, + 100% { transform: scale(0.6); opacity: 0.4; } + 50% { transform: scale(1.3); opacity: 1; @@ -464,8 +468,15 @@ onUnmounted(() => { } @keyframes text-breathe { - 0%, 100% { opacity: 0.5; } - 50% { opacity: 1; } + + 0%, + 100% { + opacity: 0.5; + } + + 50% { + opacity: 1; + } } .error-text {