11 KiB
11 KiB
功能更新 - 爬塔任务 v3.2.0
📅 更新日期
2025年10月7日
🎯 更新概述
在批量自动化任务中新增爬塔功能,支持设置爬塔次数(0-100次),并扩展了子任务详情显示,现在可以查看所有批量任务的执行状态。
✨ 新增功能
1. 爬塔任务
功能描述:
- 支持自动执行爬塔任务
- 可配置爬塔次数:0-100次
- 设置为0时自动跳过爬塔任务
- 超时时间:1000ms(1秒)
使用场景:
- 每日爬塔任务自动化
- 快速提升爬塔进度
- 批量角色爬塔
2. 爬塔次数配置
配置位置: 在批量任务面板的配置区域
配置方式:
- 使用滑块调整次数(0-100)
- 实时显示当前设置的次数
- 配置保存在浏览器本地存储
默认值:
- 默认为 0 次(跳过爬塔)
3. 扩展子任务详情显示
新增功能: 子任务详情现在显示所有批量任务的执行情况,包括:
一键补差子任务(46个)
- 分享游戏
- 赠送好友金币
- 免费招募 / 付费招募
- 免费点金(3次)
- 开启木质宝箱
- 福利签到
- 领取各类礼包
- 领取邮件
- 免费钓鱼(3次)
- 灯神扫荡(4国)
- 领取扫荡卷(3次)
- 黑市购买
- 竞技场战斗(3次)
- 军团BOSS
- 每日BOSS(3次)
- 盐罐机器人操作
- 领取任务奖励(10个)
- 领取日常/周常任务奖励
其他批量任务(5个)
- 俱乐部签到
- 一键答题
- 领取挂机奖励
- 加钟
- 爬塔
查看方式:
- 点击角色卡片的"子任务"按钮
- 切换视图:全部任务 / 一键补差 / 其他任务
- 查看每个任务的完成状态
🎨 用户界面
1. 批量任务面板
新增配置项:
┌────────────────────────────────────────┐
│ 选择任务模板 | 并发数量 | 爬塔次数 │
│ [完整套餐▼] | [━━●━━━] | [━━━━━●] │
│ | 5次 | 0次 │
└────────────────────────────────────────┘
爬塔次数滑块:
- 范围:0-100
- 显示当前设置值
- 0 = 跳过爬塔任务
2. 子任务详情弹窗
视图切换:
┌──────────────────────────────────────┐
│ [全部任务] [一键补差] [其他任务] [重置所有] │
└──────────────────────────────────────┘
统计信息:
总计: 51 已完成: 30 失败: 2 待执行: 19
任务列表:
- 显示所有任务的执行状态
- 标记消耗资源的任务
- 显示完成时间和错误信息
🔧 技术实现
1. 新增配置
batchTaskStore.js:
// 爬塔配置
const climbTowerCount = ref(
parseInt(localStorage.getItem('climbTowerCount') || '0')
) // 爬塔次数(0-100,0表示跳过)
// 设置爬塔次数
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. 爬塔任务执行
执行逻辑:
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:
// 所有批量任务定义
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]
新增方法:
// 获取详细任务列表(支持分类)
getDetailedTaskList(tokenId, category = 'all') // 'all' | 'dailyFix' | 'other'
// 获取一键补差任务列表
getDailyFixTaskList(tokenId)
// 获取其他任务列表
getOtherTaskList(tokenId)
4. 任务状态跟踪
其他任务现在也使用 executeSubTask 跟踪状态:
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:配置爬塔次数
步骤:
- 打开批量任务面板
- 找到"爬塔次数"配置项
- 拖动滑块调整次数(0-100)
- 系统自动保存配置
示例:
爬塔次数: 20次
[━━━●━━━━━━━] (滑块位置)
提示:
- 设置为 0 = 跳过爬塔
- 建议根据账号情况设置合适次数
- 次数越多,执行时间越长
场景2:执行爬塔任务
步骤:
- 确保任务模板包含"爬塔"任务(默认包含在完整套餐和快速套餐中)
- 设置爬塔次数(大于0)
- 点击"开始执行"
- 等待任务完成
执行日志:
开始爬塔,设置次数:20
✅ 爬塔 1/20 - 成功
✅ 爬塔 2/20 - 成功
...
✅ 爬塔 20/20 - 成功
完成20次爬塔
如果设置为0:
⏭️ 爬塔次数设置为0,跳过执行
场景3:查看所有任务状态
步骤:
- 任务执行后,点击角色卡片的"子任务"按钮
- 在弹窗中切换视图:
- 全部任务:显示所有51个任务
- 一键补差:只显示46个一键补差子任务
- 其他任务:显示5个其他批量任务
- 查看每个任务的状态
示例视图:
全部任务(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. 执行失败处理
爬塔失败的可能原因:
- 已达爬塔上限
- 体力不足
- 网络超时
- 服务器错误
系统行为:
- 失败后继续尝试剩余次数
- 记录失败原因
- 在详情中可查看具体错误
🆕 模板更新
更新后的模板
完整套餐:
tasks: [
'dailyFix', // 一键补差
'legionSignIn', // 俱乐部签到
'autoStudy', // 一键答题
'claimHangupReward', // 领取挂机奖励
'addClock', // 加钟
'climbTower' // 爬塔(新增)
]
快速套餐:
tasks: [
'legionSignIn', // 俱乐部签到
'autoStudy', // 一键答题
'claimHangupReward', // 领取挂机奖励
'addClock', // 加钟
'climbTower' // 爬塔(新增)
]
🎯 使用建议
1. 日常爬塔
推荐配置:
- 爬塔次数:10-20次
- 任务模板:完整套餐或快速套餐
- 并发数:5-6
适合:
- 每日例行爬塔
- 维持爬塔进度
- 领取爬塔奖励
2. 快速推进
推荐配置:
- 爬塔次数:50-100次
- 任务模板:仅爬塔(自定义)
- 并发数:6
适合:
- 快速提升爬塔层数
- 活动期间冲榜
- 批量角色爬塔
3. 跳过爬塔
配置:
- 爬塔次数:0
适合:
- 不需要爬塔时
- 节省执行时间
- 专注其他任务
📝 总结
主要特性
-
灵活配置
- 爬塔次数可调(0-100)
- 设置为0自动跳过
- 配置持久化保存
-
完整跟踪
- 所有任务状态记录
- 详细的执行日志
- 失败原因追踪
-
统一管理
- 所有批量任务统一显示
- 支持视图切换
- 便于查看和管理
-
用户友好
- 直观的UI界面
- 实时反馈
- 详细的提示信息
版本信息
版本: v3.2.0
更新日期: 2025-10-07
主要内容:
- 新增爬塔任务
- 扩展子任务详情显示
- 所有批量任务状态跟踪
- 优化用户界面
相关文档: