feat: 功能

This commit is contained in:
2025-12-28 13:49:45 +08:00
parent 36195ea55a
commit bbf8093ca3
25 changed files with 1046 additions and 1970 deletions

View File

@@ -651,12 +651,12 @@ onMounted(async () => {
<div>
<div class="form-label-wrapper">
<label class="form-label">风格提示词</label>
<a-button
<a-button
v-if="allPrompts.length > DISPLAY_COUNT"
size="small"
type="link"
size="small"
type="link"
@click="showAllPromptsModal = true"
style="padding: 0; height: auto; font-size: 12px;"
style="padding: 0; height: auto; font-size: 14px;"
>
更多 ({{ allPrompts.length }})
</a-button>
@@ -679,7 +679,7 @@ onMounted(async () => {
<!-- 空状态 -->
<div v-else-if="!loadingPrompts" class="prompt-empty">
<div style="color: var(--color-text-secondary); font-size: 12px; text-align: center; padding: 20px;">
<div style="color: var(--color-text-secondary); font-size: 14px; text-align: center; padding: 20px;">
您可以在视频分析页面保存风格
</div>
</div>
@@ -826,15 +826,15 @@ onMounted(async () => {
.param-label {
display: block;
font-size: 12px;
font-size: 14px;
color: var(--color-text-secondary);
margin-bottom: 4px;
margin-bottom: var(--space-1);
}
.param-select {
width: 100%;
padding: 6px 8px;
font-size: 13px;
font-size: 14px;
color: var(--color-text);
background: var(--color-bg);
border: 1px solid var(--color-border);
@@ -1020,13 +1020,13 @@ onMounted(async () => {
.topic-title--clickable {
cursor: pointer;
color: #1890ff;
color: var(--color-primary);
transition: all 0.2s;
}
.topic-title--clickable:hover {
text-decoration: underline;
color: #40a9ff;
color: var(--color-primary-hover);
opacity: 0.8;
}
@@ -1159,7 +1159,7 @@ onMounted(async () => {
border-radius: 16px;
cursor: pointer;
transition: all 0.2s ease;
font-size: 13px;
font-size: 14px;
font-weight: 500;
color: var(--color-text);
}
@@ -1277,18 +1277,18 @@ onMounted(async () => {
padding: 12px 24px;
font-size: 14px;
font-weight: 600;
color: #1890ff;
color: var(--color-primary);
background: transparent;
border: 1px solid #1890ff;
border: 1px solid var(--color-primary);
border-radius: 0;
cursor: pointer;
overflow: hidden;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
box-shadow:
0 0 10px rgba(24, 144, 255, 0.3),
inset 0 0 10px rgba(24, 144, 255, 0.1);
box-shadow:
0 0 10px rgba(59, 130, 246, 0.3),
inset 0 0 10px rgba(59, 130, 246, 0.1);
}
.cyber-button::before {
@@ -1298,7 +1298,7 @@ onMounted(async () => {
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(24, 144, 255, 0.2), transparent);
background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.2), transparent);
transition: left 0.5s ease;
}
@@ -1307,19 +1307,19 @@ onMounted(async () => {
}
.cyber-button:hover:not(.cyber-button--disabled) {
background: rgba(24, 144, 255, 0.1);
box-shadow:
0 0 20px rgba(24, 144, 255, 0.5),
0 0 40px rgba(24, 144, 255, 0.3),
inset 0 0 20px rgba(24, 144, 255, 0.2);
background: rgba(59, 130, 246, 0.1);
box-shadow:
0 0 20px rgba(59, 130, 246, 0.5),
0 0 40px rgba(59, 130, 246, 0.3),
inset 0 0 20px rgba(59, 130, 246, 0.2);
transform: translateY(-1px);
}
.cyber-button:active:not(.cyber-button--disabled) {
transform: translateY(0);
box-shadow:
0 0 15px rgba(24, 144, 255, 0.4),
inset 0 0 15px rgba(24, 144, 255, 0.15);
box-shadow:
0 0 15px rgba(59, 130, 246, 0.4),
inset 0 0 15px rgba(59, 130, 246, 0.15);
}
.cyber-button__content {
@@ -1338,7 +1338,7 @@ onMounted(async () => {
width: 0;
height: 0;
border-radius: 50%;
background: rgba(24, 144, 255, 0.4);
background: rgba(59, 130, 246, 0.4);
transform: translate(-50%, -50%);
transition: width 0.6s ease, height 0.6s ease;
pointer-events: none;
@@ -1352,7 +1352,7 @@ onMounted(async () => {
.cyber-button__text {
position: relative;
z-index: 2;
text-shadow: 0 0 10px rgba(24, 144, 255, 0.8);
text-shadow: 0 0 10px rgba(59, 130, 246, 0.8);
}
.cyber-button__arrow {
@@ -1378,8 +1378,8 @@ onMounted(async () => {
.cyber-button__spinner {
width: 14px;
height: 14px;
border: 2px solid rgba(24, 144, 255, 0.3);
border-top-color: #1890ff;
border: 2px solid rgba(59, 130, 246, 0.3);
border-top-color: var(--color-primary);
border-radius: 50%;
animation: cyber-spin 0.8s linear infinite;
}
@@ -1394,9 +1394,9 @@ onMounted(async () => {
.cyber-button:disabled {
opacity: 0.4;
cursor: not-allowed;
border-color: rgba(24, 144, 255, 0.3);
border-color: rgba(59, 130, 246, 0.3);
box-shadow: none;
color: rgba(24, 144, 255, 0.5);
color: rgba(59, 130, 246, 0.5);
}
.cyber-button--disabled:hover,
@@ -1419,7 +1419,7 @@ onMounted(async () => {
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
font-size: 14px;
color: var(--color-primary);
}