Files
xyzw_web_helper/MD说明文件夹/功能更新-爬塔任务.md

547 lines
11 KiB
Markdown
Raw Normal View History

2025-10-17 20:56:50 +08:00
# 功能更新 - 爬塔任务 v3.2.0
## 📅 更新日期
2025年10月7日
---
## 🎯 更新概述
在批量自动化任务中新增**爬塔功能**支持设置爬塔次数0-100次并扩展了子任务详情显示现在可以查看所有批量任务的执行状态。
---
## ✨ 新增功能
### 1. 爬塔任务
**功能描述**
- 支持自动执行爬塔任务
- 可配置爬塔次数0-100次
- 设置为0时自动跳过爬塔任务
- 超时时间1000ms1秒
**使用场景**
- 每日爬塔任务自动化
- 快速提升爬塔进度
- 批量角色爬塔
---
### 2. 爬塔次数配置
**配置位置**
在批量任务面板的配置区域
**配置方式**
- 使用滑块调整次数0-100
- 实时显示当前设置的次数
- 配置保存在浏览器本地存储
**默认值**
- 默认为 0 次(跳过爬塔)
---
### 3. 扩展子任务详情显示
**新增功能**
子任务详情现在显示所有批量任务的执行情况,包括:
#### 一键补差子任务46个
- 分享游戏
- 赠送好友金币
- 免费招募 / 付费招募
- 免费点金3次
- 开启木质宝箱
- 福利签到
- 领取各类礼包
- 领取邮件
- 免费钓鱼3次
- 灯神扫荡4国
- 领取扫荡卷3次
- 黑市购买
- 竞技场战斗3次
- 军团BOSS
- 每日BOSS3次
- 盐罐机器人操作
- 领取任务奖励10个
- 领取日常/周常任务奖励
#### 其他批量任务5个
- 俱乐部签到
- 一键答题
- 领取挂机奖励
- 加钟
- 爬塔
**查看方式**
- 点击角色卡片的"子任务"按钮
- 切换视图:全部任务 / 一键补差 / 其他任务
- 查看每个任务的完成状态
---
## 🎨 用户界面
### 1. 批量任务面板
**新增配置项**
```
┌────────────────────────────────────────┐
│ 选择任务模板 | 并发数量 | 爬塔次数 │
│ [完整套餐▼] | [━━●━━━] | [━━━━━●] │
│ | 5次 | 0次 │
└────────────────────────────────────────┘
```
**爬塔次数滑块**
- 范围0-100
- 显示当前设置值
- 0 = 跳过爬塔任务
---
### 2. 子任务详情弹窗
**视图切换**
```
┌──────────────────────────────────────┐
│ [全部任务] [一键补差] [其他任务] [重置所有] │
└──────────────────────────────────────┘
```
**统计信息**
```
总计: 51 已完成: 30 失败: 2 待执行: 19
```
**任务列表**
- 显示所有任务的执行状态
- 标记消耗资源的任务
- 显示完成时间和错误信息
---
## 🔧 技术实现
### 1. 新增配置
**batchTaskStore.js**
```javascript
// 爬塔配置
const climbTowerCount = ref(
parseInt(localStorage.getItem('climbTowerCount') || '0')
) // 爬塔次数0-1000表示跳过
// 设置爬塔次数
const setClimbTowerCount = (count) => {
if (count < 0 || count > 100) {
console.warn('⚠️ 爬塔次数必须在0-100之间')
return
}
climbTowerCount.value = count
localStorage.setItem('climbTowerCount', count.toString())
console.log(`🗼 爬塔次数已设置为: ${count}`)
}
```
---
### 2. 爬塔任务执行
**执行逻辑**
```javascript
case 'climbTower':
// 爬塔任务
const climbResults = []
const count = climbTowerCount.value
if (count === 0) {
return {
task: '爬塔',
skipped: true,
success: true,
message: `爬塔次数设置为0跳过执行`
}
}
console.log(`开始爬塔,设置次数:${count}`)
for (let i = 1; i <= count; i++) {
try {
const towerResult = await client.sendWithPromise('tower_climb', {}, 1000)
climbResults.push({
task: `爬塔 ${i}/${count}`,
success: true,
data: towerResult
})
await new Promise(resolve => setTimeout(resolve, 200))
} catch (error) {
climbResults.push({
task: `爬塔 ${i}/${count}`,
success: false,
error: error.message
})
// 如果失败,继续尝试剩余次数
}
}
// 标记爬塔任务完成
dailyTaskStateStore.markTaskCompleted(tokenId, 'climb_tower', true, null)
return {
task: '爬塔',
taskId: 'climb_tower',
success: true,
data: climbResults,
message: `完成${count}次爬塔`
}
```
**特点**
- ✅ 超时时间1000ms
- ✅ 每次爬塔间隔200ms
- ✅ 失败后继续执行剩余次数
- ✅ 记录每次爬塔结果
- ✅ 标记任务完成状态
---
### 3. 扩展任务状态管理
**dailyTaskState.js**
```javascript
// 所有批量任务定义
const DAILY_FIX_TASKS = [/* 46个一键补差子任务 */]
const OTHER_TASKS = [
{ id: 'legion_signin', name: '俱乐部签到', consumesResources: false },
{ id: 'auto_study', name: '一键答题', consumesResources: false },
{ id: 'claim_hangup_reward', name: '领取挂机奖励', consumesResources: false },
{ id: 'add_clock', name: '加钟', consumesResources: false },
{ id: 'climb_tower', name: '爬塔', consumesResources: false }
]
const ALL_TASKS = [...DAILY_FIX_TASKS, ...OTHER_TASKS]
```
**新增方法**
```javascript
// 获取详细任务列表(支持分类)
getDetailedTaskList(tokenId, category = 'all') // 'all' | 'dailyFix' | 'other'
// 获取一键补差任务列表
getDailyFixTaskList(tokenId)
// 获取其他任务列表
getOtherTaskList(tokenId)
```
---
### 4. 任务状态跟踪
**其他任务现在也使用 executeSubTask 跟踪状态**
```javascript
case 'legionSignIn':
return await executeSubTask(
tokenId,
'legion_signin',
'俱乐部签到',
async () => await client.sendWithPromise('legion_signin', {}, 1000),
false
)
case 'autoStudy':
return await executeSubTask(
tokenId,
'auto_study',
'一键答题',
async () => await client.sendWithPromise('study_startgame', {}, 1000),
false
)
// ... 其他任务类似
```
**优势**
- ✅ 统一的状态管理
- ✅ 完整的执行记录
- ✅ 详细的错误信息
- ✅ 一致的用户体验
---
## 📖 使用指南
### 场景1配置爬塔次数
**步骤**
1. 打开批量任务面板
2. 找到"爬塔次数"配置项
3. 拖动滑块调整次数0-100
4. 系统自动保存配置
**示例**
```
爬塔次数: 20次
[━━━●━━━━━━━] (滑块位置)
```
**提示**
- 设置为 0 = 跳过爬塔
- 建议根据账号情况设置合适次数
- 次数越多,执行时间越长
---
### 场景2执行爬塔任务
**步骤**
1. 确保任务模板包含"爬塔"任务(默认包含在完整套餐和快速套餐中)
2. 设置爬塔次数大于0
3. 点击"开始执行"
4. 等待任务完成
**执行日志**
```
开始爬塔设置次数20
✅ 爬塔 1/20 - 成功
✅ 爬塔 2/20 - 成功
...
✅ 爬塔 20/20 - 成功
完成20次爬塔
```
**如果设置为0**
```
⏭️ 爬塔次数设置为0跳过执行
```
---
### 场景3查看所有任务状态
**步骤**
1. 任务执行后,点击角色卡片的"子任务"按钮
2. 在弹窗中切换视图:
- **全部任务**显示所有51个任务
- **一键补差**只显示46个一键补差子任务
- **其他任务**显示5个其他批量任务
3. 查看每个任务的状态
**示例视图**
**全部任务51个**
```
✅ 分享游戏 [未执行]
✅ 付费招募 [消耗资源] [已完成]
...
✅ 俱乐部签到 [已完成]
✅ 爬塔 [已完成]
完成时间: 2025-10-07 09:15:30
```
**其他任务5个**
```
✅ 俱乐部签到 [已完成]
✅ 一键答题 [已完成]
✅ 领取挂机奖励 [已完成]
✅ 加钟 [已完成]
✅ 爬塔 [已完成]
```
---
## 📊 性能数据
### 爬塔执行时间
| 次数 | 预计时间 | 说明 |
|-----|---------|------|
| 10次 | 12秒 | 10 × (1秒超时 + 0.2秒间隔) |
| 20次 | 24秒 | 20 × 1.2秒 |
| 50次 | 60秒 | 50 × 1.2秒 |
| 100次 | 120秒 | 100 × 1.2秒2分钟 |
**注意**
- 实际时间可能更短(如果服务器响应快)
- 失败的任务不会增加额外时间(已计入超时)
---
### 100角色批量爬塔
**场景**100个角色每个爬塔20次
**计算**
- 并发数5约 100/5 × 24秒 = 480秒8分钟
- 并发数6约 100/6 × 24秒 = 400秒6.7分钟)
**优势**
- 自动化,无需手动操作
- 批量处理,节省大量时间
- 可配置,灵活调整次数
---
## ⚠️ 注意事项
### 1. 爬塔次数设置
**建议**
- 根据账号实际情况设置
- 不确定时先设置较小值测试
- 观察执行结果后调整
**风险**
- 设置过高可能导致执行时间过长
- 如果爬塔失败率高,建议降低次数
---
### 2. 任务模板
**爬塔任务包含在以下模板中**
- ✅ 完整套餐
- ✅ 快速套餐
- ❌ 仅一键补差
**自定义模板**
- 可以自己创建包含/不包含爬塔的模板
- 使用"自定义模板"功能
---
### 3. 执行失败处理
**爬塔失败的可能原因**
- 已达爬塔上限
- 体力不足
- 网络超时
- 服务器错误
**系统行为**
- 失败后继续尝试剩余次数
- 记录失败原因
- 在详情中可查看具体错误
---
## 🆕 模板更新
### 更新后的模板
**完整套餐**
```javascript
tasks: [
'dailyFix', // 一键补差
'legionSignIn', // 俱乐部签到
'autoStudy', // 一键答题
'claimHangupReward', // 领取挂机奖励
'addClock', // 加钟
'climbTower' // 爬塔(新增)
]
```
**快速套餐**
```javascript
tasks: [
'legionSignIn', // 俱乐部签到
'autoStudy', // 一键答题
'claimHangupReward', // 领取挂机奖励
'addClock', // 加钟
'climbTower' // 爬塔(新增)
]
```
---
## 🎯 使用建议
### 1. 日常爬塔
**推荐配置**
- 爬塔次数10-20次
- 任务模板:完整套餐或快速套餐
- 并发数5-6
**适合**
- 每日例行爬塔
- 维持爬塔进度
- 领取爬塔奖励
---
### 2. 快速推进
**推荐配置**
- 爬塔次数50-100次
- 任务模板:仅爬塔(自定义)
- 并发数6
**适合**
- 快速提升爬塔层数
- 活动期间冲榜
- 批量角色爬塔
---
### 3. 跳过爬塔
**配置**
- 爬塔次数0
**适合**
- 不需要爬塔时
- 节省执行时间
- 专注其他任务
---
## 📝 总结
### 主要特性
1. **灵活配置**
- 爬塔次数可调0-100
- 设置为0自动跳过
- 配置持久化保存
2. **完整跟踪**
- 所有任务状态记录
- 详细的执行日志
- 失败原因追踪
3. **统一管理**
- 所有批量任务统一显示
- 支持视图切换
- 便于查看和管理
4. **用户友好**
- 直观的UI界面
- 实时反馈
- 详细的提示信息
---
### 版本信息
**版本**: v3.2.0
**更新日期**: 2025-10-07
**主要内容**:
- 新增爬塔任务
- 扩展子任务详情显示
- 所有批量任务状态跟踪
- 优化用户界面
---
**相关文档**:
- [批量任务使用说明.md](./批量任务使用说明.md)
- [功能更新-任务状态跟踪.md](./功能更新-任务状态跟踪.md)
- [一键补差完整子任务清单.md](./一键补差完整子任务清单.md)