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
+8 -11
View File
@@ -7,7 +7,7 @@
<Transition name="entry" appear>
<div v-show="active" class="content">
<div class="year-bg">{{ data.year }}</div>
<div class="sub-title">{{ yearReview.reportTitle }}</div>
<div class="sub-title">年度点歌报告</div>
<h1 class="main-title">VoiceHub</h1>
</div>
</Transition>
@@ -15,13 +15,10 @@
</template>
<script setup>
import { useLocale } from '~/utils/locale'
defineProps({
data: Object,
active: Boolean
})
const { yearReview } = useLocale()
</script>
<style scoped>
@@ -34,7 +31,7 @@ const { yearReview } = useLocale()
align-items: center;
justify-content: center;
overflow: hidden;
background: radial-gradient(circle at center, var(--panel-bg-dark), var(--bg-primary));
background: radial-gradient(circle at center, var(--bg-secondary, #111827), #000000);
}
.blob {
@@ -49,7 +46,7 @@ const { yearReview } = useLocale()
left: -10%;
width: 500px;
height: 500px;
background: var(--year-review-blob-1-bg);
background: rgba(139, 92, 246, 0.4); /* brand-purple */
animation: spin 20s linear infinite;
}
@@ -58,7 +55,7 @@ const { yearReview } = useLocale()
right: -10%;
width: 600px;
height: 600px;
background: var(--year-review-blob-2-bg);
background: rgba(244, 114, 182, 0.2); /* brand-pink */
animation: reverse-spin 25s linear infinite;
}
@@ -76,7 +73,7 @@ const { yearReview } = useLocale()
transform: translate(-50%, -50%);
font-size: 14rem;
font-weight: 900;
color: var(--overlay-3);
color: rgba(255, 255, 255, 0.03);
pointer-events: none;
user-select: none;
line-height: 1;
@@ -85,7 +82,7 @@ const { yearReview } = useLocale()
.sub-title {
font-size: 1.5rem;
font-weight: 300;
color: var(--text-muted);
color: #9ca3af;
margin-bottom: 1rem;
letter-spacing: 0.2em;
text-transform: uppercase;
@@ -94,12 +91,12 @@ const { yearReview } = useLocale()
.main-title {
font-size: 5rem;
font-weight: 900;
background-image: linear-gradient(to right, var(--text-primary), var(--panel-border-light), var(--text-muted));
background-image: linear-gradient(to right, #ffffff, #e5e7eb, #6b7280);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: 2rem;
filter: drop-shadow(0 25px 25px var(--mask-15));
filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15));
}
@media (max-width: 768px) {