Files
xyzw_web_helper/MD说明文件夹/UI优化-显示重试轮数v3.7.1.md

316 lines
9.0 KiB
Markdown
Raw Normal View History

2025-10-17 20:56:50 +08:00
# UI优化 - 显示重试轮数 v3.7.1
## 📌 更新时间
2025-10-07
## 🎯 优化目标
### 用户反馈
> "如果存在有失败的token我希望它能够显示第几次重试次数"
### 核心需求
在批量任务执行过程中,用户需要清楚地看到:
- 当前是否在重试中
- 当前是第几轮重试
- 重试的进度(已重试/总重试次数)
## ✨ UI改进
### 改进1: 执行进度标题
#### 优化前
```
总体进度 45%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
#### 优化后
```
总体进度 🔄 第2轮重试 45%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
**实现效果**
- 首次执行时:只显示"总体进度"
- 重试中:显示橙色标签"🔄 第X轮重试"
- 动态更新每轮重试时X会自动增加
### 改进2: 统计信息面板
#### 优化前
```
总计 成功 失败 跳过 耗时
318 280 38 0 2分30秒
```
#### 优化后(启用自动重试时)
```
总计 成功 失败 跳过 重试轮数 耗时
318 280 38 0 2/3 2分30秒
↑橙色高亮
```
**实现效果**
- 仅在启用自动重试时显示
- 格式:`当前轮数/最大轮数`
- 橙色高亮,字体加粗
- 实时更新
### 改进3: 配置区域
#### 保持原有显示
```
最大重试轮数: [3 ▲▼] 轮 (0/3)
↑实时进度
```
## 📊 视觉效果示例
### 场景1: 首次执行
```
┌────────────────────────────────────────┐
│ 总体进度 15% │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
├────────────────────────────────────────┤
│ 总计 成功 失败 跳过 重试轮数 耗时 │
│ 318 45 0 0 0/3 30秒 │
└────────────────────────────────────────┘
```
### 场景2: 第1轮重试中
```
┌────────────────────────────────────────┐
│ 总体进度 🔄 第1轮重试 35% │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
├────────────────────────────────────────┤
│ 总计 成功 失败 跳过 重试轮数 耗时 │
│ 318 280 38 0 1/3 2分5秒 │
└────────────────────────────────────────┘
```
### 场景3: 第2轮重试中
```
┌────────────────────────────────────────┐
│ 总体进度 🔄 第2轮重试 70% │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
├────────────────────────────────────────┤
│ 总计 成功 失败 跳过 重试轮数 耗时 │
│ 318 310 8 0 2/3 2分35秒│
└────────────────────────────────────────┘
```
### 场景4: 所有成功
```
┌────────────────────────────────────────┐
│ 总体进度 100% │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
├────────────────────────────────────────┤
│ 总计 成功 失败 跳过 重试轮数 耗时 │
│ 318 318 0 0 3/3 3分10秒│
│ ↑完成所有重试 │
└────────────────────────────────────────┘
```
## 🔧 实现细节
### 代码位置
#### 1. 执行进度标题 (`BatchTaskPanel.vue` 第363-376行)
```vue
<div class="progress-header">
<n-space align="center" :size="8">
<span>总体进度</span>
<!-- 🆕 重试标签 -->
<n-tag
v-if="batchStore.currentRetryRound > 0"
type="warning"
size="small"
:bordered="false"
>
🔄 第{{ batchStore.currentRetryRound }}轮重试
</n-tag>
</n-space>
<span>{{ batchStore.overallProgress }}%</span>
</div>
```
**显示条件**`currentRetryRound > 0`
**标签类型**`warning`(橙色)
**图标**:🔄
#### 2. 统计信息 (`BatchTaskPanel.vue` 第407-412行)
```vue
<!-- 🆕 重试轮数统计 -->
<n-statistic
v-if="batchStore.autoRetryConfig.enabled"
label="重试轮数"
:value="`${batchStore.currentRetryRound}/${batchStore.autoRetryConfig.maxRetries}`"
class="retry-round"
/>
```
**显示条件**`autoRetryConfig.enabled`
**数值格式**`"当前/最大"` (字符串)
**样式类**`retry-round`
#### 3. CSS样式 (`BatchTaskPanel.vue` 第1155-1158行)
```scss
&.retry-round .n-statistic-value__content {
color: #ff9800; // 橙色
font-weight: 600; // 加粗
}
```
## 💡 用户体验提升
### 提升1: 信息透明度
**优化前**
- ❌ 不知道是否在重试
- ❌ 不知道重试了几轮
- ❌ 需要查看控制台才能了解
**优化后**
- ✅ 清楚显示重试状态
- ✅ 实时显示重试轮数
- ✅ 一目了然的进度
### 提升2: 进度感知
用户可以清楚地知道:
```
看到"🔄 第1轮重试" → 知道在重试中
看到"1/3" → 知道还有2轮机会
看到"3/3" → 知道已达最大重试次数
```
### 提升3: 决策支持
```
重试轮数: 2/3
失败: 15
↓ 用户可以判断
"还有1轮重试机会等等看"
"已经2轮了还有15个失败可能有问题"
```
## 📊 数据更新时机
### 更新触发点
1. **任务开始**
- `currentRetryRound` 重置为 0
- 不显示重试标签
2. **首次执行完成,有失败**
- 等待5秒配置的间隔
- `currentRetryRound` 更新为 1
- 显示"🔄 第1轮重试"
3. **第1轮重试完成仍有失败**
- 等待5秒
- `currentRetryRound` 更新为 2
- 显示"🔄 第2轮重试"
4. **达到最大次数或全部成功**
- `currentRetryRound` 不再增加
- 任务完成后重置为 0
### 实时性
- **执行中**:标签和数值实时更新
- **无延迟**数值变化立即反映在UI
- **自动刷新**:无需手动刷新页面
## 🎯 测试方法
### 测试1: 验证标签显示
1. 执行批量任务
2. 观察执行进度标题
3. 首次执行时应该**不显示**重试标签
4. 如果有失败等待5秒
5. 应该显示"🔄 第1轮重试"
### 测试2: 验证数值准确性
1. 设置最大重试轮数为3
2. 执行任务
3. 观察"重试轮数"统计
4. 应该显示0/3 → 1/3 → 2/3 → 3/3
### 测试3: 验证禁用时不显示
1. 关闭自动重试开关
2. 执行任务
3. 统计信息中**不应该**显示"重试轮数"
4. 执行进度中**不应该**显示重试标签
### 测试4: 验证样式
1. 检查"重试轮数"数值是否为橙色
2. 检查数值是否加粗
3. 检查重试标签是否为橙色背景
## 📝 颜色系统
### 统计信息颜色
```
成功:#18a058 (绿色)
失败:#d03050 (红色)
跳过:#f0a020 (黄色)
重试:#ff9800 (橙色) ← 🆕
```
### 重试标签颜色
```
类型warning
背景:橙色半透明
文字:深橙色
图标:🔄
```
## 🔗 相关文件
- `src/components/BatchTaskPanel.vue`
- 第363-376行执行进度标题重试标签
- 第407-412行统计信息重试轮数
- 第1155-1158行重试轮数样式
## 📌 注意事项
### 1. 显示条件
- **重试标签**:仅当 `currentRetryRound > 0` 时显示
- **重试统计**:仅当 `autoRetryConfig.enabled` 时显示
### 2. 数值含义
- `0/3`:还未开始重试
- `1/3`第1轮重试进行中或已完成
- `3/3`:已达最大重试次数
### 3. 标签位置
- 紧跟在"总体进度"文字后
- 不影响进度百分比显示
- 响应式布局,移动端自动换行
## 📅 版本信息
- **版本号**: v3.7.1
- **更新日期**: 2025-10-07
- **更新类型**: UI优化
- **优先级**: 中
- **影响范围**: 批量任务执行界面
## 🎉 总结
通过这次UI优化
1. **可见性提升**:重试状态清晰可见
2. **信息丰富**:同时显示当前轮数和总轮数
3. **用户友好**:无需查看控制台即可了解进度
4. **视觉优化**:橙色高亮,易于识别
用户现在可以一眼看出:
- ✅ 是否在重试中
- ✅ 当前第几轮重试
- ✅ 还有多少重试机会
- ✅ 重试进度如何
让批量任务的执行过程更加透明和可控!🎯