+
+
+
+
![原图]()
+
{{ statusTextMap[work.status] || work.status }}
@@ -268,6 +277,32 @@ $primary: #6366f1;
&.rejected { background: rgba(239,68,68,0.92); color: #fff; }
&.taken_down { background: rgba(107,114,128,0.85); color: #fff; }
}
+
+ /* 右下角 PIP:用户原图 */
+ .cover-pip {
+ position: absolute;
+ right: 8px;
+ bottom: 8px;
+ width: 34%;
+ aspect-ratio: 1 / 1;
+ border-radius: 8px;
+ overflow: hidden;
+ border: 2px solid #fff;
+ background: #fff;
+ box-shadow: 0 3px 10px rgba(15, 12, 41, 0.25);
+ transition: transform 0.2s;
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ display: block;
+ }
+ }
+ }
+
+ &:hover .cover-pip {
+ transform: scale(1.05);
}
.work-info {
diff --git a/frontend/src/views/public/works/_dev-mock.ts b/frontend/src/views/public/works/_dev-mock.ts
index 3a8cf4e..712eb67 100644
--- a/frontend/src/views/public/works/_dev-mock.ts
+++ b/frontend/src/views/public/works/_dev-mock.ts
@@ -48,7 +48,7 @@ export const MOCK_USER_WORKS: UserWork[] = [
visibility: 'private',
status: 'unpublished',
reviewNote: null,
- originalImageUrl: null,
+ originalImageUrl: mockCover(40),
voiceInputUrl: null,
textInput: null,
aiMeta: null,
@@ -67,12 +67,12 @@ export const MOCK_USER_WORKS: UserWork[] = [
id: 102,
userId: 1,
title: '正在创作中…',
- coverUrl: mockCover(180),
+ coverUrl: null,
description: null,
visibility: 'private',
status: 'draft',
reviewNote: null,
- originalImageUrl: null,
+ originalImageUrl: mockCover(60),
voiceInputUrl: null,
textInput: null,
aiMeta: null,
@@ -96,7 +96,7 @@ export const MOCK_USER_WORKS: UserWork[] = [
visibility: 'public',
status: 'pending_review',
reviewNote: null,
- originalImageUrl: null,
+ originalImageUrl: mockCover(80),
voiceInputUrl: null,
textInput: null,
aiMeta: null,
@@ -120,7 +120,7 @@ export const MOCK_USER_WORKS: UserWork[] = [
visibility: 'public',
status: 'published',
reviewNote: null,
- originalImageUrl: null,
+ originalImageUrl: mockCover(120),
voiceInputUrl: null,
textInput: null,
aiMeta: null,
@@ -144,7 +144,7 @@ export const MOCK_USER_WORKS: UserWork[] = [
visibility: 'public',
status: 'rejected',
reviewNote: '内容包含疑似版权角色,请修改后重新提交',
- originalImageUrl: null,
+ originalImageUrl: mockCover(160),
voiceInputUrl: null,
textInput: null,
aiMeta: null,