+
{item.content}
{!item.is_read &&
未读}
diff --git a/frontend/src/pages/Preview/PreviewPage.css b/frontend/src/pages/Preview/PreviewPage.css
index 1b08e34..f86bb0f 100644
--- a/frontend/src/pages/Preview/PreviewPage.css
+++ b/frontend/src/pages/Preview/PreviewPage.css
@@ -1,38 +1,39 @@
.preview-page {
height: 100vh;
overflow: hidden;
- background: #fff;
+ background: var(--bg-color);
}
.preview-layout {
height: 100%;
- background: #fff;
+ background: var(--bg-color);
}
.preview-sider {
- border-right: 1px solid #f0f0f0;
+ border-right: 1px solid var(--border-color);
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
+ background: var(--sider-bg);
}
.preview-sider-header {
padding: 16px;
- border-bottom: 1px solid #f0f0f0;
+ border-bottom: 1px solid var(--border-color);
}
.preview-sider-header h2 {
margin: 0 0 8px 0;
font-size: 18px;
font-weight: 600;
- color: rgba(0, 0, 0, 0.88);
+ color: var(--text-color);
}
.preview-project-desc {
margin: 0;
font-size: 13px;
- color: rgba(0, 0, 0, 0.45);
+ color: var(--text-color-secondary);
line-height: 1.5;
}
@@ -40,6 +41,8 @@
flex: 1;
overflow-y: auto;
border-right: none;
+ background: var(--sider-bg);
+ color: var(--text-color);
}
/* 修复文档名过长的显示问题 */
@@ -57,12 +60,12 @@
.preview-content-layout {
position: relative;
height: 100%;
- background: #fff;
+ background: var(--bg-color);
}
.preview-toc-sider {
- border-left: 1px solid #f0f0f0;
- background: #fafafa !important;
+ border-left: 1px solid var(--border-color);
+ background: var(--bg-color-secondary) !important;
height: 100%;
overflow: hidden;
display: flex;
@@ -71,18 +74,18 @@
.toc-header {
padding: 16px;
- border-bottom: 1px solid #f0f0f0;
+ border-bottom: 1px solid var(--border-color);
display: flex;
justify-content: space-between;
align-items: center;
- background: #fff;
+ background: var(--header-bg);
}
.toc-header h3 {
margin: 0;
font-size: 14px;
font-weight: 600;
- color: rgba(0, 0, 0, 0.85);
+ color: var(--text-color);
}
.toc-content {
@@ -102,18 +105,18 @@
.toc-content .ant-anchor-link-title {
font-size: 13px;
- color: rgba(0, 0, 0, 0.75);
+ color: var(--text-color-secondary);
line-height: 1.5;
white-space: nowrap;
}
.toc-content .ant-anchor-link-active > .ant-anchor-link-title {
- color: #1890ff;
+ color: var(--link-color);
font-weight: 500;
}
.toc-empty {
- color: #999;
+ color: var(--text-color-secondary);
text-align: center;
margin-top: 40px;
font-size: 13px;
@@ -131,7 +134,7 @@
.preview-content {
height: 100%;
overflow-y: auto;
- background: #fff;
+ background: var(--bg-color);
}
.preview-content-wrapper {
@@ -160,7 +163,8 @@
.markdown-body {
font-size: 16px;
line-height: 1.6;
- color: #333;
+ color: var(--text-color);
+ background-color: var(--bg-color);
}
.markdown-body h1 {
@@ -169,7 +173,8 @@
margin-top: 24px;
margin-bottom: 16px;
padding-bottom: 8px;
- border-bottom: 1px solid #eaecef;
+ border-bottom: 1px solid var(--border-color);
+ color: var(--text-color);
}
.markdown-body h2 {
@@ -178,30 +183,38 @@
margin-top: 24px;
margin-bottom: 16px;
padding-bottom: 8px;
- border-bottom: 1px solid #eaecef;
+ border-bottom: 1px solid var(--border-color);
+ color: var(--text-color);
}
-.markdown-body h3 {
- font-size: 20px;
+.markdown-body h3,
+.markdown-body h4,
+.markdown-body h5,
+.markdown-body h6 {
font-weight: 600;
margin-top: 20px;
margin-bottom: 12px;
+ color: var(--text-color);
}
+.markdown-body h3 { font-size: 20px; }
+
.markdown-body p {
margin-bottom: 16px;
+ color: var(--text-color);
}
.markdown-body code {
- background-color: #f6f8fa;
+ background-color: var(--code-bg);
padding: 2px 6px;
border-radius: 3px;
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
font-size: 14px;
+ color: var(--text-color);
}
.markdown-body pre {
- background-color: #f6f8fa;
+ background-color: var(--code-bg);
padding: 16px;
border-radius: 6px;
overflow-x: auto;
@@ -211,12 +224,13 @@
.markdown-body pre code {
background-color: transparent;
padding: 0;
+ color: inherit;
}
.markdown-body blockquote {
padding: 0 16px;
- border-left: 4px solid #dfe2e5;
- color: #6a737d;
+ border-left: 4px solid var(--blockquote-border-color);
+ color: var(--blockquote-text-color);
margin-bottom: 16px;
}
@@ -230,12 +244,13 @@
.markdown-body th,
.markdown-body td {
- border: 1px solid #dfe2e5;
+ border: 1px solid var(--table-border-color);
padding: 8px 13px;
+ color: var(--text-color);
}
.markdown-body th {
- background-color: #f6f8fa;
+ background-color: var(--table-header-bg);
font-weight: 600;
}
@@ -245,7 +260,7 @@
}
.markdown-body a {
- color: #1677ff;
+ color: var(--link-color);
text-decoration: none;
}
@@ -257,6 +272,7 @@
.markdown-body ol {
margin-bottom: 16px;
padding-left: 2em;
+ color: var(--text-color);
}
.markdown-body li {
@@ -350,4 +366,4 @@
.markdown-body code {
font-size: 13px;
}
-}
+}
\ No newline at end of file
diff --git a/frontend/src/pages/ProjectList/ProjectList.css b/frontend/src/pages/ProjectList/ProjectList.css
index 599628b..4563073 100644
--- a/frontend/src/pages/ProjectList/ProjectList.css
+++ b/frontend/src/pages/ProjectList/ProjectList.css
@@ -13,6 +13,7 @@
margin: 0;
font-size: 24px;
font-weight: 600;
+ color: var(--text-color);
}
.project-card {
@@ -21,6 +22,8 @@
transition: all 0.3s;
position: relative;
overflow: hidden;
+ background: var(--card-bg);
+ border-color: var(--border-color);
}
.project-card:hover {
@@ -53,11 +56,12 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
+ color: var(--text-color);
}
.project-description {
font-size: 14px;
- color: #666;
+ color: var(--text-color-secondary);
margin-bottom: 12px;
min-height: 40px;
overflow: hidden;
@@ -69,5 +73,5 @@
.project-meta {
font-size: 12px;
- color: #999;
+ color: var(--text-color-secondary);
}
diff --git a/frontend/src/pages/System/Permissions.jsx b/frontend/src/pages/System/Permissions.jsx
index 2b1e163..aa5c8c5 100644
--- a/frontend/src/pages/System/Permissions.jsx
+++ b/frontend/src/pages/System/Permissions.jsx
@@ -154,7 +154,7 @@ function Permissions() {
return (
-
+
角色权限管理
@@ -177,7 +177,7 @@ function Permissions() {
}
>
{selectedRole ? (
-
+
当前角色:
{selectedRole.role_name}
@@ -189,9 +189,10 @@ function Permissions() {
style={{
marginBottom: 16,
padding: '12px',
- background: '#fff7e6',
+ background: 'var(--bg-color-secondary)',
borderRadius: 4,
- color: '#ad6800',
+ color: 'var(--text-color-secondary)',
+ border: '1px solid var(--border-color)',
}}
>
请从右侧选择一个角色来查看和编辑权限
diff --git a/frontend/src/pages/System/Roles.jsx b/frontend/src/pages/System/Roles.jsx
index a7a4beb..595410a 100644
--- a/frontend/src/pages/System/Roles.jsx
+++ b/frontend/src/pages/System/Roles.jsx
@@ -315,7 +315,7 @@ function Roles() {
return (
-
角色管理
+
角色管理
{/* 搜索和操作栏 */}
diff --git a/frontend/src/pages/System/Users.jsx b/frontend/src/pages/System/Users.jsx
index 9980143..e5c2dbf 100644
--- a/frontend/src/pages/System/Users.jsx
+++ b/frontend/src/pages/System/Users.jsx
@@ -300,7 +300,7 @@ function Users() {
return (
-
用户管理
+
用户管理
{/* 搜索和操作栏 */}
@@ -400,8 +400,8 @@ function Users() {
))}
-
-
+
+
注意:新用户的初始密码将在创建成功后显示,请妥善保管!
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index ac36ac0..a412e92 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -4,6 +4,7 @@ export default {
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
+ darkMode: 'class',
theme: {
extend: {
colors: {