,
+ label: "确认退出",
+ danger: true,
+ },
+ ];
+
+ return (
+
+ {isAuthenticated && user ? (
+ <>
+ {/* 左侧:头像 */}
+
}
+ className="mr-1 bg-[#2563eb] text-white"
+ />
+
+ {/* 右侧:用户名和已登录按钮 */}
+
+
+ {user.showname || user.username}
+
+
key === "logout" && logout(),
+ }}
+ placement="bottom"
+ arrow
+ >
+ }
+ className="text-gray-500 hover:text-[#2563eb] p-0 h-auto"
+ >
+ 退出
+
+
+
+ >
+ ) : (
+
}
+ onClick={() => navigate("/login")}
+ >
+ 登录
+
+ )}
+
+ );
+}
\ No newline at end of file
diff --git a/apps/web/src/index.css b/apps/web/src/index.css
index 65e941c..4b8bde2 100755
--- a/apps/web/src/index.css
+++ b/apps/web/src/index.css
@@ -159,4 +159,76 @@
.custom-table .ant-table-tbody>tr:last-child>td {
border-bottom: none;
/* 去除最后一行的底部边框 */
-}
\ No newline at end of file
+}
+
+
+
+
+ /* 强制保持父菜单正常透明度 */
+
+/* 父菜单项默认状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline > .ant-menu-item,
+.ant-menu.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {
+ color: #000000 !important;
+ background: transparent !important;
+ opacity: 1 !important;
+} */
+
+/* 父菜单项悬浮状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline > .ant-menu-item:hover,
+.ant-menu.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title:hover {
+ background: rgba(255, 255, 255, 0.1) !important;
+ color: #000000 !important;
+} */
+
+/* 父菜单项选中状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline > .ant-menu-item.ant-menu-item-selected {
+ background: #0b3c7c !important;
+ color: #ffffff !important;
+} */
+
+/* 父菜单展开/激活状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline > .ant-menu-submenu.ant-menu-submenu-active > .ant-menu-submenu-title,
+.ant-menu.ant-menu-inline > .ant-menu-submenu.ant-menu-submenu-open > .ant-menu-submenu-title {
+ background: rgba(255, 255, 255, 0.1) !important;
+ color: #000000 !important;
+} */
+
+/* 子菜单容器背景 */
+/* .ant-menu.ant-menu-inline .ant-menu-sub.ant-menu-inline {
+ background: #0b3c7c !important;
+} */
+
+/* 子菜单项默认状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline .ant-menu-sub .ant-menu-item {
+ color: #000000 !important;
+ background: transparent !important;
+} */
+
+/* 子菜单项悬浮状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline .ant-menu-sub .ant-menu-item:hover {
+ background: rgba(255, 255, 255, 0.1) !important;
+ color: #000000 !important;
+} */
+
+/* 子菜单项选中状态 - 只修改颜色 */
+/* .ant-menu.ant-menu-inline .ant-menu-sub .ant-menu-item.ant-menu-item-selected {
+ background: #0b3c7c !important;
+ color: #ffffff !important;
+} */
+
+/* 确保图标颜色与文字一致 */
+/* .ant-menu .ant-menu-item .anticon,
+.ant-menu .ant-menu-submenu-title .anticon {
+ color: inherit !important;
+} */
+
+/* 移除默认的after伪元素 */
+/* .ant-menu.ant-menu-inline .ant-menu-item::after,
+.ant-menu.ant-menu-inline .ant-menu-submenu > .ant-menu-submenu-title::after {
+ display: none !important;
+} */
+ /* 针对 inline 模式下的子菜单 */
+.ant-menu.ant-menu-inline .ant-menu-sub.ant-menu-inline {
+ background: #f9fafb !important;
+ }
\ No newline at end of file
diff --git a/config/nginx/conf.d/web.conf b/config/nginx/conf.d/web.conf
index 65d2e35..647ca51 100755
--- a/config/nginx/conf.d/web.conf
+++ b/config/nginx/conf.d/web.conf
@@ -2,7 +2,7 @@ server {
# 监听80端口
listen 80;
# 服务器域名/IP地址,使用环境变量
- server_name 192.168.142.194;
+ server_name localhost;
# 基础性能优化配置
# 启用tcp_nopush以优化数据发送
@@ -100,7 +100,7 @@ server {
# 仅供内部使用
internal;
# 代理到认证服务
- proxy_pass http://192.168.142.194:3000/auth/file;
+ proxy_pass http://localhost:3000/auth/file;
# 请求优化:不传递请求体
proxy_pass_request_body off;