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
+19 -21
View File
@@ -12,27 +12,27 @@
</div>
<div class="title-section">
<h1 class="main-title">{{ yearReview.reportTitle }}</h1>
<h1 class="main-title">年度点歌报告</h1>
<p class="subtitle">Music Journey</p>
</div>
<div class="stats-grid">
<div class="stat-item">
<div class="stat-value">{{ data.totalRequests }}</div>
<div class="stat-label">{{ yearReview.requests }}</div>
<div class="stat-label">点歌次数</div>
</div>
<div class="stat-item">
<div class="stat-value">{{ data.playedRequests }}</div>
<div class="stat-label">{{ yearReview.played }}</div>
<div class="stat-label">已播放</div>
</div>
<div class="stat-item">
<div class="stat-value">{{ data.totalVotes }}</div>
<div class="stat-label">{{ yearReview.votes }}</div>
<div class="stat-label">投票数</div>
</div>
</div>
<div class="footer">
<div class="footer-text">{{ yearReview.footerSlogan }}</div>
<div class="footer-text">用音乐记录每一刻</div>
<div class="footer-line" />
</div>
</div>
@@ -41,7 +41,6 @@
<script setup>
import { ref } from 'vue'
import { useLocale } from '~/utils/locale'
defineProps({
data: {
@@ -51,7 +50,6 @@ defineProps({
})
const shareCardRef = ref(null)
const { yearReview } = useLocale()
defineExpose({
shareCardRef
@@ -65,7 +63,7 @@ defineExpose({
height: 100%;
min-height: 600px;
overflow: hidden;
background: linear-gradient(135deg, var(--panel-bg-tertiary) 0%, var(--panel-bg-tertiary) 50%, var(--panel-bg-tertiary) 100%);
background: linear-gradient(135deg, var(--bg-secondary, #0f0f23) 0%, #1a1a2e 50%, #16213e 100%);
}
.card-background {
@@ -77,9 +75,9 @@ defineExpose({
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 30%, var(--index-card-glow) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, var(--year-review-gradient-overlay-end) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, var(--primary-10) 0%, transparent 60%);
radial-gradient(circle at 20% 30%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, rgba(244, 114, 182, 0.15) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(59, 130, 246, 0.1) 0%, transparent 60%);
}
.noise-overlay {
@@ -108,7 +106,7 @@ defineExpose({
.logo {
font-size: 1.5rem;
font-weight: 900;
background: linear-gradient(135deg, var(--color-collab), var(--color-pink));
background: linear-gradient(135deg, #8b5cf6, #ec4899);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
@@ -117,7 +115,7 @@ defineExpose({
.year {
font-size: 3rem;
font-weight: 900;
color: var(--overlay-10);
color: rgba(255, 255, 255, 0.1);
line-height: 1;
}
@@ -129,7 +127,7 @@ defineExpose({
.main-title {
font-size: 3.5rem;
font-weight: 900;
background: linear-gradient(135deg, var(--text-primary) 0%, var(--panel-border-light) 50%, var(--text-muted) 100%);
background: linear-gradient(135deg, var(--card-bg, #ffffff) 0%, #e5e7eb 50%, #9ca3af 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
@@ -139,7 +137,7 @@ defineExpose({
.subtitle {
font-size: 1.25rem;
color: var(--overlay-50);
color: rgba(255, 255, 255, 0.5);
letter-spacing: 0.3em;
text-transform: uppercase;
}
@@ -154,16 +152,16 @@ defineExpose({
.stat-item {
text-align: center;
padding: 1.5rem;
background: var(--overlay-3);
background: rgba(255, 255, 255, 0.03);
border-radius: 1rem;
border: 1px solid var(--overlay-8);
border: 1px solid rgba(255, 255, 255, 0.08);
backdrop-filter: blur(10px);
}
.stat-value {
font-size: 2.5rem;
font-weight: 900;
background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-light));
background: linear-gradient(135deg, #60a5fa, #3b82f6);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
@@ -172,7 +170,7 @@ defineExpose({
.stat-label {
font-size: 0.875rem;
color: var(--overlay-50);
color: rgba(255, 255, 255, 0.5);
letter-spacing: 0.05em;
}
@@ -183,7 +181,7 @@ defineExpose({
.footer-text {
font-size: 0.875rem;
color: var(--overlay-40);
color: rgba(255, 255, 255, 0.4);
letter-spacing: 0.1em;
margin-bottom: 1rem;
}
@@ -191,7 +189,7 @@ defineExpose({
.footer-line {
width: 100px;
height: 2px;
background: linear-gradient(90deg, transparent, var(--overlay-20), transparent);
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
margin: 0 auto;
}