# 批量任务功能更新 - 新增加钟和盐罐机器人

## 🎉 更新内容 (2024-01-XX)

### 新增任务

#### 1. 加钟延时 (`addClock`)
**功能说明**：延长挂机时间

**实现方式**：
```javascript
// 调用分享回调接口延长挂机时间
system_mysharecallback({
  type: 3,
  isSkipShareCard: true
})
```

**使用场景**：
- 早晨起床后延长挂机时间
- 外出前自动加钟
- 每日定时自动加钟

**已添加到模板**：
- ✅ 早晨套餐
- ✅ 完整套餐

---

#### 2. 重启盐罐机器人 (`restartBottleHelper`)
**功能说明**：重启盐罐机器人服务并领取奖励

**实现方式**：
```javascript
// 三步操作
1. bottlehelper_stop({bottleType: -1})    // 停止机器人
2. bottlehelper_start({bottleType: -1})   // 启动机器人  
3. bottlehelper_claim({})                 // 领取奖励
```

**智能处理**：
- ✅ 如果机器人未启动，自动跳过停止步骤
- ✅ 如果无奖励可领取，自动跳过领取步骤
- ✅ 每步操作间隔500ms，确保稳定性

**使用场景**：
- 晚上重启机器人确保正常运行
- 领取机器人挂机奖励
- 定期重启避免卡死

**已添加到模板**：
- ✅ 晚间套餐
- ✅ 完整套餐

---

## 📋 更新的文件

### 核心逻辑
- ✅ `src/stores/batchTaskStore.js` - 添加两个任务的执行逻辑

### UI组件
- ✅ `src/components/BatchTaskPanel.vue` - 任务定义
- ✅ `src/components/TemplateEditor.vue` - 任务选项
- ✅ `src/components/TaskProgressCard.vue` - 任务标签

### 预设模板
- ✅ 早晨套餐：增加"加钟延时"
- ✅ 晚间套餐：增加"重启盐罐机器人"
- ✅ 完整套餐：包含所有9个任务

### 文档
- ✅ `批量任务使用说明.md` - 更新任务列表
- ✅ `批量任务功能实现总结.md` - 更新技术说明

---

## 🚀 使用方法

### 方法1：使用预设模板

**早晨套餐（含加钟）**：
```
任务: 每日签到 + 领取挂机 + 一键补差 + 加钟延时
用途: 早晨起床后快速完成基础任务并延长挂机
```

**晚间套餐（含盐罐机器人）**：
```
任务: 日常奖励 + 军团签到 + 一键答题 + 重启盐罐机器人
用途: 晚上完成日常并重启机器人
```

### 方法2：自定义模板

1. 点击"自定义模板"按钮
2. 创建新模板或编辑现有模板
3. 勾选需要的任务：
   - ☑️ 加钟延时
   - ☑️ 重启盐罐机器人
4. 保存模板

### 方法3：定时自动执行

**推荐配置**：
```javascript
// 每天早上8点
早晨套餐: ['签到', '领挂机', '补差', '加钟']

// 每天晚上20点  
晚间套餐: ['日常奖励', '军团签到', '答题', '重启盐罐']
```

---

## 🔍 执行日志示例

### 加钟延时
```
🎯 开始执行 Token: 主号战士
  📌 执行任务 [4/4]: addClock
  ✅ 任务完成: addClock
✅ Token完成: 主号战士
```

### 重启盐罐机器人
```
🎯 开始执行 Token: 主号战士
  📌 执行任务 [5/8]: restartBottleHelper
    ℹ️ 机器人可能未启动，跳过停止步骤
    ✓ 启动机器人成功
    ✓ 领取奖励成功
  ✅ 任务完成: restartBottleHelper
✅ Token完成: 主号战士
```

---

## ✨ 技术细节

### 加钟延时实现
```javascript
case 'addClock':
  // 加钟（挂机时间延长）
  return await client.sendWithPromise('system_mysharecallback', { 
    type: 3, 
    isSkipShareCard: true 
  }, 2000)
```

**参数说明**：
- `type: 3` - 指定分享类型为加钟
- `isSkipShareCard: true` - 跳过分享卡片，直接完成
- 超时时间：2000ms

