Files
xyzw_web_helper/MD说明文件夹/功能更新-爬塔任务.md
2025-10-17 20:56:50 +08:00

547 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 功能更新 - 爬塔任务 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)