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 @@
+
+
+
+
+
+
+
+
+
+
+
+ 选择要展出的藏品
+
+
+
+
+
+ {{ tab.label }}
+
+
+
+
+
+ 加载中...
+
+
+
+
+ 暂无藏品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.display_status === 1 ? '已展示' : '待展示' }}
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.display_status === 1 ? '已展示' : '待展示' }}
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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' }"
/>
+
+
+
+
+