### 重启盐罐机器人实现
```javascript
case 'restartBottleHelper':
  const bottleResults = []
  
  // 1. 停止机器人（可能失败则跳过）
  try {
    const stopResult = await client.sendWithPromise('bottlehelper_stop', { 
      bottleType: -1 
    }, 2000)
    bottleResults.push({ step: 'stop', result: stopResult })
    await new Promise(resolve => setTimeout(resolve, 500))
  } catch (error) {
    console.log('  ℹ️ 机器人可能未启动，跳过停止步骤')
  }
  
  // 2. 启动机器人（必须成功）
  const startResult = await client.sendWithPromise('bottlehelper_start', { 
    bottleType: -1 
  }, 2000)
  bottleResults.push({ step: 'start', result: startResult })
  await new Promise(resolve => setTimeout(resolve, 500))
  
  // 3. 领取奖励（可能失败则跳过）
  try {
    const claimResult = await client.sendWithPromise('bottlehelper_claim', {}, 2000)
    bottleResults.push({ step: 'claim', result: claimResult })
  } catch (error) {
    console.log('  ℹ️ 暂无机器人奖励可领取')
  }
  
  return bottleResults
```

**参数说明**：
- `bottleType: -1` - 机器人类型（-1表示所有类型）
- 步骤间延迟：500ms
- 超时时间：2000ms/步骤

**容错机制**：
- 停止失败不影响后续步骤
- 领取失败不影响整体成功
- 只有启动失败才会标记任务失败

---

## 📊 更新统计

### 任务总数
- 之前：7个任务
- 现在：**9个任务** ✨

### 预设模板更新
```
早晨套餐: 3个任务 → 4个任务 (+加钟)
晚间套餐: 3个任务 → 4个任务 (+盐罐机器人)
完整套餐: 7个任务 → 9个任务 (+2个新任务)
```

---

## 💡 使用建议

### 推荐时间安排

**早晨（8:00）**：
```
✅ 每日签到
✅ 领取挂机奖励
✅ 一键补差
✅ 加钟延时 ← 新增！
```

**中午（12:00）**：
```
✅ 加钟延时（单独执行或创建"午间加钟"模板）
```

**晚上（20:00）**：
```
✅ 日常任务奖励
✅ 军团签到
✅ 一键答题
✅ 重启盐罐机器人 ← 新增！
```

**睡前（23:00）**：
```
✅ 完整套餐（包含所有9个任务）
```

### 定时任务建议

**方案1：每日定时**
```
08:00 - 早晨套餐 (含加钟)
12:00 - 加钟延时 (单独)
18:00 - 晚间套餐 (含盐罐)
23:00 - 完整套餐
```

**方案2：间隔定时**
```
每4小时执行完整套餐
（自动加钟 + 自动重启盐罐）
```

---

## ⚠️ 注意事项

### 加钟延时
- ✅ 可以多次执行，每次延长固定时长
- ⚠️ 建议间隔1小时以上执行
- ⚠️ 游戏可能有每日加钟次数限制

### 重启盐罐机器人
- ✅ 自动处理机器人未启动的情况
- ✅ 自动领取可领取的奖励
- ⚠️ 重启过程约1.5秒，期间不要手动操作
- ⚠️ 建议每天执行1-2次即可

---

## 🐛 故障排除

### 问题1：加钟失败
**可能原因**：
- 已达每日加钟上限
- 网络问题

**解决方案**：
- 查看控制台错误日志
- 第二天再试
- 检查游戏内加钟次数

### 问题2：盐罐机器人重启失败
**可能原因**：
- 游戏未解锁盐罐机器人功能
- WebSocket连接不稳定

**解决方案**：
- 确认游戏内已解锁此功能
- 检查Token连接状态
- 重新连接后再试

---

## 🎉 总结

本次更新新增了两个实用任务：

✅ **加钟延时** - 自动延长挂机时间，提高收益  
✅ **重启盐罐机器人** - 自动维护机器人，确保正常运行

现在批量任务系统更加完善，可以覆盖更多日常操作！

**立即体验**：
1. 运行项目 `npm run dev`
2. 访问 `/tokens` 页面
3. 选择"早晨套餐"或"晚间套餐"
4. 点击"开始执行"
5. 查看执行效果 🚀

