From 8411df8ad6e51a04aa024c2c5cedb7cc196a1db4 Mon Sep 17 00:00:00 2001 From: zhangxiaohua <827885272@qq.com> Date: Fri, 16 Jan 2026 14:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/design-system/SKILL.md | 51 ++- frontend/src/layouts/BasicLayout.vue | 203 ++++++----- frontend/src/views/contests/Activities.vue | 21 +- frontend/src/views/contests/Detail.vue | 342 +++++++++++++----- .../contests/components/ViewWorkDrawer.vue | 7 +- frontend/src/views/model/ModelViewer.vue | 14 +- .../src/views/workbench/ai-3d/Generate.vue | 14 +- .../src/views/workbench/ai-3d/History.vue | 11 +- frontend/src/views/workbench/ai-3d/Index.vue | 30 +- 9 files changed, 464 insertions(+), 229 deletions(-) diff --git a/.claude/skills/design-system/SKILL.md b/.claude/skills/design-system/SKILL.md index d7b7dc3..b0f113a 100644 --- a/.claude/skills/design-system/SKILL.md +++ b/.claude/skills/design-system/SKILL.md @@ -17,15 +17,15 @@ description: "比赛管理系统设计规范。当用户提出页面开发需求 // ========================================== // 项目统一设计变量 - 必须复制 // ========================================== -$primary: #0958d9; -$primary-light: #1677ff; -$primary-dark: #003eb3; +$primary: #1890ff; +$primary-dark: #0958d9; +$primary-light: #40a9ff; $secondary: #4096ff; $success: #52c41a; $warning: #faad14; $error: #ff4d4f; -$background: #f5f5f5; +$background: #f5f7fa; $surface: #ffffff; $text: rgba(0, 0, 0, 0.85); @@ -35,7 +35,7 @@ $text-muted: rgba(0, 0, 0, 0.45); $border: #d9d9d9; $border-light: #e8e8e8; -$gradient-primary: linear-gradient(135deg, $primary 0%, $primary-light 100%); +$gradient-primary: linear-gradient(135deg, $primary 0%, $primary-dark 100%); ``` --- @@ -46,9 +46,9 @@ $gradient-primary: linear-gradient(135deg, $primary 0%, $primary-light 100%); | 变量 | 色值 | 用途 | |------|------|------| -| `$primary` | `#0958d9` | 主色、按钮、链接 | -| `$primary-light` | `#1677ff` | 悬停态 | -| `$primary-dark` | `#003eb3` | 激活态 | +| `$primary` | `#1890ff` | 主色、按钮、链接 | +| `$primary-dark` | `#0958d9` | 渐变深色、激活态 | +| `$primary-light` | `#40a9ff` | 悬停态、浅色 | | `$secondary` | `#4096ff` | 辅助蓝 | ### 功能色 @@ -156,20 +156,45 @@ $gradient-primary: linear-gradient(135deg, $primary 0%, $primary-light 100%); ``` -### 主按钮 +### 主按钮(渐变样式) ```scss -.primary-btn { - background: $gradient-primary !important; +.primary-btn, +.gradient-btn { + background: linear-gradient(135deg, $primary 0%, $primary-dark 100%) !important; border: none !important; color: #fff !important; font-weight: 500 !important; + border-radius: 20px !important; + padding: 6px 16px !important; transition: all 0.3s ease !important; + box-shadow: 0 2px 8px rgba($primary, 0.3); &:hover { - filter: brightness(1.1); transform: translateY(-2px); - box-shadow: 0 12px 24px rgba($primary, 0.2); + box-shadow: 0 6px 20px rgba($primary, 0.4); + } +} + +// 用于 hero 区域的大按钮 +.action-btn.primary { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 12px 28px; + border-radius: 24px; + font-size: 15px; + font-weight: 600; + background: linear-gradient(135deg, $primary 0%, $primary-dark 100%); + color: #fff; + border: none; + cursor: pointer; + box-shadow: 0 4px 15px rgba($primary, 0.4); + transition: all 0.3s; + + &:hover { + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba($primary, 0.5); } } ``` diff --git a/frontend/src/layouts/BasicLayout.vue b/frontend/src/layouts/BasicLayout.vue index 3eed78d..b8a48a9 100644 --- a/frontend/src/layouts/BasicLayout.vue +++ b/frontend/src/layouts/BasicLayout.vue @@ -211,26 +211,25 @@ const handleLogout = async () => {