feat: 迁移自定义功能至 1.5.9.9 版本

包含音乐源限制、CI 防 OOM 优化、数据库连接池优化、管理端权限及 UI 细节定制等功能
This commit is contained in:
2026-09-12 19:26:42 +08:00
parent 34f0679117
commit 1106aeea6c
161 changed files with 18963 additions and 27900 deletions
+16 -19
View File
@@ -4,14 +4,14 @@
<Transition name="entry" appear>
<div v-show="active" class="content">
<div class="label">{{ yearReview.future }}</div>
<div class="label">未来可期</div>
<div class="year-container">
<h2 class="year-next">{{ data.year + 1 }}</h2>
<div class="year-underline" />
</div>
<p class="text-intro">{{ yearReview.futureDesc }}</p>
<p class="text-intro">愿音乐继续陪伴你的每一天</p>
<div class="action-buttons">
<NuxtLink to="/" class="btn-primary group">
@@ -30,7 +30,7 @@
<path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
<polyline points="9 22 9 12 15 12 15 22" />
</svg>
{{ yearReview.backHome }}
返回首页
</span>
</NuxtLink>
</div>
@@ -40,14 +40,11 @@
</template>
<script setup>
import { useLocale } from '~/utils/locale'
defineProps({
data: Object,
active: Boolean
})
defineEmits(['share'])
const { yearReview } = useLocale()
</script>
<style scoped>
@@ -59,13 +56,13 @@ const { yearReview } = useLocale()
align-items: center;
justify-content: center;
overflow: hidden;
background-color: var(--bg-primary);
background-color: var(--bg-primary, #111111);
}
.bg-gradient {
position: absolute;
inset: 0;
background: radial-gradient(circle at center, var(--panel-border-subtle), var(--bg-primary), var(--bg-primary));
background: radial-gradient(circle at center, var(--bg-secondary, #1f2937), #000, #000);
opacity: 0.5;
}
@@ -78,7 +75,7 @@ const { yearReview } = useLocale()
}
.label {
color: var(--year-review-text-tertiary);
color: #6b7280;
font-size: 0.875rem;
letter-spacing: 0.5em;
text-transform: uppercase;
@@ -95,7 +92,7 @@ const { yearReview } = useLocale()
font-size: 6rem;
font-weight: 900;
line-height: 1;
background-image: linear-gradient(to bottom, var(--text-primary), var(--panel-border-subtle));
background-image: linear-gradient(to bottom, #fff, #1f2937);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
@@ -107,12 +104,12 @@ const { yearReview } = useLocale()
left: 0;
width: 100%;
height: 4px;
background: linear-gradient(to right, transparent, var(--overlay-20), transparent);
background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2), transparent);
}
.text-intro {
font-size: 1.125rem;
color: var(--text-muted);
color: #9ca3af;
margin-bottom: 3rem;
}
@@ -135,8 +132,8 @@ const { yearReview } = useLocale()
width: 100%;
padding: 1rem 2rem;
border-radius: 9999px;
background: var(--text-primary);
color: var(--bg-primary);
background: var(--card-bg, #fff);
color: var(--text-primary, #000);
font-weight: 700;
font-size: 1.125rem;
overflow: hidden;
@@ -153,7 +150,7 @@ const { yearReview } = useLocale()
.btn-bg {
position: absolute;
inset: 0;
background: var(--panel-border-light);
background: #e5e7eb;
transform: translateY(100%);
transition: transform 0.3s;
}
@@ -174,9 +171,9 @@ const { yearReview } = useLocale()
width: 100%;
padding: 1rem 2rem;
border-radius: 9999px;
background: var(--overlay-10);
border: 1px solid var(--overlay-20);
color: var(--text-primary);
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
color: var(--text-primary, #ffffff);
font-weight: 700;
font-size: 1.125rem;
backdrop-filter: blur(12px);
@@ -188,7 +185,7 @@ const { yearReview } = useLocale()
}
.btn-secondary:hover {
background: var(--overlay-20);
background: rgba(255, 255, 255, 0.2);
}
.btn-secondary:active {