diff --git a/backend/services/socialService/provider/social_provider.go b/backend/services/socialService/provider/social_provider.go index 0565fd9..e079dbb 100644 --- a/backend/services/socialService/provider/social_provider.go +++ b/backend/services/socialService/provider/social_provider.go @@ -397,7 +397,7 @@ func (p *SocialProvider) GetMyLikedAssets(ctx context.Context, req *pb.GetMyLike zap.Int32("page_size", req.PageSize), ) - return p.assetLikeService.GetMyLikedAssets(ctx, req) + return p.assetLikeService.GetMyLikedAssets(ctx, req, userID, starID) } // extractUserInfo 从 Dubbo attachments 中提取用户信息 diff --git a/frontend/pages/components/AssetSelector.vue b/frontend/pages/components/AssetSelector.vue new file mode 100644 index 0000000..21b47fb --- /dev/null +++ b/frontend/pages/components/AssetSelector.vue @@ -0,0 +1,554 @@ + + + + + diff --git a/frontend/pages/profile/myWorks.vue b/frontend/pages/profile/myWorks.vue index 447a081..bba47fd 100644 --- a/frontend/pages/profile/myWorks.vue +++ b/frontend/pages/profile/myWorks.vue @@ -27,7 +27,7 @@ :key="item.id" class="exhibition-card" :class="index % 2 === 0 ? 'card-tilt-left' : 'card-tilt-right'" - @tap="goToAssetDetail(item.id)" + @tap="handleExhibitionCardTap(item, index)" > @@ -42,14 +42,29 @@ - {{ item.rate || '0' }}/H + {{ item.earnings || 0 }} - - - 暂无在展作品 + + + + + + + + + + + + + + + + + + + + @@ -110,19 +125,140 @@ + + + @@ -413,11 +581,61 @@ onMounted(() => { /* 空状态 */ .empty-exhibition { - flex: 1; display: flex; align-items: center; justify-content: center; - padding: 60rpx 0; + padding: 80rpx 0; + gap: 24rpx; +} + +.empty-card { + width: 248rpx; + height: 380rpx; + border-radius: 20rpx; + overflow: visible; + position: relative; +} + +.empty-card-left { + transform: rotate(-4deg) translateY(10rpx); +} + +.empty-card-right { + transform: rotate(4deg) translateY(10rpx); +} + +.empty-cover { + width: 88%; + height: 92%; + border-radius: 80rpx; + position: relative; + z-index: 3; + padding: 16rpx; + opacity: 0.5; +} + +/* 卡片内的添加按钮 */ +.empty-add-btn { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 80rpx; + height: 80rpx; + background: linear-gradient(135deg, #F0E4B1 0%, #F08399 50%, #B94E73 100%); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + z-index: 10; + box-shadow: 0 4rpx 16rpx rgba(185, 78, 115, 0.4); +} + +.empty-add-icon { + font-size: 48rpx; + color: #fff; + font-weight: 700; + line-height: 1; } .empty-text { diff --git a/frontend/pages/square/components/WaterfallGrid.vue b/frontend/pages/square/components/WaterfallGrid.vue index ef07590..4aca830 100644 --- a/frontend/pages/square/components/WaterfallGrid.vue +++ b/frontend/pages/square/components/WaterfallGrid.vue @@ -30,6 +30,19 @@ :style="{ width: card.w + 'px', height: card.h + 'px', borderRadius: card.radius + 'px' }" /> + + + + + @@ -45,6 +58,7 @@