This commit is contained in:
2026-02-26 21:04:33 +08:00
parent 1e5a1d422b
commit 6ec2a0aa6c
2 changed files with 98 additions and 98 deletions

View File

@@ -770,7 +770,7 @@ onMounted(async () => {
.sidebar-slide-enter-active, .sidebar-slide-enter-active,
.sidebar-slide-leave-active { .sidebar-slide-leave-active {
transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); transition: all var(--duration-slow) cubic-bezier(0.4, 0, 0.2, 1);
} }
.sidebar-slide-enter-from, .sidebar-slide-enter-from,
@@ -790,7 +790,7 @@ onMounted(async () => {
margin-bottom: var(--space-3); margin-bottom: var(--space-3);
span { span {
font-size: 11px; font-size: var(--font-size-xs);
font-weight: 600; font-weight: 600;
color: var(--color-gray-500); color: var(--color-gray-500);
text-transform: uppercase; text-transform: uppercase;
@@ -829,7 +829,7 @@ onMounted(async () => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 10px var(--space-3); padding: var(--space-2) var(--space-3);
cursor: pointer; cursor: pointer;
border-radius: var(--radius-md); border-radius: var(--radius-md);
margin-bottom: 2px; margin-bottom: 2px;
@@ -860,8 +860,8 @@ onMounted(async () => {
} }
&__icon { &__icon {
margin-right: 10px; margin-right: var(--space-2);
font-size: 14px; font-size: var(--font-size-base);
color: var(--color-gray-500); color: var(--color-gray-500);
flex-shrink: 0; flex-shrink: 0;
} }
@@ -881,7 +881,7 @@ onMounted(async () => {
} }
&__count { &__count {
font-size: 11px; font-size: var(--font-size-xs);
color: var(--color-gray-500); color: var(--color-gray-500);
margin-right: var(--space-2); margin-right: var(--space-2);
} }
@@ -922,7 +922,7 @@ onMounted(async () => {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-width: 0; min-width: 0;
transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); transition: all var(--duration-slow) cubic-bezier(0.4, 0, 0.2, 1);
} }
// ======================================== // ========================================
@@ -942,7 +942,7 @@ onMounted(async () => {
.category-switcher { .category-switcher {
display: flex; display: flex;
background: var(--color-gray-50); background: var(--color-gray-50);
border-radius: 10px; border-radius: var(--radius-md);
padding: var(--space-1); padding: var(--space-1);
gap: var(--space-1); gap: var(--space-1);
@@ -950,13 +950,13 @@ onMounted(async () => {
display: flex; display: flex;
align-items: center; align-items: center;
gap: var(--space-2); gap: var(--space-2);
padding: 10px var(--space-5); padding: var(--space-2) var(--space-5);
border-radius: var(--radius-md); border-radius: var(--radius-md);
cursor: pointer; cursor: pointer;
font-size: var(--font-size-base); font-size: var(--font-size-base);
font-weight: 500; font-weight: 500;
color: var(--color-gray-600); color: var(--color-gray-600);
transition: all 0.25s ease; transition: all var(--duration-base) ease;
&:hover { &:hover {
color: var(--color-gray-900); color: var(--color-gray-900);
@@ -974,9 +974,9 @@ onMounted(async () => {
} }
&__icon { &__icon {
font-size: 16px; font-size: var(--font-size-md);
color: var(--color-gray-500); color: var(--color-gray-500);
transition: color 0.25s ease; transition: color var(--duration-base) ease;
} }
} }
@@ -1013,7 +1013,7 @@ onMounted(async () => {
height: 100%; height: 100%;
background: linear-gradient(90deg, var(--color-primary-500), var(--color-primary-400)); background: linear-gradient(90deg, var(--color-primary-500), var(--color-primary-400));
border-radius: 2px; border-radius: 2px;
transition: width 0.3s ease; transition: width var(--duration-slow) ease;
} }
} }
@@ -1066,13 +1066,13 @@ onMounted(async () => {
&__info { &__info {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 10px; gap: var(--space-2);
font-size: var(--font-size-base); font-size: var(--font-size-base);
color: var(--color-gray-900); color: var(--color-gray-900);
.anticon { .anticon {
color: var(--color-primary-500); color: var(--color-primary-500);
font-size: 16px; font-size: var(--font-size-md);
} }
strong { strong {
@@ -1089,7 +1089,7 @@ onMounted(async () => {
.fade-slide-enter-active, .fade-slide-enter-active,
.fade-slide-leave-active { .fade-slide-leave-active {
transition: all 0.3s ease; transition: all var(--duration-slow) ease;
} }
.fade-slide-enter-from, .fade-slide-enter-from,
@@ -1159,7 +1159,7 @@ onMounted(async () => {
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: all var(--duration-slow) cubic-bezier(0.4, 0, 0.2, 1);
&:hover { &:hover {
border-color: var(--color-primary-500); border-color: var(--color-primary-500);
@@ -1193,8 +1193,8 @@ onMounted(async () => {
// 选择指示器 // 选择指示器
&__check { &__check {
position: absolute; position: absolute;
top: 10px; top: var(--space-2);
left: 10px; left: var(--space-2);
z-index: 10; z-index: 10;
opacity: 0; opacity: 0;
transition: opacity var(--duration-fast); transition: opacity var(--duration-fast);
@@ -1234,14 +1234,14 @@ onMounted(async () => {
position: relative; position: relative;
width: 100%; width: 100%;
aspect-ratio: 16 / 10; aspect-ratio: 16 / 10;
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); background: linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-gray-100) 100%);
overflow: hidden; overflow: hidden;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
object-fit: cover; object-fit: cover;
transition: transform 0.4s ease; transition: transform var(--duration-slower) ease;
} }
&:hover img { &:hover img {
@@ -1270,11 +1270,11 @@ onMounted(async () => {
padding: var(--space-2) var(--space-3); padding: var(--space-2) var(--space-3);
background: linear-gradient(transparent, rgba(0, 0, 0, 0.6)); background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
opacity: 0; opacity: 0;
transition: opacity 0.3s ease; transition: opacity var(--duration-slow) ease;
} }
&__type-tag { &__type-tag {
font-size: 11px; font-size: var(--font-size-xs);
font-weight: 600; font-weight: 600;
color: white; color: white;
text-transform: uppercase; text-transform: uppercase;
@@ -1283,7 +1283,7 @@ onMounted(async () => {
// 信息区 // 信息区
&__info { &__info {
padding: 14px; padding: var(--space-3) var(--space-4);
} }
&__name { &__name {
@@ -1330,7 +1330,7 @@ onMounted(async () => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 14px var(--space-6); padding: var(--space-3) var(--space-6);
background: var(--color-bg-card); background: var(--color-bg-card);
border-top: 1px solid var(--color-gray-200); border-top: 1px solid var(--color-gray-200);

View File

@@ -772,18 +772,18 @@ onMounted(() => {
.page-header { .page-header {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 16px; gap: var(--space-4);
&__icon { &__icon {
width: 48px; width: 48px;
height: 48px; height: 48px;
border-radius: 12px; border-radius: var(--radius-lg);
background: var(--color-primary); background: var(--color-primary);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: white; color: white;
font-size: 24px; font-size: var(--font-size-2xl);
box-shadow: var(--shadow-inset-card); box-shadow: var(--shadow-inset-card);
} }
@@ -792,7 +792,7 @@ onMounted(() => {
} }
&__title { &__title {
font-size: 24px; font-size: var(--font-size-2xl);
font-weight: 600; font-weight: 600;
color: var(--color-text); color: var(--color-text);
margin: 0; margin: 0;
@@ -800,9 +800,9 @@ onMounted(() => {
} }
&__subtitle { &__subtitle {
font-size: 14px; font-size: var(--font-size-base);
color: var(--color-text-secondary); color: var(--color-text-secondary);
margin: 4px 0 0; margin: var(--space-1) 0 0;
} }
} }
@@ -830,34 +830,34 @@ onMounted(() => {
.card { .card {
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
border-radius: 8px; border-radius: var(--radius-md);
overflow: hidden; overflow: hidden;
height: fit-content; height: fit-content;
&__header { &__header {
display: flex; display: flex;
padding: 12px 16px; padding: var(--space-3) var(--space-4);
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border);
} }
&__title { &__title {
font-size: 16px; font-size: var(--font-size-md);
font-weight: 600; font-weight: 600;
color: var(--color-text); color: var(--color-text);
margin: 0; margin: 0;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--space-2);
.anticon { .anticon {
color: var(--color-primary); color: var(--color-primary);
font-size: 18px; font-size: var(--font-size-lg);
} }
} }
&__body { &__body {
padding: 16px; padding: var(--space-4);
} }
} }
@@ -876,14 +876,14 @@ onMounted(() => {
.slider-box { .slider-box {
.slider-value { .slider-value {
text-align: center; text-align: center;
margin-top: 12px; margin-top: var(--space-3);
font-size: 18px; font-size: var(--font-size-lg);
font-weight: 700; font-weight: 700;
color: var(--color-primary); color: var(--color-primary);
padding: 8px 16px; padding: var(--space-2) var(--space-4);
background: var(--color-bg); background: var(--color-bg);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
border-radius: 8px; border-radius: var(--radius-md);
} }
} }
@@ -892,9 +892,9 @@ onMounted(() => {
flex-direction: column; flex-direction: column;
gap: var(--space-2); gap: var(--space-2);
margin: var(--space-3) 0; margin: var(--space-3) 0;
padding: 20px; padding: var(--space-5);
background: var(--color-surface); background: var(--color-surface);
border-radius: 8px; border-radius: var(--radius-md);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
.scene-row { .scene-row {
@@ -904,13 +904,13 @@ onMounted(() => {
span { span {
color: var(--color-text-secondary); color: var(--color-text-secondary);
font-size: 14px; font-size: var(--font-size-base);
font-weight: 500; font-weight: 500;
} }
strong { strong {
color: var(--color-text); color: var(--color-text);
font-size: 18px; font-size: var(--font-size-lg);
font-weight: 700; font-weight: 700;
&.text-green { &.text-green {
@@ -922,13 +922,13 @@ onMounted(() => {
.btn-secondary { .btn-secondary {
height: 48px; height: 48px;
font-size: 16px; font-size: var(--font-size-md);
font-weight: 600; font-weight: 600;
border-radius: 8px; border-radius: var(--radius-md);
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
color: var(--color-text); color: var(--color-text);
transition: all 0.2s ease; transition: all var(--duration-base) ease;
&:hover:not(:disabled) { &:hover:not(:disabled) {
background: var(--color-bg); background: var(--color-bg);
@@ -952,16 +952,16 @@ onMounted(() => {
} }
.scene-header { .scene-header {
margin-bottom: 12px; margin-bottom: var(--space-3);
} }
.scene-title { .scene-title {
font-size: 16px; font-size: var(--font-size-md);
font-weight: 600; font-weight: 600;
margin: 0; margin: 0;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: var(--space-3);
.scene-index { .scene-index {
color: var(--color-primary); color: var(--color-primary);
@@ -969,23 +969,23 @@ onMounted(() => {
} }
.scene-duration { .scene-duration {
font-size: 14px; font-size: var(--font-size-base);
font-weight: 500; font-weight: 500;
padding: 4px 12px; padding: var(--space-1) var(--space-3);
background: var(--color-bg); background: var(--color-bg);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
color: var(--color-text); color: var(--color-text);
border-radius: 6px; border-radius: var(--radius-base);
} }
.scene-count { .scene-count {
font-size: 13px; font-size: var(--font-size-sm);
color: var(--color-success); color: var(--color-success);
margin-left: auto; margin-left: auto;
padding: 4px 12px; padding: var(--space-1) var(--space-3);
background: var(--color-bg); background: var(--color-bg);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
border-radius: 6px; border-radius: var(--radius-base);
font-weight: 600; font-weight: 600;
} }
} }
@@ -1001,14 +1001,14 @@ onMounted(() => {
width: 140px; width: 140px;
height: 140px; height: 140px;
border: 2px dashed var(--color-border); border: 2px dashed var(--color-border);
border-radius: 8px; border-radius: var(--radius-md);
cursor: pointer; cursor: pointer;
transition: all 0.2s ease; transition: all var(--duration-base) ease;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 8px; gap: var(--space-2);
background: var(--color-surface); background: var(--color-surface);
position: relative; position: relative;
@@ -1024,7 +1024,7 @@ onMounted(() => {
} }
span { span {
font-size: 13px; font-size: var(--font-size-sm);
color: var(--color-text-secondary); color: var(--color-text-secondary);
font-weight: 500; font-weight: 500;
} }
@@ -1033,11 +1033,11 @@ onMounted(() => {
.candidate-item { .candidate-item {
width: 140px; width: 140px;
height: 130px; height: 130px;
border-radius: 8px; border-radius: var(--radius-md);
overflow: hidden; overflow: hidden;
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
transition: all 0.2s ease; transition: all var(--duration-base) ease;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
@@ -1060,13 +1060,13 @@ onMounted(() => {
justify-content: center; justify-content: center;
background: var(--color-bg); background: var(--color-bg);
color: var(--color-text-secondary); color: var(--color-text-secondary);
font-size: 24px; font-size: var(--font-size-2xl);
} }
.candidate-name { .candidate-name {
font-size: 12px; font-size: var(--font-size-xs);
color: var(--color-text); color: var(--color-text);
padding: 8px 10px; padding: var(--space-2) var(--space-2);
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -1090,8 +1090,8 @@ onMounted(() => {
line-height: 1; line-height: 1;
min-width: auto; min-width: auto;
opacity: 0; opacity: 0;
transition: all 0.2s ease; transition: all var(--duration-base) ease;
border-radius: 6px; border-radius: var(--radius-base);
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
color: var(--color-text-secondary); color: var(--color-text-secondary);
@@ -1108,7 +1108,7 @@ onMounted(() => {
top: 50% ; top: 50% ;
left: 50% ; left: 50% ;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
font-size: 12px; font-size: var(--font-size-xs);
} }
} }
@@ -1125,11 +1125,11 @@ onMounted(() => {
.material-item { .material-item {
cursor: pointer; cursor: pointer;
border-radius: 8px; border-radius: var(--radius-md);
overflow: hidden; overflow: hidden;
background: var(--color-surface); background: var(--color-surface);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
transition: all 0.2s ease; transition: all var(--duration-base) ease;
position: relative; position: relative;
&:hover { &:hover {
@@ -1174,21 +1174,21 @@ onMounted(() => {
.material-badge { .material-badge {
position: absolute; position: absolute;
top: 8px; top: var(--space-2);
right: 8px; right: var(--space-2);
background: var(--color-error); background: var(--color-error);
color: #fff; color: #fff;
padding: 4px 8px; padding: var(--space-1) var(--space-2);
border-radius: 6px; border-radius: var(--radius-base);
font-size: 11px; font-size: var(--font-size-xs);
z-index: 2; z-index: 2;
font-weight: 600; font-weight: 600;
box-shadow: 0 2px 4px rgba(239, 68, 68, 0.3); box-shadow: 0 2px 4px rgba(239, 68, 68, 0.3);
} }
.material-name { .material-name {
padding: 10px; padding: var(--space-2);
font-size: 13px; font-size: var(--font-size-sm);
color: var(--color-text); color: var(--color-text);
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
@@ -1200,9 +1200,9 @@ onMounted(() => {
.selector-container { .selector-container {
.selector-actions { .selector-actions {
margin-bottom: var(--space-2); margin-bottom: var(--space-2);
padding: 16px; padding: var(--space-4);
background: var(--color-surface); background: var(--color-surface);
border-radius: 8px; border-radius: var(--radius-md);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
} }
} }
@@ -1213,18 +1213,18 @@ onMounted(() => {
gap: var(--space-2); gap: var(--space-2);
max-height: 480px; max-height: 480px;
overflow-y: auto; overflow-y: auto;
padding: 8px; padding: var(--space-2);
background: var(--color-surface); background: var(--color-surface);
border-radius: 8px; border-radius: var(--radius-md);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
} }
.selector-item { .selector-item {
cursor: pointer; cursor: pointer;
border-radius: 8px; border-radius: var(--radius-md);
overflow: hidden; overflow: hidden;
border: 2px solid transparent; border: 2px solid transparent;
transition: all 0.2s ease; transition: all var(--duration-base) ease;
position: relative; position: relative;
background: var(--color-surface); background: var(--color-surface);
box-shadow: var(--shadow-inset-card); box-shadow: var(--shadow-inset-card);
@@ -1246,7 +1246,7 @@ onMounted(() => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: var(--color-text-secondary); color: var(--color-text-secondary);
font-size: 24px; font-size: var(--font-size-2xl);
img { img {
width: 100%; width: 100%;
@@ -1256,8 +1256,8 @@ onMounted(() => {
} }
.selector-name { .selector-name {
padding: 8px 12px; padding: var(--space-2) var(--space-3);
font-size: 12px; font-size: var(--font-size-xs);
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
@@ -1269,8 +1269,8 @@ onMounted(() => {
.selector-checkmark { .selector-checkmark {
position: absolute; position: absolute;
top: 8px; top: var(--space-2);
right: 8px; right: var(--space-2);
background: var(--color-success); background: var(--color-success);
color: #fff; color: #fff;
border-radius: 50%; border-radius: 50%;
@@ -1279,7 +1279,7 @@ onMounted(() => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 14px; font-size: var(--font-size-base);
z-index: 2; z-index: 2;
box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3); box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
} }
@@ -1287,21 +1287,21 @@ onMounted(() => {
.selector-actions-footer { .selector-actions-footer {
margin-top: var(--space-2); margin-top: var(--space-2);
padding: 16px; padding: var(--space-4);
background: var(--color-surface); background: var(--color-surface);
border-radius: 8px; border-radius: var(--radius-md);
text-align: right; text-align: right;
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
} }
:deep(.selector-modal) { :deep(.selector-modal) {
.ant-modal-content { .ant-modal-content {
border-radius: 8px; border-radius: var(--radius-md);
overflow: hidden; overflow: hidden;
} }
.ant-modal-header { .ant-modal-header {
padding: 20px; padding: var(--space-5);
border-bottom: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border);
background: var(--color-surface); background: var(--color-surface);
} }
@@ -1312,7 +1312,7 @@ onMounted(() => {
} }
.ant-modal-body { .ant-modal-body {
padding: 20px; padding: var(--space-5);
} }
} }
@@ -1356,14 +1356,14 @@ onMounted(() => {
.page-header { .page-header {
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
gap: 12px; gap: var(--space-3);
&__title { &__title {
font-size: 20px; font-size: var(--font-size-xl);
} }
&__subtitle { &__subtitle {
font-size: 13px; font-size: var(--font-size-sm);
} }
} }