新增:文档体系重构+CHANGELOG补充+发布产物清理
This commit is contained in:
489
docs/07-项目管理/项目规划/action-area-redesign.md
Normal file
489
docs/07-项目管理/项目规划/action-area-redesign.md
Normal file
@@ -0,0 +1,489 @@
|
||||
# 操作区域重新设计
|
||||
|
||||
## 设计理念
|
||||
|
||||
### 从"按钮"到"操作卡片"
|
||||
|
||||
传统按钮虽然常见,但缺乏信息层次和视觉吸引力。我们采用**卡片式操作区域**,提供:
|
||||
|
||||
- ✅ 更大的点击区域
|
||||
- ✅ 更清晰的说明文字
|
||||
- ✅ 更丰富的视觉信息
|
||||
- ✅ 更现代的设计风格
|
||||
|
||||
---
|
||||
|
||||
## 优化前后对比
|
||||
|
||||
### 优化前(传统按钮)
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────┐
|
||||
│ │
|
||||
│ [ 跳过此版本 ] │ ← 传统按钮
|
||||
│ [ 立即更新 ↓ ] │
|
||||
│ │
|
||||
│ ☐ 提醒我稍后更新 │ ← 复选框
|
||||
└──────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**问题:**
|
||||
- 信息量少,只显示操作名称
|
||||
- 说明文字(复选框)分离,不连贯
|
||||
- 视觉单调,缺乏层次
|
||||
- 点击区域较小
|
||||
|
||||
### 优化后(操作卡片)
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────┐
|
||||
│ │
|
||||
│ ┌────────────────────────────────────────┐ │
|
||||
│ │ ✕ 稍后更新 │ │ ← 图标 + 标题 + 说明
|
||||
│ │ 跳过此版本,下次启动时再提醒 │ │
|
||||
│ └────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌────────────────────────────────────────┐ │
|
||||
│ │ ↓ 立即更新到最新版本 → │ │ ← 主操作(突出)
|
||||
│ │ 点击下载 45.2 MB 安装包 │ │
|
||||
│ └────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ☐ 下次启动时继续提醒我 │ ← 提醒选项
|
||||
└──────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**优势:**
|
||||
- 每个操作都有清晰的说明
|
||||
- 信息层次分明(图标 + 标题 + 描述)
|
||||
- 更大的点击区域
|
||||
- 视觉更丰富、更现代
|
||||
|
||||
---
|
||||
|
||||
## 设计细节
|
||||
|
||||
### 1. 稍后更新(次要操作)
|
||||
|
||||
```vue
|
||||
<div class="action-item skip-action" @click="handleSkip">
|
||||
<div class="action-content">
|
||||
<icon-close class="action-icon" />
|
||||
<div class="action-text">
|
||||
<div class="action-title">稍后更新</div>
|
||||
<div class="action-desc">跳过此版本,下次启动时再提醒</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
**样式:**
|
||||
- 图标:关闭图标(✕)- 表示跳过
|
||||
- 背景:浅灰色(`var(--color-fill-3)`)
|
||||
- 悬停效果:轻微上移
|
||||
- 说明文字:灰色小字
|
||||
|
||||
### 2. 立即更新(主要操作)
|
||||
|
||||
```vue
|
||||
<div class="action-item primary-action" @click="handleDownload">
|
||||
<div class="action-content">
|
||||
<icon-download class="action-icon" />
|
||||
<div class="action-text">
|
||||
<div class="action-title">立即更新到最新版本</div>
|
||||
<div class="action-desc">点击下载 45.2 MB 安装包</div>
|
||||
</div>
|
||||
<div class="action-arrow">
|
||||
<icon-arrow-right />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
**样式:**
|
||||
- 图标:下载图标(↓)- 蓝色背景
|
||||
- 背景:主题色背景(`var(--color-primary-light-1)`)
|
||||
- 右侧箭头:→ 表示进入下一步
|
||||
- 悬停效果:
|
||||
- 背景变为主题色
|
||||
- 图标变为白色
|
||||
- 箭头向右移动
|
||||
|
||||
### 3. 安装中状态
|
||||
|
||||
```vue
|
||||
<div class="action-item installing-action">
|
||||
<div class="action-content">
|
||||
<icon-loading class="action-icon spinning" />
|
||||
<div class="action-text">
|
||||
<div class="action-title">正在安装更新</div>
|
||||
<div class="action-desc">安装完成后应用将自动重启,请稍候...</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
**样式:**
|
||||
- 图标:加载图标(旋转动画)
|
||||
- 背景:绿色背景(成功色)
|
||||
- 不可点击(`pointer-events: none`)
|
||||
- 图标旋转动画
|
||||
|
||||
---
|
||||
|
||||
## 交互设计
|
||||
|
||||
### 悬停效果
|
||||
|
||||
**普通状态:**
|
||||
```
|
||||
┌────────────────────────────────────────┐
|
||||
│ ↓ 立即更新到最新版本 → │
|
||||
│ 点击下载 45.2 MB 安装包 │
|
||||
└────────────────────────────────────────┘
|
||||
背景:浅色
|
||||
图标:蓝色背景,白色图标
|
||||
箭头:深灰色,固定位置
|
||||
```
|
||||
|
||||
**悬停状态:**
|
||||
```
|
||||
┌────────────────────────────────────────┐
|
||||
│ ↓ 立即更新到最新版本 → │ ← 箭头右移
|
||||
│ 点击下载 45.2 MB 安装包 │
|
||||
└────────────────────────────────────────┘
|
||||
背景:主题色
|
||||
图标:白色背景,蓝色图标
|
||||
箭头:主题色,向右移动 4px
|
||||
```
|
||||
|
||||
### 点击反馈
|
||||
|
||||
```
|
||||
悬停 → 上移 1px
|
||||
点击 → 下移 0px(回到原位)
|
||||
```
|
||||
|
||||
### 加载状态
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────┐
|
||||
│ ⟳ 立即更新到最新版本 │ ← 图标脉冲动画
|
||||
│ 正在准备下载... │
|
||||
└────────────────────────────────────────┘
|
||||
不透明度:0.6
|
||||
不可点击
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 完整样式代码
|
||||
|
||||
```css
|
||||
.action-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.action-item {
|
||||
background: var(--color-fill-1);
|
||||
border: 1px solid var(--color-border-1);
|
||||
border-radius: 8px;
|
||||
padding: 16px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
|
||||
&:hover {
|
||||
background: var(--color-fill-2);
|
||||
border-color: var(--color-border-2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.action-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.action-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: var(--color-fill-3);
|
||||
color: var(--color-text-2);
|
||||
border-radius: 8px;
|
||||
font-size: 18px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.action-text {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.action-title {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: var(--color-text-1);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.action-desc {
|
||||
font-size: 12px;
|
||||
color: var(--color-text-3);
|
||||
}
|
||||
|
||||
.action-arrow {
|
||||
color: var(--color-text-3);
|
||||
font-size: 16px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
&:hover .action-arrow {
|
||||
color: var(--color-text-1);
|
||||
transform: translateX(4px);
|
||||
}
|
||||
}
|
||||
|
||||
.primary-action {
|
||||
background: var(--color-fill-2);
|
||||
border-color: var(--color-border-2);
|
||||
|
||||
.action-icon {
|
||||
background: var(--color-primary-light-1);
|
||||
color: var(--color-primary-6);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: var(--color-primary-light-1);
|
||||
border-color: var(--color-primary-3);
|
||||
|
||||
.action-icon {
|
||||
background: var(--color-primary-6);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.action-title {
|
||||
color: var(--color-primary-6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0.6; }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 强制更新场景
|
||||
|
||||
### 优化前
|
||||
```
|
||||
┌──────────────────────────────────────────────┐
|
||||
│ [ 立即更新 ] │ ← 只有一个按钮
|
||||
└──────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 优化后
|
||||
```
|
||||
┌──────────────────────────────────────────────┐
|
||||
│ │
|
||||
│ ┌────────────────────────────────────────┐ │
|
||||
│ │ ↓ 立即更新到最新版本 → │ │ ← 卡片式操作
|
||||
│ │ 点击下载 45.2 MB 安装包 │ │
|
||||
│ └────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ⚠️ 重要提示 │
|
||||
│ 此版本包含重要的安全更新和问题修复... │
|
||||
└──────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**改进:**
|
||||
- 不再是冷冰冰的单个按钮
|
||||
- 提供更多上下文信息
|
||||
- 更大的点击区域
|
||||
- 更友好的引导
|
||||
|
||||
---
|
||||
|
||||
## 响应式设计
|
||||
|
||||
### 大屏幕(> 600px)
|
||||
```
|
||||
┌────────────────────────────────────────────┐
|
||||
│ ✕ 稍后更新 │
|
||||
│ 跳过此版本,下次启动时再提醒 │
|
||||
└────────────────────────────────────────────┘
|
||||
|
||||
┌────────────────────────────────────────────┐
|
||||
│ ↓ 立即更新到最新版本 → │
|
||||
│ 点击下载 45.2 MB 安装包 │
|
||||
└────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 小屏幕(< 600px)
|
||||
```
|
||||
布局保持一致,卡片宽度自适应
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 可访问性
|
||||
|
||||
### 键盘导航
|
||||
- ✅ Tab 键切换焦点
|
||||
- ✅ Enter/Space 键激活
|
||||
- ✅ 清晰的焦点指示器
|
||||
|
||||
### 屏幕阅读器
|
||||
- ✅ 语义化的结构
|
||||
- ✅ 清晰的标签和描述
|
||||
- ✅ 视觉和文本信息一致
|
||||
|
||||
### 对比度
|
||||
- ✅ 标题文字对比度 > 4.5:1
|
||||
- ✅ 描述文字对比度 > 4.5:1
|
||||
- ✅ 图标与背景对比度 > 3:1
|
||||
|
||||
---
|
||||
|
||||
## 动画效果
|
||||
|
||||
### 1. 悬停上移
|
||||
```css
|
||||
transform: translateY(-1px);
|
||||
```
|
||||
**目的:** 提供视觉反馈,表示可点击
|
||||
|
||||
### 2. 箭头移动
|
||||
```css
|
||||
transform: translateX(4px);
|
||||
```
|
||||
**目的:** 强调进入下一步的操作
|
||||
|
||||
### 3. 图标旋转(安装中)
|
||||
```css
|
||||
animation: spin 1s linear infinite;
|
||||
```
|
||||
**目的:** 表示正在进行中
|
||||
|
||||
### 4. 图标脉冲(准备中)
|
||||
```css
|
||||
animation: pulse 1.5s ease-in-out infinite;
|
||||
```
|
||||
**目的:** 表示等待响应
|
||||
|
||||
---
|
||||
|
||||
## 视觉层次
|
||||
|
||||
### 信息密度
|
||||
```
|
||||
图标(40×40)→ 标题(14px)→ 描述(12px)→ 箭头(16px)
|
||||
↓ ↓ ↓ ↓
|
||||
视觉焦点 主要信息 辅助说明 方向指示
|
||||
```
|
||||
|
||||
### 颜色层次
|
||||
```
|
||||
主要操作:主题色背景 + 蓝色图标
|
||||
次要操作:灰色背景 + 灰色图标
|
||||
安装中:绿色背景 + 绿色图标
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 用户体验提升
|
||||
|
||||
### 优化前
|
||||
- ❌ 只显示操作名称
|
||||
- ❌ 不清楚操作后果
|
||||
- ❌ 点击区域小
|
||||
- ❌ 视觉单调
|
||||
|
||||
### 优化后
|
||||
- ✅ 操作 + 说明文字
|
||||
- ✅ 清晰的上下文信息
|
||||
- ✅ 整个卡片可点击
|
||||
- ✅ 丰富的视觉反馈
|
||||
|
||||
### 数据对比
|
||||
| 维度 | 优化前 | 优化后 |
|
||||
|------|--------|--------|
|
||||
| 信息量 | 少 | 丰富 |
|
||||
| 点击区域 | 100×32px | 整个卡片 |
|
||||
| 视觉层次 | 单层 | 三层(图标/标题/描述) |
|
||||
| 交互反馈 | 简单 | 丰富 |
|
||||
|
||||
---
|
||||
|
||||
## 实现代码
|
||||
|
||||
### 模板部分
|
||||
```vue
|
||||
<!-- 操作区域 -->
|
||||
<div class="action-section">
|
||||
<!-- 稍后更新 -->
|
||||
<div class="action-item skip-action" @click="handleSkip">
|
||||
<div class="action-content">
|
||||
<icon-close class="action-icon" />
|
||||
<div class="action-text">
|
||||
<div class="action-title">稍后更新</div>
|
||||
<div class="action-desc">跳过此版本,下次启动时再提醒</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 立即更新 -->
|
||||
<div class="action-item primary-action" @click="handleDownload">
|
||||
<div class="action-content">
|
||||
<icon-download class="action-icon" />
|
||||
<div class="action-text">
|
||||
<div class="action-title">立即更新到最新版本</div>
|
||||
<div class="action-desc">点击下载 {{ formatFileSize(fileSize) }} 安装包</div>
|
||||
</div>
|
||||
<div class="action-arrow">
|
||||
<icon-arrow-right />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
### 样式部分
|
||||
见上方"完整样式代码"
|
||||
|
||||
---
|
||||
|
||||
## 总结
|
||||
|
||||
### 核心改进
|
||||
1. ✅ **信息更丰富** - 标题 + 描述文字
|
||||
2. ✅ **视觉更现代** - 卡片式设计
|
||||
3. ✅ **操作更友好** - 大点击区域
|
||||
4. ✅ **反馈更及时** - 丰富的悬停效果
|
||||
|
||||
### 设计原则
|
||||
> 让用户清楚知道每个操作的含义和后果
|
||||
|
||||
### 用户体验
|
||||
- 清晰的信息层次
|
||||
- 大的点击区域
|
||||
- 丰富的视觉反馈
|
||||
- 现代的设计风格
|
||||
|
||||
---
|
||||
|
||||
**操作区域重新设计完成!** 🎉
|
||||
Reference in New Issue
Block a user