# 功能更新-Token卡片显示发车状态 v3.9.2 ## 📋 功能描述 在批量任务执行进度的token卡片中添加发车状态和发车上限显示,方便用户实时查看每个账号的发车情况。 ## 🎯 用户需求 > 发车状态,发车上限,也添加到执行进度的token卡片里面 ## ✨ 新增功能 ### 1. **发车状态显示** 在每个token卡片中显示: - 🚗 **发车图标**:直观识别发车信息 - **发车次数**:今日已发车次数/上限(X/4) - **状态标签**:根据发车次数变色 - 绿色:0-2次(正常) - 黄色:3次(即将达到上限) - 红色:4次(已达上限) - **状态文本**:剩余次数或达到上限提示 ### 2. **显示位置** 发车状态显示在token卡片的卡片主体(card-body)中: ``` ┌─────────────────────────────────┐ │ 🟢 Token_123 [已完成] [详情] [子任务]│ ├─────────────────────────────────┤ │ [成功: 7] [失败: 0] │ ← 结果统计 │ │ │ 🚗 [发车: 2/4] 剩余2次 │ ← ✨ 新增发车状态 └─────────────────────────────────┘ ``` ## 🔧 技术实现 ### 1. **数据读取** 从 localStorage 读取每日发车次数(按账号和日期独立计数): ```javascript // 获取今日发车次数 const dailyCarSendCount = computed(() => { const today = new Date().toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }) const key = `car_daily_send_count_${today}_${props.tokenId}` return parseInt(localStorage.getItem(key) || '0') }) ``` ### 2. **状态标签类型** 根据发车次数动态设置标签颜色: ```javascript // 发车状态类型 const carStatusType = computed(() => { const count = dailyCarSendCount.value if (count >= 4) return 'error' // 红色:已达上限 if (count >= 3) return 'warning' // 黄色:即将达到上限 return 'success' // 绿色:正常 }) ``` ### 3. **状态文本** 根据发车次数显示不同的提示文本: ```javascript // 发车状态文本 const carStatusText = computed(() => { const count = dailyCarSendCount.value if (count >= 4) return '今日已达上限' if (count === 0) return '今日未发车' return `剩余${4 - count}次` }) ``` ### 4. **UI组件** 使用 Naive UI 组件构建发车状态显示: ```vue
发车: {{ dailyCarSendCount }}/4 {{ carStatusText }}
``` ### 5. **样式设计** 美化发车状态显示区域: ```scss .car-status-section { margin-top: 8px; padding: 8px 12px; background: rgba(102, 126, 234, 0.05); // 淡紫色背景 border-radius: 8px; border: 1px solid rgba(102, 126, 234, 0.1); } // 深色主题 html.dark .card-body .car-status-section { background: rgba(102, 126, 234, 0.1); border-color: rgba(102, 126, 234, 0.2); } ``` ## 🎨 显示效果 ### 不同状态的显示 #### 状态1:今日未发车(0/4) ``` ┌─────────────────────────────────┐ │ 🚗 [发车: 0/4] 今日未发车 │ ← 绿色标签 └─────────────────────────────────┘ ``` #### 状态2:部分发车(2/4) ``` ┌─────────────────────────────────┐ │ 🚗 [发车: 2/4] 剩余2次 │ ← 绿色标签 └─────────────────────────────────┘ ``` #### 状态3:即将达到上限(3/4) ``` ┌─────────────────────────────────┐ │ 🚗 [发车: 3/4] 剩余1次 │ ← 黄色标签(警告) └─────────────────────────────────┘ ``` #### 状态4:已达上限(4/4) ``` ┌─────────────────────────────────┐ │ 🚗 [发车: 4/4] 今日已达上限 │ ← 红色标签(错误) └─────────────────────────────────┘ ``` ## 📊 完整卡片示例 ### 任务执行中 ``` ┌─────────────────────────────────┐ │ 🔄 Token_ABC123 [执行中] [详情] [子任务]│ ├─────────────────────────────────┤ │ 一键补差 3/7 │ │ ▓▓▓▓▓▓░░░░░░░░░░░░ 43% │ │ │ │ 🚗 [发车: 1/4] 剩余3次 │ ← 发车状态 └─────────────────────────────────┘ ``` ### 任务完成 ``` ┌─────────────────────────────────┐ │ ✓ Token_XYZ789 [已完成] [详情] [子任务]│ ├─────────────────────────────────┤ │ [成功: 7] [失败: 0] │ │ │ │ 🚗 [发车: 4/4] 今日已达上限 │ ← 发车状态(红色) └─────────────────────────────────┘ ``` ## 📝 相关文件 ### 修改的文件 **`src/components/TaskProgressCard.vue`** 1. **导入图标**(第380行): - 添加 `CarSportSharp` 图标 2. **HTML模板**(第94-111行): - 添加发车状态显示区域 3. **任务标签映射**(第407-415行): - 添加 `sendCar: '发车'` 映射 4. **计算属性**(第417-442行): - `dailyCarSendCount`:获取今日发车次数 - `carStatusType`:计算状态标签类型 - `carStatusText`:计算状态提示文本 5. **样式**(第639-645行): - 添加 `.car-status-section` 样式 6. **深色主题**(第745-748行): - 添加深色主题下的样式 7. **子任务说明**(第277行): - 添加发车任务说明 ### 新增文件 - `MD说明/功能更新-Token卡片显示发车状态v3.9.2.md` ## 🧪 测试场景 ### 场景1:查看未发车账号 1. 执行批量任务 2. 查看执行进度 3. **预期结果**: - 未发车的账号显示"发车: 0/4" - 绿色标签 - 提示"今日未发车" ### 场景2:查看部分发车账号 1. 账号已发车2次 2. 执行批量任务 3. **预期结果**: - 显示"发车: 2/4" - 绿色标签 - 提示"剩余2次" ### 场景3:查看即将达到上限账号 1. 账号已发车3次 2. 执行批量任务 3. **预期结果**: - 显示"发车: 3/4" - **黄色标签**(警告) - 提示"剩余1次" ### 场景4:查看已达上限账号 1. 账号已发车4次 2. 执行批量任务 3. **预期结果**: - 显示"发车: 4/4" - **红色标签**(错误) - 提示"今日已达上限" ### 场景5:跨日期重置 1. 第一天发车4次 2. 第二天查看 3. **预期结果**: - 显示"发车: 0/4"(自动重置) - 绿色标签 - 提示"今日未发车" ## 💡 设计亮点 ### 1. **实时同步** - 使用 `computed` 属性,实时从 localStorage 读取最新发车次数 - 无需手动刷新,自动更新显示 ### 2. **视觉反馈** - 颜色渐变:绿色 → 黄色 → 红色 - 直观表达发车进度和警告 ### 3. **信息完整** - 次数显示:X/4 - 状态文本:剩余X次 / 今日未发车 / 今日已达上限 - 图标标识:🚗 一眼识别 ### 4. **布局合理** - 紧凑显示,不占用过多空间 - 与现有结果统计区域风格统一 ### 5. **主题适配** - 支持亮色和深色主题 - 自动调整背景和边框颜色 ## 🔄 版本信息 - **版本号**: v3.9.2 - **更新日期**: 2025-01-08 - **更新内容**: - Token卡片新增发车状态显示 - 支持实时显示发车次数和上限 - 根据发车次数动态变色(绿/黄/红) - 添加状态提示文本 - **依赖版本**: v3.9.1 ## 🚀 使用说明 ### 查看发车状态 1. 启动批量任务执行 2. 在执行进度区域查看每个token卡片 3. 卡片底部会显示发车状态:🚗 发车: X/4 ### 状态说明 - **绿色标签**:正常,还有发车额度 - **黄色标签**:警告,仅剩1次 - **红色标签**:已达上限,今日无法继续发车 ### 注意事项 1. 发车次数按账号(tokenId)和日期独立计数 2. 每天0点自动重置为0/4 3. 显示的是实时数据,会随着任务执行自动更新 ## 🐛 已知问题 无 ## 📈 后续计划 - [ ] 添加发车历史记录查看 - [ ] 支持点击发车状态查看详细发车记录 - [ ] 添加发车成功/失败统计 --- **✅ 功能已完成!刷新页面(Ctrl + F5)即可在token卡片中看到发车状态!**