diff --git a/Yi.Ai.Vue3/src/styles/dark-theme.scss b/Yi.Ai.Vue3/src/styles/dark-theme.scss index 913e1d4e..66ff47cf 100644 --- a/Yi.Ai.Vue3/src/styles/dark-theme.scss +++ b/Yi.Ai.Vue3/src/styles/dark-theme.scss @@ -2,69 +2,85 @@ /* 全局基础样式 */ [data-theme="dark"] { - background-color: #111827; + background: + linear-gradient(135deg, rgb(10, 10, 10) 0%, rgb(13, 21, 32) 30%, rgb(10, 10, 10) 70%, rgb(15, 21, 32) 100%), + linear-gradient(135deg, rgba(0, 255, 136, 0.03) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 255, 136, 0.02) 100%); + background-attachment: fixed; color: #f3f4f6; } [data-theme="dark"] body { - background-color: #111827; + background: + linear-gradient(135deg, rgb(10, 10, 10) 0%, rgb(13, 21, 32) 30%, rgb(10, 10, 10) 70%, rgb(15, 21, 32) 100%), + linear-gradient(135deg, rgba(0, 255, 136, 0.03) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 255, 136, 0.02) 100%); + background-attachment: fixed; color: #f3f4f6; } +/* ========== 脉冲动画 ========== */ +@keyframes pulse { + 0%, 100% { + box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.4); + } + 50% { + box-shadow: 0 0 0 10px rgba(0, 255, 136, 0); + } +} + [data-theme="dark"] { /* ========== Element Plus 核心变量 ========== */ - --el-color-primary: #60a5fa; - --el-color-primary-light-3: #93c5fd; - --el-color-primary-light-5: #bfdbfe; - --el-color-primary-light-7: #dbeafe; - --el-color-primary-light-8: #1e3a5f; - --el-color-primary-light-9: #172554; - --el-color-primary-dark-2: #3b82f6; + --el-color-primary: #00ff88; + --el-color-primary-light-3: #00ff88; + --el-color-primary-light-5: #00ff88; + --el-color-primary-light-7: rgba(0, 255, 136, 0.15); + --el-color-primary-light-8: rgba(0, 255, 136, 0.1); + --el-color-primary-light-9: rgba(0, 255, 136, 0.05); + --el-color-primary-dark-2: #00d36e; - --el-color-success: #34d399; + --el-color-success: #00d36e; --el-color-warning: #fbbf24; --el-color-danger: #f87171; --el-color-error: #f87171; --el-color-info: #9ca3af; /* 背景色 */ - --el-bg-color: #111827; - --el-bg-color-page: #0f172a; - --el-bg-color-overlay: #1f2937; + --el-bg-color: #04080b; + --el-bg-color-page: transparent; + --el-bg-color-overlay: #04080b; /* 文字颜色 */ - --el-text-color-primary: #f9fafb; - --el-text-color-regular: #e5e7eb; - --el-text-color-secondary: #9ca3af; - --el-text-color-placeholder: #6b7280; + --el-text-color-primary: #ffffff; + --el-text-color-regular: #a0a0a0; + --el-text-color-secondary: #a0a0a0; + --el-text-color-placeholder: #666; --el-text-color-disabled: #4b5563; /* 边框颜色 */ - --el-border-color: #374151; - --el-border-color-light: #4b5563; - --el-border-color-lighter: #374151; - --el-border-color-extra-light: #1f2937; - --el-border-color-dark: #6b7280; - --el-border-color-darker: #9ca3af; + --el-border-color: rgba(0, 255, 136, 0.15); + --el-border-color-light: rgba(0, 255, 136, 0.2); + --el-border-color-lighter: rgba(0, 255, 136, 0.15); + --el-border-color-extra-light: rgba(0, 255, 136, 0.1); + --el-border-color-dark: rgba(0, 255, 136, 0.3); + --el-border-color-darker: rgba(0, 255, 136, 0.4); /* 填充色 */ - --el-fill-color: #374151; - --el-fill-color-light: #1f2937; - --el-fill-color-lighter: #111827; - --el-fill-color-extra-light: #0f172a; - --el-fill-color-dark: #4b5563; - --el-fill-color-darker: #6b7280; - --el-fill-color-blank: #1f2937; + --el-fill-color: #04080b; + --el-fill-color-light: rgba(0, 255, 136, 0.08); + --el-fill-color-lighter: #0a0a0a; + --el-fill-color-extra-light: transparent; + --el-fill-color-dark: rgba(0, 255, 136, 0.12); + --el-fill-color-darker: rgba(0, 255, 136, 0.15); + --el-fill-color-blank: #04080b; /* 遮罩层 */ - --el-mask-color: rgba(0, 0, 0, 0.7); - --el-mask-color-extra-light: rgba(0, 0, 0, 0.4); + --el-mask-color: rgba(0, 0, 0, 0.8); + --el-mask-color-extra-light: rgba(0, 0, 0, 0.5); /* 阴影 */ - --el-box-shadow: 0 12px 32px 4px rgba(0, 0, 0, 0.36), 0 8px 20px rgba(0, 0, 0, 0.72); - --el-box-shadow-light: 0 0 12px rgba(0, 0, 0, 0.48); - --el-box-shadow-lighter: 0 0 6px rgba(0, 0, 0, 0.36); - --el-box-shadow-dark: 0 16px 48px 16px rgba(0, 0, 0, 0.72), 0 12px 32px rgba(0, 0, 0, 0.64); + --el-box-shadow: 0 12px 32px 4px rgba(0, 0, 0, 0.5), 0 8px 20px rgba(0, 0, 0, 0.7); + --el-box-shadow-light: 0 0 12px rgba(0, 255, 136, 0.1); + --el-box-shadow-lighter: 0 0 6px rgba(0, 0, 0, 0.4); + --el-box-shadow-dark: 0 16px 48px 16px rgba(0, 0, 0, 0.6), 0 12px 32px rgba(0, 0, 0, 0.5); } /* ========== 深色主题组件样式 ========== */ @@ -135,53 +151,165 @@ /* 输入框 */ .el-input__wrapper, .el-textarea__inner { - background-color: var(--bg-color-secondary) !important; - box-shadow: 0 0 0 1px var(--border-color-light) inset !important; + background-color: #04080b !important; + box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.2) inset !important; + border-radius: 0 !important; + + &:hover { + box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.3) inset !important; + } + + &.is-focus { + box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.4) inset !important; + } } .el-input__inner { - color: var(--text-color-primary) !important; + color: #a0a0a0 !important; + + &::placeholder { + color: #666 !important; + } } - /* 按钮 */ - .el-button--default { - background-color: var(--bg-color-secondary) !important; - border-color: var(--border-color-light) !important; - color: var(--text-color-primary) !important; + .el-textarea__inner { + color: #a0a0a0 !important; + + &::placeholder { + color: #666 !important; + } + } + + /* ========== 按钮样式 ========== */ + .el-button{ + background-color: #00d36e !important; + border-color: #00d36e !important; + color: #000000 !important; + font-weight: 600 !important; + border: none !important; + padding: 14px 28px !important; + font-size: 1rem !important; + line-height: 1.5rem !important; + border-radius: 0 !important; + animation: pulse 2s infinite !important; &:hover { - background-color: var(--bg-color-tertiary) !important; - border-color: var(--el-color-primary) !important; - color: var(--el-color-primary) !important; + box-shadow: 0 10px 25px rgba(0, 255, 136, 0.3) !important; + } + } + + /* 主要按钮 */ + .el-button--primary { + background-color: #00d36e !important; + border-color: #00d36e !important; + color: #000000 !important; + font-weight: 600 !important; + border: none !important; + padding: 14px 28px !important; + font-size: 1rem !important; + line-height: 1.5rem !important; + border-radius: 0 !important; + animation: pulse 2s infinite !important; + + &:hover { + box-shadow: 0 10px 25px rgba(0, 255, 136, 0.3) !important; + } + } + + /* 次要按钮 */ + .el-button--default { + background-color: transparent !important; + border-color: rgba(255, 255, 255, 0.2) !important; + color: #ffffff !important; + font-weight: 600 !important; + border: 1px solid rgba(255, 255, 255, 0.2) !important; + padding: 14px 28px !important; + font-size: 1rem !important; + line-height: 1.5rem !important; + border-radius: 0 !important; + + &:hover { + background-color: rgba(255, 255, 255, 0.1) !important; + border-color: rgba(255, 255, 255, 0.3) !important; + } + } + + /* 成功按钮(使用主要样式) */ + .el-button--success { + background-color: #00d36e !important; + border-color: #00d36e !important; + color: #000000 !important; + font-weight: 600 !important; + border-radius: 0 !important; + animation: pulse 2s infinite !important; + + &:hover { + box-shadow: 0 10px 25px rgba(0, 255, 136, 0.3) !important; } } /* 卡片 */ .el-card { - background-color: var(--bg-color-secondary) !important; - border-color: var(--border-color-light) !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + border-width: 1px; + border-radius: 0 !important; + box-shadow: none !important; + padding: 20px !important; + display: flex; + flex-direction: column; + align-self: stretch; + + &:hover { + border-color: rgba(0, 255, 136, 0.4) !important; + } + + .el-card__body { + padding: 0 !important; + } + } + + /* 产品卡片 */ + .product-card { + background-color: #04080b !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; + border-radius: 0 !important; + padding: 20px; + box-shadow: none !important; + display: flex; + flex-direction: column; + align-self: stretch; + + &:hover { + border-color: rgba(0, 255, 136, 0.4) !important; + } } /* 弹窗 */ .el-dialog { - background-color: var(--bg-color-secondary) !important; + background-color: #04080b !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; .el-dialog__header { - border-bottom-color: var(--border-color-light) !important; + border-bottom-color: rgba(0, 255, 136, 0.15) !important; } .el-dialog__title { - color: var(--text-color-primary) !important; + color: #ffffff !important; + } + + .el-dialog__body { + color: #a0a0a0 !important; } } /* 抽屉 */ .el-drawer { - background-color: var(--bg-color-secondary) !important; + background-color: #04080b !important; .el-drawer__header { - color: var(--text-color-primary) !important; - border-bottom-color: var(--border-color-light) !important; + color: #ffffff !important; + border-bottom-color: rgba(0, 255, 136, 0.15) !important; } } @@ -189,44 +317,66 @@ .el-dropdown-menu, .el-select-dropdown, .el-popper { - background-color: var(--bg-color-secondary) !important; - border-color: var(--border-color-light) !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } - .el-dropdown-menu__item, - .el-select-dropdown__item { - color: var(--text-color-primary) !important; + .el-dropdown-menu__item { + color: #a0a0a0 !important; &:hover { - background-color: var(--bg-color-tertiary) !important; + background-color: rgba(0, 255, 136, 0.08) !important; + color: #00ff88 !important; } } /* 表格 */ .el-table { - background-color: var(--bg-color-secondary) !important; - color: var(--text-color-primary) !important; + background-color: #04080b !important; + color: #a0a0a0 !important; + border-color: rgba(0, 255, 136, 0.15) !important; th.el-table__cell { - background-color: var(--bg-color-tertiary) !important; - color: var(--text-color-primary) !important; + background-color: rgba(0, 255, 136, 0.05) !important; + color: #ffffff !important; + border-color: rgba(0, 255, 136, 0.15) !important; + } + + td.el-table__cell { + border-color: rgba(0, 255, 136, 0.1) !important; } tr { - background-color: var(--bg-color-secondary) !important; + background-color: #04080b !important; &:hover > td.el-table__cell { - background-color: var(--bg-color-tertiary) !important; + background-color: rgba(0, 255, 136, 0.05) !important; } } + + .el-table__row { + background-color: #04080b !important; + } } /* 分页 */ .el-pagination { button, .el-pager li { - background-color: var(--bg-color-secondary) !important; - color: var(--text-color-primary) !important; + background-color: #04080b !important; + color: #a0a0a0 !important; + border: 1px solid rgba(0, 255, 136, 0.15) !important; + + &:hover { + color: #00ff88 !important; + border-color: rgba(0, 255, 136, 0.3) !important; + } + + &.is-active { + background-color: #00ff88 !important; + color: #000000 !important; + border-color: #00ff88 !important; + } } } @@ -246,11 +396,19 @@ /* 标签页 */ .el-tabs__item { - color: var(--text-color-secondary) !important; + color: #a0a0a0 !important; &.is-active { - color: var(--el-color-primary) !important; + color: #00ff88 !important; } + + &:hover { + color: #00ff88 !important; + } + } + + .el-tabs__active-bar { + background-color: #00ff88 !important; } /* 空状态 */ @@ -327,12 +485,14 @@ /* 创建对话按钮 */ .creat-chat-btn { - background-color: rgba(96, 165, 250, 0.1) !important; - border-color: rgba(96, 165, 250, 0.2) !important; - color: #60a5fa !important; + background-color: rgba(0, 255, 136, 0.1) !important; + border-color: rgba(0, 255, 136, 0.2) !important; + color: #00ff88 !important; + border-radius: 0 !important; &:hover:not(.is-disabled) { - background-color: rgba(96, 165, 250, 0.2) !important; + background-color: rgba(0, 255, 136, 0.2) !important; + border-color: rgba(0, 255, 136, 0.3) !important; } } @@ -362,39 +522,52 @@ /* Markdown 样式 */ .markdown-body { - color: var(--text-color-primary) !important; + color: #a0a0a0 !important; background-color: transparent !important; h1, h2, h3, h4, h5, h6 { - color: var(--text-color-primary) !important; - border-bottom-color: var(--border-color-light) !important; + color: #ffffff !important; + border-bottom-color: rgba(0, 255, 136, 0.2) !important; } a { - color: var(--el-color-primary) !important; + color: #00ff88 !important; + + &:hover { + color: #ffffff !important; + } } blockquote { - border-left-color: var(--border-color-default) !important; - color: var(--text-color-secondary) !important; + border-left-color: rgba(0, 255, 136, 0.3) !important; + color: #666 !important; } table { th, td { - border-color: var(--border-color-light) !important; + border-color: rgba(0, 255, 136, 0.15) !important; } tr { - background-color: var(--bg-color-secondary) !important; + background-color: #04080b !important; &:nth-child(2n) { - background-color: var(--bg-color-tertiary) !important; + background-color: rgba(0, 255, 136, 0.05) !important; } } } hr { - background-color: var(--border-color-light) !important; + background-color: rgba(0, 255, 136, 0.2) !important; + } + + p { + color: #a0a0a0 !important; + } + + code { + color: #00ff88 !important; + background-color: rgba(0, 255, 136, 0.1) !important; } } } @@ -403,48 +576,51 @@ [data-theme="dark"] { /* 登录弹窗 */ .glass-dialog { - background-color: #1f2937 !important; - box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4) !important; + background-color: #04080b !important; + box-shadow: 0 4px 24px rgba(0, 0, 0, 0.6) !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; } .left-section { background: linear-gradient( 233deg, - rgba(59, 130, 246, 0.3) 17.67%, - rgba(96, 165, 250, 0.3) 70.4% + rgba(0, 255, 136, 0.2) 17.67%, + rgba(0, 211, 110, 0.15) 70.4% ) !important; } .right-section { - background-color: #1f2937 !important; + background-color: #04080b !important; .content-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .mode-toggle { - color: #60a5fa !important; + color: #00ff88 !important; } } .form-container, .qr-container { - color: #e5e7eb !important; + color: #a0a0a0 !important; } /* 第三方登录按钮 */ .third-party-btn { - background-color: #374151 !important; + background-color: #04080b !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; &:hover { - background-color: #4b5563 !important; + background-color: rgba(0, 255, 136, 0.1) !important; + border-color: rgba(0, 255, 136, 0.3) !important; } } /* 分割线 */ .el-divider__text { - background-color: #1f2937 !important; - color: #9ca3af !important; + background-color: #04080b !important; + color: #666 !important; } } @@ -452,16 +628,16 @@ [data-theme="dark"] { /* 聊天默认页 */ .chat-default { - background-color: #111827 !important; + background-color: transparent !important; } .chat-default-wrap { - background-color: #111827 !important; + background-color: transparent !important; } /* 欢迎文字 */ .welcome-text { - color: #f3f4f6 !important; + color: #ffffff !important; } /* 打字机效果背景 */ @@ -470,18 +646,18 @@ } .el-typewriter__fog { - background: linear-gradient(to right, transparent, #111827) !important; + background: linear-gradient(to right, transparent, rgba(10, 10, 10, 0.8)) !important; } /* 滚动按钮 */ .scroll-btn { - background-color: #374151 !important; - border-color: rgba(255, 255, 255, 0.1) !important; - color: #9ca3af !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + color: #666 !important; &:hover { - background-color: #4b5563 !important; - color: #e5e7eb !important; + background-color: rgba(0, 255, 136, 0.1) !important; + color: #00ff88 !important; } } } @@ -491,33 +667,33 @@ .el-sender, .chat-defaul-sender, .chat-default-sender { - background-color: #1f2937 !important; - border-color: #374151 !important; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important; } .el-sender__inner { - background-color: #1f2937 !important; + background-color: #04080b !important; } .el-sender__header { - background-color: #1f2937 !important; - border-bottom-color: #374151 !important; + background-color: #04080b !important; + border-bottom-color: rgba(0, 255, 136, 0.15) !important; } .el-sender__footer { - background-color: #1f2937 !important; - border-top-color: #374151 !important; + background-color: #04080b !important; + border-top-color: rgba(0, 255, 136, 0.15) !important; } /* 文本域 */ .el-sender textarea, .el-sender .el-textarea__inner { background-color: transparent !important; - color: #f3f4f6 !important; + color: #a0a0a0 !important; &::placeholder { - color: #6b7280 !important; + color: #666 !important; } } } @@ -525,25 +701,26 @@ /* ========== 菜单深色样式 ========== */ [data-theme="dark"] { .el-menu { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.15) !important; } .el-menu-item, .el-sub-menu__title { - color: #e5e7eb !important; + color: #a0a0a0 !important; &:hover { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.08) !important; } &.is-active { - color: #60a5fa !important; + color: #00ff88 !important; + background-color: rgba(0, 255, 136, 0.15) !important; } } .el-sub-menu .el-menu { - background-color: #1f2937 !important; + background-color: #04080b !important; } } @@ -557,29 +734,31 @@ /* AI 气泡 */ .el-bubble[data-placement="start"] .el-bubble-content, .el-bubble--start .el-bubble-content { - background-color: #1f2937 !important; - color: #e5e7eb !important; + background-color: #04080b !important; + color: #a0a0a0 !important; + border: 1px solid rgba(0, 255, 136, 0.15) !important; } /* 用户气泡 */ .el-bubble[data-placement="end"] .el-bubble-content, .el-bubble--end .el-bubble-content { - background-color: #3b82f6 !important; - color: #ffffff !important; + background-color: #00d36e !important; + color: #000000 !important; } /* 用户文件项 */ .user-file-item { - background-color: rgba(255, 255, 255, 0.1) !important; - color: #e5e7eb !important; + background-color: rgba(0, 255, 136, 0.1) !important; + color: #a0a0a0 !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; } /* 思考链 */ .el-thinking, .thinking-chain-warp { - background-color: #1f2937 !important; - border-color: #374151 !important; - color: #9ca3af !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.15) !important; + color: #666 !important; } } @@ -587,41 +766,42 @@ [data-theme="dark"] { .el-attachments, .el-files-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } .el-files-card__name { - color: #e5e7eb !important; + color: #a0a0a0 !important; } .el-files-card__size { - color: #9ca3af !important; + color: #666 !important; } } /* ========== 模型选择深色样式 ========== */ [data-theme="dark"] { .model-select-trigger { - background-color: #374151 !important; - border-color: #4b5563 !important; - color: #e5e7eb !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + color: #a0a0a0 !important; } .model-select-dropdown { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } .model-item { - color: #e5e7eb !important; + color: #a0a0a0 !important; &:hover { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.05) !important; } &.is-active { - background-color: rgba(96, 165, 250, 0.2) !important; + background-color: rgba(0, 255, 136, 0.15) !important; + color: #00ff88 !important; } } } @@ -633,28 +813,30 @@ } .conversation-item { - color: #e5e7eb !important; + color: #a0a0a0 !important; + border-radius: 0 !important; &:hover { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.05) !important; } } .conversation-item-active { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.1) !important; + border-left: 2px solid #00ff88 !important; box-shadow: none !important; } .conversation-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .conversation-preview { - color: #9ca3af !important; + color: #666 !important; } .avatar-circle { - background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%) !important; + background: linear-gradient(135deg, #00ff88 0%, #00d36e 100%) !important; } } @@ -662,42 +844,89 @@ [data-theme="dark"] { .el-tooltip__popper, .el-popover { - background-color: #1f2937 !important; - border-color: #374151 !important; - color: #e5e7eb !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + color: #a0a0a0 !important; } .el-tooltip__popper.is-dark { - background-color: #374151 !important; + background-color: #04080b !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; } } /* ========== 通用文字和链接深色样式 ========== */ [data-theme="dark"] { + /* 大标题样式 */ + h1 { + color: #ffffff !important; + font-size: 68px !important; + line-height: 74px !important; + } + + h2 { + color: #ffffff !important; + font-size: 56px !important; + line-height: 62px !important; + } + + h3 { + color: #ffffff !important; + font-size: 48px !important; + line-height: 54px !important; + } + + /* 正文标题 */ + h4, h5, h6 { + color: #ffffff !important; + font-size: 28px !important; + line-height: 30px !important; + } + + /* 正文 */ + p { + color: #a0a0a0 !important; + line-height: 22px !important; + font-size: 16px !important; + font-weight: 400 !important; + } + + /* 备注内容 */ + small, .note, .hint, .tip { + color: #666 !important; + font-size: 12px !important; + line-height: 18px !important; + } + /* 链接 */ a { - color: #60a5fa; + color: #00ff88 !important; &:hover { - color: #93c5fd; + color: #ffffff !important; + border-bottom-color: #00ff88 !important; } } - /* 标题 */ - h1, h2, h3, h4, h5, h6 { - color: #f3f4f6; - } - - /* 段落 */ - p { - color: #e5e7eb; + /* 突出内容 */ + .highlight, .accent, strong { + color: #00ff88 !important; } /* 标签 */ .el-tag { - background-color: #374151 !important; - border-color: #4b5563 !important; - color: #e5e7eb !important; + color: #00ff88 !important; + background: rgba(0, 255, 136, 0.1) !important; + border-radius: 0 !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; + } + + /* 自定义标签样式 */ + .tag, .badge, .label { + color: #00ff88 !important; + background: rgba(0, 255, 136, 0.1) !important; + border-radius: 0 !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; } /* 徽章 */ @@ -709,35 +938,36 @@ /* ========== 布局容器深色样式 ========== */ [data-theme="dark"] { .el-container { - background-color: #111827 !important; + background-color: transparent !important; } .el-main { - background-color: #111827 !important; + background-color: transparent !important; } .el-aside { - background-color: #111827 !important; + background-color: #04080b !important; } } /* ========== 自定义弹出框深色样式 ========== */ [data-theme="dark"] { .custom-popover .el-menu { - background-color: #1f2937 !important; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important; + background-color: #04080b !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6) !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; .el-menu-item { - color: #e5e7eb !important; + color: #a0a0a0 !important; &:hover { - background-color: #374151 !important; - color: #60a5fa !important; + background-color: rgba(0, 255, 136, 0.08) !important; + color: #00ff88 !important; } &.is-active { - color: #60a5fa !important; - background-color: rgba(96, 165, 250, 0.15) !important; + color: #00ff88 !important; + background-color: rgba(0, 255, 136, 0.15) !important; } } } @@ -746,30 +976,30 @@ /* ========== 移动端抽屉深色样式 ========== */ [data-theme="dark"] { .mobile-drawer .el-drawer { - background-color: #1f2937 !important; + background-color: #04080b !important; } .drawer-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .mobile-menu { - background-color: #1f2937 !important; + background-color: #04080b !important; } .mobile-menu-actions { - border-top-color: #374151 !important; + border-top-color: rgba(0, 255, 136, 0.15) !important; } } /* ========== 二维码登录深色样式 ========== */ [data-theme="dark"] { .qr-code-container { - background-color: #1f2937 !important; + background-color: #04080b !important; } .qr-code-tip { - color: #9ca3af !important; + color: #666 !important; } } @@ -777,20 +1007,20 @@ [data-theme="dark"] { .console-container, .console-page { - background-color: #111827 !important; + background-color: transparent !important; } .console-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } .console-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .console-desc { - color: #9ca3af !important; + color: #a0a0a0 !important; } } @@ -798,28 +1028,30 @@ [data-theme="dark"] { .products-container, .pricing-container { - background-color: #111827 !important; + background-color: transparent !important; } .product-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border: 1px solid rgba(0, 255, 136, 0.2) !important; + border-radius: 0 !important; + box-shadow: none !important; &:hover { - border-color: #60a5fa !important; + border-color: rgba(0, 255, 136, 0.4) !important; } } .product-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .product-price { - color: #60a5fa !important; + color: #00ff88 !important; } .product-desc { - color: #9ca3af !important; + color: #a0a0a0 !important; } } @@ -827,28 +1059,30 @@ [data-theme="dark"] { .el-select { .el-input__wrapper { - background-color: #1f2937 !important; - box-shadow: 0 0 0 1px #374151 inset !important; + background-color: #04080b !important; + box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.2) inset !important; + border-radius: 0 !important; } .el-input__inner { - color: #e5e7eb !important; + color: #a0a0a0 !important; } } .el-select-dropdown { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; .el-select-dropdown__item { - color: #e5e7eb !important; + color: #a0a0a0 !important; &:hover { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.08) !important; } &.selected { - color: #60a5fa !important; + color: #00ff88 !important; + background-color: rgba(0, 255, 136, 0.15) !important; } } } @@ -858,13 +1092,19 @@ [data-theme="dark"] { .el-checkbox__inner, .el-radio__inner { - background-color: #374151 !important; - border-color: #4b5563 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.3) !important; + } + + .el-checkbox__input.is-checked .el-checkbox__inner, + .el-radio__input.is-checked .el-radio__inner { + background-color: #00ff88 !important; + border-color: #00ff88 !important; } .el-checkbox__label, .el-radio__label { - color: #e5e7eb !important; + color: #a0a0a0 !important; } } @@ -876,8 +1116,8 @@ } .el-switch.is-checked .el-switch__core { - background-color: #60a5fa !important; - border-color: #60a5fa !important; + background-color: #00ff88 !important; + border-color: #00ff88 !important; } } @@ -895,11 +1135,20 @@ /* ========== Message 消息深色样式 ========== */ [data-theme="dark"] { .el-message { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; .el-message__content { - color: #e5e7eb !important; + color: #a0a0a0 !important; + } + + &.el-message--success { + background-color: rgba(0, 211, 110, 0.1) !important; + border-color: rgba(0, 255, 136, 0.3) !important; + + .el-message__content { + color: #00ff88 !important; + } } } } @@ -907,15 +1156,15 @@ /* ========== Notification 通知深色样式 ========== */ [data-theme="dark"] { .el-notification { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; .el-notification__title { - color: #f3f4f6 !important; + color: #ffffff !important; } .el-notification__content { - color: #9ca3af !important; + color: #a0a0a0 !important; } } } @@ -924,18 +1173,23 @@ [data-theme="dark"] { .el-date-picker, .el-picker-panel { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } .el-date-picker__header-label, .el-picker-panel__icon-btn { - color: #e5e7eb !important; + color: #a0a0a0 !important; } .el-date-table td.available:hover, .el-date-table td.current:not(.disabled) { - color: #60a5fa !important; + color: #00ff88 !important; + background-color: rgba(0, 255, 136, 0.15) !important; + } + + .el-date-table td.today span { + color: #00ff88 !important; } } @@ -971,51 +1225,51 @@ /* 分组标题 */ .group-title, .text-gray-500 { - color: #9ca3af !important; + color: #666 !important; } .text-gray-600 { - color: #d1d5db !important; + color: #a0a0a0 !important; } .text-gray-700 { - color: #e5e7eb !important; + color: #a0a0a0 !important; } .text-gray-400 { - color: #9ca3af !important; + color: #666 !important; } /* 背景色 */ .bg-gray-50 { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.05) !important; } .bg-gray-100 { - background-color: #4b5563 !important; + background-color: #04080b !important; } .hover\:bg-gray-50:hover { - background-color: #374151 !important; + background-color: rgba(0, 255, 136, 0.08) !important; } .bg-blue-50 { - background-color: rgba(96, 165, 250, 0.2) !important; + background-color: rgba(0, 255, 136, 0.1) !important; } /* 边框 */ .border-gray-200 { - border-color: #4b5563 !important; + border-color: rgba(0, 255, 136, 0.2) !important; } /* 模型 Logo 背景 */ .bg-white { - background-color: #374151 !important; + background-color: #04080b !important; } /* 更多 Tailwind 背景色 */ .bg-green-100 { - background-color: rgba(52, 211, 153, 0.2) !important; + background-color: rgba(0, 255, 136, 0.1) !important; } .bg-orange-100 { @@ -1028,7 +1282,7 @@ /* 更多 Tailwind 文字色 */ .text-green-600 { - color: #34d399 !important; + color: #00ff88 !important; } .text-orange-600 { @@ -1040,22 +1294,22 @@ } .text-blue-600 { - color: #60a5fa !important; + color: #00ff88 !important; } .text-gray-600 { - color: #d1d5db !important; + color: #a0a0a0 !important; } } /* ========== 欢迎文字打字机效果深色样式 ========== */ [data-theme="dark"] { .welcome-text { - color: #f3f4f6 !important; + color: #ffffff !important; } .el-typewriter__fog { - background: linear-gradient(to right, transparent, #111827) !important; + background: linear-gradient(to right, transparent, rgba(10, 10, 10, 0.8)) !important; } .typer-container { @@ -1067,53 +1321,54 @@ [data-theme="dark"] { .product-package-dialog { .el-dialog { - background-color: #1f2937 !important; + background-color: #04080b !important; } } .package-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; + border-radius: 0 !important; &:hover { - border-color: #60a5fa !important; + border-color: rgba(0, 255, 136, 0.4) !important; } } .package-title { - color: #f3f4f6 !important; + color: #ffffff !important; } .package-price { - color: #60a5fa !important; + color: #00ff88 !important; } .package-desc { - color: #9ca3af !important; + color: #a0a0a0 !important; } } /* ========== 用户中心深色样式 ========== */ [data-theme="dark"] { .user-center-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } .user-info-item { - color: #e5e7eb !important; + color: #a0a0a0 !important; } .user-info-label { - color: #9ca3af !important; + color: #666 !important; } } /* ========== 尊享过滤标签深色样式 ========== */ [data-theme="dark"] { .premium-filter-tag { - background: linear-gradient(#1f2937, #1f2937) padding-box, - linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb, #ff9ff3, #54a0ff, #5f27cd) border-box !important; + background: linear-gradient(#04080b, #04080b) padding-box, + linear-gradient(90deg, #00ff88, #00d36e, #00c060, #00a850, #00ff88) border-box !important; } } @@ -1121,7 +1376,11 @@ [data-theme="dark"] { /* 边框颜色 */ .border-gray-100 { - border-color: #374151 !important; + border-color: rgba(0, 255, 136, 0.15) !important; + } + + .border-gray-200 { + border-color: rgba(0, 255, 136, 0.2) !important; } /* 文字颜色 */ @@ -1129,7 +1388,11 @@ .text-base, .text-sm, .text-xs { - color: inherit; + color: #a0a0a0 !important; + } + + .text-white { + color: #ffffff !important; } /* 字体粗细保持不变 */ @@ -1144,15 +1407,15 @@ [data-theme="dark"] { .wechat-message-box { .el-message-box { - background-color: #1f2937 !important; + background-color: #04080b !important; } .text-blue-600 { - color: #60a5fa !important; + color: #00ff88 !important; } .text-gray-600 { - color: #9ca3af !important; + color: #a0a0a0 !important; } .bg-yellow-100 { @@ -1168,15 +1431,15 @@ /* ========== 模型库页面深色样式 ========== */ [data-theme="dark"] { .model-library-container { - background-color: #111827 !important; + background-color: transparent !important; } .model-library-card { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; &:hover { - border-color: #60a5fa !important; + border-color: rgba(0, 255, 136, 0.4) !important; } } } @@ -1184,16 +1447,16 @@ /* ========== 深度思考组件深色样式 ========== */ [data-theme="dark"] { .deep-thinking-container { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } } /* ========== 文件选择组件深色样式 ========== */ [data-theme="dark"] { .files-select-container { - background-color: #1f2937 !important; - border-color: #374151 !important; + background-color: #04080b !important; + border-color: rgba(0, 255, 136, 0.2) !important; } } @@ -1201,7 +1464,45 @@ [data-theme="dark"] { .system-announcement-dialog { .el-dialog { - background-color: #1f2937 !important; + background-color: #04080b !important; } } } + +/* ========== 其他 ========== */ +[data-theme="dark"] { + .conversation-content .conversation-label + { + color: #CFD3DC; + } + + .conversations-wrap .conversation-item:hover{ + border: 1px solid rgba(0, 255, 136, .2); + border-color: #0f86 !important; + } + + .conversation-item.active{ + border: 1px solid rgba(0, 255, 136, .2); + border-color: #0f86 !important; + background-color: transparent !important; + } + .model-select-box{ + background-color: transparent !important; + border-radius: 0 !important; + } + + .c-\#0057ff{ + color: #00ff88 !important; + } + .b-\#0057ff{ + border-color: #00ff88 !important; + } + .btn-icon-btn .svg-icon{ + color: #00ff88 !important; + } + .el-sender{ + border-radius: 0; + } +} + + diff --git a/Yi.Ai.Vue3/src/styles/var.scss b/Yi.Ai.Vue3/src/styles/var.scss index 949e0ac1..c3f24987 100644 --- a/Yi.Ai.Vue3/src/styles/var.scss +++ b/Yi.Ai.Vue3/src/styles/var.scss @@ -220,14 +220,15 @@ /* ========== 暗色模式变量 ========== */ [data-theme="dark"] { /* ========== 颜色系统 ========== */ - --color-primary: #60a5fa; - --color-primary-light: #93c5fd; - --color-primary-lighter: #bfdbfe; - --color-primary-dark: #3b82f6; - --color-primary-darker: #2563eb; + /* 主色调 - 绿色系 */ + --color-primary: #00ff88; + --color-primary-light: #00d36e; + --color-primary-lighter: #00ff88; + --color-primary-dark: #00c060; + --color-primary-darker: #00a850; /* 辅助色 */ - --color-success: #34d399; + --color-success: #00d36e; --color-warning: #fbbf24; --color-danger: #f87171; --color-info: #9ca3af; @@ -247,33 +248,33 @@ --color-gray-900: #f9fafb; /* ========== 头部区域 ========== */ - --header-background-color: #1f2937; + --header-background-color: rgba(10, 10, 10, 0.9); --header-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); - --header-text-color: #f3f4f6; + --header-text-color: #ffffff; --header-icon-color: #9ca3af; - --header-border: 1px solid #374151; + --header-border: 1px solid rgba(0, 255, 136, 0.1); /* ========== 侧边栏区域 ========== */ - --sidebar-background-color: #111827; - --sidebar-active-bg-color: #374151; - --sidebar-active-text-color: #f9fafb; - --sidebar-hover-bg-color: #374151; - --sidebar-text-color: #d1d5db; + --sidebar-background-color: #04080b; + --sidebar-active-bg-color: rgba(0, 255, 136, 0.15); + --sidebar-active-text-color: #00ff88; + --sidebar-hover-bg-color: rgba(0, 255, 136, 0.08); + --sidebar-text-color: #a0a0a0; --sidebar-icon-color: #9ca3af; - --sidebar-border-color: rgba(255, 255, 255, 0.08); + --sidebar-border-color: rgba(0, 255, 136, 0.15); /* ========== 主要内容区域 ========== */ - --content-background-color: #111827; + --content-background-color: transparent; /* ========== 聊天区域 ========== */ - --chat-container-bg: #111827; - --chat-sender-bg: #1f2937; - --chat-sender-border: 1px solid #374151; - --chat-bubble-user-bg: #3b82f6; - --chat-bubble-user-text: #ffffff; - --chat-bubble-ai-bg: #1f2937; - --chat-bubble-ai-text: #e5e7eb; - --chat-typing-indicator-color: #6b7280; + --chat-container-bg: transparent; + --chat-sender-bg: #04080b; + --chat-sender-border: 1px solid rgba(0, 255, 136, 0.2); + --chat-bubble-user-bg: #00d36e; + --chat-bubble-user-text: #000000; + --chat-bubble-ai-bg: #04080b; + --chat-bubble-ai-text: #a0a0a0; + --chat-typing-indicator-color: #666; /* ========== 登录弹框 ========== */ --login-dialog-logo-background: #1f2937; @@ -283,32 +284,35 @@ --login-dialog-input-focus-border: 1px solid #60a5fa; /* 文字颜色 */ - --text-color-primary: #f9fafb; - --text-color-secondary: #e5e7eb; - --text-color-tertiary: #9ca3af; + --text-color-primary: #ffffff; + --text-color-secondary: #a0a0a0; + --text-color-tertiary: #666; --text-color-placeholder: #6b7280; --text-color-disabled: #4b5563; - --text-color-inverse: #111827; + --text-color-inverse: #000000; /* 背景颜色 */ - --bg-color-primary: #111827; - --bg-color-secondary: #1f2937; - --bg-color-tertiary: #374151; - --bg-color-overlay: rgba(0, 0, 0, 0.7); - --bg-color-mask: rgba(0, 0, 0, 0.6); + --bg-color-primary: transparent; + --bg-color-secondary: #04080b; + --bg-color-tertiary: #0a0a0a; + --bg-color-overlay: rgba(0, 0, 0, 0.8); + --bg-color-mask: rgba(0, 0, 0, 0.7); /* ========== 边框 ========== */ - --border-color-light: #374151; - --border-color-default: #4b5563; - --border-color-dark: #6b7280; + --border-color-light: rgba(0, 255, 136, 0.15); + --border-color-default: rgba(0, 255, 136, 0.2); + --border-color-dark: rgba(0, 255, 136, 0.3); /* ========== 阴影系统 ========== */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3); - --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3); + --shadow-xl: 0 10px 25px rgba(0, 255, 136, 0.3); --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5); --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3); + + /* 脉冲动画(主要按钮) */ + --pulse-color: rgba(0, 255, 136, 0.4); } /* ========== 响应式断点 ========== */