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
+20 -38
View File
@@ -1,34 +1,21 @@
/* 导入浏览器主题保护样式 */
@import url('./theme-protection.css');
/* 导入主题变量(亮色覆盖暗色,由 data-theme 控制) */
@import url('./themes/ClassicDark.css');
@import url('./themes/ClassicLight.css');
@import url('./themes/ModernLight.css');
@unocss;
@tailwind base;
@tailwind components;
@tailwind utilities;
/* 防止浏览器自动应用深色主题 */
:root {
color-scheme: light dark;
}
/* 全局控件默认强调色 — 跟随主题主色调,但允许显式 accent-* 类覆盖 */
input[type="checkbox"]:not([class*="accent-"]),
input[type="radio"]:not([class*="accent-"]),
input[type="range"]:not([class*="accent-"]) {
accent-color: var(--accent-color);
}
/* 流体背景与全局样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
/* UnoCSS preflight 未重置 border-style,补齐后 utility 边框与加载转圈才能渲染 */
border-style: solid;
border-width: 0;
}
/* 字体显示策略优化 */
@@ -95,9 +82,9 @@ body::before {
width: 100%;
height: 100%;
background:
radial-gradient(circle at 20% 50%, rgba(var(--color-indigo-rgb), 0.03) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, var(--bg-texture-warm-glow) 0%, transparent 50%),
radial-gradient(circle at 40% 80%, rgba(var(--color-indigo-rgb), 0.02) 0%, transparent 50%);
radial-gradient(circle at 20% 50%, rgba(120, 119, 198, 0.03) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.01) 0%, transparent 50%),
radial-gradient(circle at 40% 80%, rgba(120, 119, 198, 0.02) 0%, transparent 50%);
z-index: -1;
pointer-events: none;
}
@@ -246,9 +233,9 @@ body::before {
border-radius: var(--radius-xl);
padding: var(--spacing-2xl);
box-shadow:
0 4px 6px var(--mask-10),
0 1px 3px var(--mask-8),
inset 0 1px 0 var(--overlay-5);
0 4px 6px rgba(0, 0, 0, 0.1),
0 1px 3px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
transition: all var(--transition-normal);
position: relative;
overflow: hidden;
@@ -261,16 +248,16 @@ body::before {
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--overlay-10), transparent);
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}
.card:hover {
transform: translateY(-4px);
border-color: var(--card-hover-border);
box-shadow:
0 12px 24px var(--mask-15),
0 4px 8px var(--mask-10),
inset 0 1px 0 var(--overlay-10);
0 12px 24px rgba(0, 0, 0, 0.15),
0 4px 8px rgba(0, 0, 0, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
/* 按钮 */
@@ -289,7 +276,7 @@ body::before {
font-size: var(--text-sm);
position: relative;
overflow: hidden;
box-shadow: 0 2px 4px var(--mask-10);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.btn::before {
@@ -299,7 +286,7 @@ body::before {
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, var(--overlay-10), transparent);
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
transition: left 0.5s;
}
@@ -316,7 +303,7 @@ body::before {
.btn-primary:hover {
background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary) 100%);
transform: translateY(-1px);
box-shadow: 0 4px 12px var(--btn-primary-shadow);
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
.btn-secondary {
@@ -326,10 +313,10 @@ body::before {
}
.btn-secondary:hover {
background: linear-gradient(135deg, var(--bg-quaternary) 0%, var(--btn-secondary-hover) 100%);
background: linear-gradient(135deg, var(--bg-quaternary) 0%, #4a4a4a 100%);
color: var(--text-primary);
transform: translateY(-1px);
box-shadow: 0 4px 12px var(--overlay-10);
box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
}
.btn-outline {
@@ -344,7 +331,7 @@ body::before {
border-color: var(--primary);
color: var(--primary);
transform: translateY(-1px);
box-shadow: 0 4px 12px var(--primary-20);
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}
.btn:disabled {
@@ -392,7 +379,7 @@ body::before {
border-color: var(--input-border-focus);
box-shadow:
var(--input-shadow-focus),
0 4px 12px var(--primary-10);
0 4px 12px rgba(102, 126, 234, 0.1);
background: var(--bg-secondary);
transform: translateY(-1px);
}
@@ -485,8 +472,3 @@ body::before {
max-width: none !important;
}
}
/* 重置 fixed 元素外边距:space-y-* 布局规则会给子元素加 margin-top,导致弹窗遮罩定位偏移 */
.fixed {
margin: 0 !important;
}