1.0
This commit is contained in:
546
MD说明文件夹/功能更新-爬塔任务.md
Normal file
546
MD说明文件夹/功能更新-爬塔任务.md
Normal file
@@ -0,0 +1,546 @@
|
||||
# 功能更新 - 爬塔任务 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**:
|
||||
```javascript
|
||||
// 爬塔配置
|
||||
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. 爬塔任务执行
|
||||
|
||||
**执行逻辑**:
|
||||
```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)
|
||||
|
||||
Reference in New Issue
Block a user