feat(theme): 添加侧边栏配色方案和相关设置

- 引入侧边栏配色方案枚举,支持经典蓝和极简白
- 更新设置存储以包含侧边栏配色方案
- 在主题设置中添加侧边栏配色选项
- 优化相关组件样式以适应新配色方案
- 更新语言包以支持新设置项
This commit is contained in:
zhangtao
2026-03-28 00:44:34 +08:00
parent 565663be4a
commit 015e403060
59 changed files with 2109 additions and 3178 deletions
@@ -782,11 +782,11 @@ onBeforeUnmount(() => {
z-index: 9999;
width: 60px;
height: 60px;
box-shadow: 0 4px 12px rgba(2, 119, 252, 0.4);
box-shadow: var(--el-box-shadow);
transition: all 0.3s ease;
&:hover {
box-shadow: 0 6px 20px rgba(2, 119, 252, 0.6);
box-shadow: var(--el-box-shadow-dark);
transform: scale(1.1);
}
@@ -806,12 +806,12 @@ onBeforeUnmount(() => {
height: 42px;
font-size: 14px;
font-weight: 600;
color: #fff;
color: var(--el-color-white);
cursor: pointer;
user-select: none;
background: var(--el-color-primary);
border-radius: 999px;
box-shadow: 0 4px 12px rgba(2, 119, 252, 0.35);
box-shadow: var(--el-box-shadow);
}
}
@@ -853,7 +853,7 @@ onBeforeUnmount(() => {
transition: all 0.3s;
&:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
box-shadow: var(--el-box-shadow-light);
transform: translateY(-2px);
}
}
+7 -1
View File
@@ -76,4 +76,10 @@ onBeforeMount(() => {
});
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
// 覆盖 element-plus 的样式
.el-breadcrumb__inner,
.el-breadcrumb__inner a {
font-weight: 400 !important;
}
</style>
@@ -10,7 +10,7 @@
width="80"
height="80"
viewBox="0 0 250 250"
style="color: #fff; fill: #40c9c6"
style="color: var(--el-color-white); fill: var(--el-color-primary)"
aria-hidden="true"
>
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" />
+1 -1
View File
@@ -47,7 +47,7 @@ const displayText = computed(() => {
padding: 8px;
overflow: auto;
background-color: var(--el-fill-color-blank);
border: 1px solid #e5e7eb;
border: 1px solid var(--el-border-color-lighter);
border-radius: 4px;
}
+1 -23
View File
@@ -550,22 +550,7 @@ function loadRoutes(routes: RouteRecordRaw[], parentPath = "") {
background-color: var(--el-fill-color-blank);
border: 1px solid var(--el-border-color);
border-radius: 3px;
box-shadow:
inset 0 -2px 0 0 var(--el-border-color),
inset 0 0 1px 1px var(--el-color-white),
0 1px 2px rgba(30, 35, 90, 0.2);
&::before {
position: absolute;
top: 1px;
right: 1px;
left: 1px;
height: 50%;
pointer-events: none;
content: "";
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
border-radius: 2px 2px 0 0;
}
box-shadow: var(--el-box-shadow-light);
}
.esc-btn {
@@ -594,11 +579,4 @@ function loadRoutes(routes: RouteRecordRaw[], parentPath = "") {
padding-top: 10px;
text-align: right;
}
// 暗黑模式适配
html.dark {
.key-btn::before {
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
}
}
</style>
+1 -1
View File
@@ -294,7 +294,7 @@ watch(
text-align: center;
:deep(a) {
color: #fd4e4e !important;
color: var(--el-color-danger) !important;
text-decoration: none;
&:hover {
@@ -325,19 +325,19 @@ const onError = (error: any) => {
right: 1px;
display: none;
font-size: 16px;
color: #ff7901;
color: var(--el-color-warning);
cursor: pointer;
background: #fff;
background: var(--el-bg-color-overlay);
border-radius: 100%;
&:hover {
color: #ff4500;
color: var(--el-color-danger);
}
}
&__add-btn {
font-size: 28px;
color: #8c939d;
color: var(--el-text-color-placeholder);
}
}
@@ -356,6 +356,6 @@ const onError = (error: any) => {
.el-upload__tip {
margin-top: 7px;
font-size: 12px;
color: #606266;
color: var(--el-text-color-regular);
}
</style>