Files
xyzw_web_helper/MD说明文件夹/问题修复-错误码200350补充说明v3.12.3.md
2025-10-17 20:56:50 +08:00

317 lines
8.2 KiB
Markdown
Raw Permalink 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.

# 问题修复 - 错误码200350补充说明 v3.12.3
**版本**: v3.12.3
**日期**: 2025-10-08
**类型**: 问题修复 / 文档更新
## 问题描述
用户反馈发车失败时显示:
```
发车失败
服务器错误: 200350 - 未知错误
```
**实际情况**:该账号未加入俱乐部
**原有提示**非发车时间6:00-20:00或已发车后收车
**问题分析**:错误码 `200350` 的含义比之前理解的更广泛,不仅包括时间限制和收车状态,还包括未加入俱乐部的情况。
## 错误码200350的多种含义
经过用户反馈和分析,错误码 `200350` 可能出现在以下几种情况:
### 1. 非发车时间
- **时间限制**:发车时间为 6:00-20:00
- **超出时间**:在此时间段外尝试发车会返回 200350
### 2. 已发车后收车
- **状态冲突**:车辆已发出并已收回
- **重复发车**:尝试发送已收车的车辆
### 3. 未加入俱乐部 ⭐ 新发现
- **未加入**:账号未加入任何俱乐部
- **无权限**:没有俱乐部赛车权限
## 错误码对比
### 俱乐部相关发车错误码
| 错误码 | 主要含义 | 其他可能含义 | 处理方式 |
|--------|---------|-------------|---------|
| `200350` | 非发车时间 | 已收车、未加入俱乐部 | ⚠️ 跳过 |
| `2300070` | 未加入俱乐部 | - | ⚠️ 跳过 |
| `200400` | 未加入俱乐部或无权限 | - | ❌ 失败 |
### 为什么200350和2300070都可能表示"未加入俱乐部"
可能的原因:
1. **不同的检查阶段**
- `2300070`:在签到或查询车辆时检查
- `200350`:在实际发车时检查
2. **不同的服务器版本**
- 旧版本返回 `200350`
- 新版本返回 `2300070`
3. **不同的错误分类**
- `200350`:通用的"无法发车"错误
- `2300070`:明确的"未加入俱乐部"错误
## 解决方案
### 更新错误提示
将错误提示从单一原因改为包含所有可能的原因:
#### 修改前
```javascript
} else if (errorMsg.includes('200350')) {
// 错误码200350非发车时间或已发车后收车
console.log(`⚠️ [${tokenId}] 车辆 ${carId} 发送失败: 非发车时间6:00-20:00或已发车后收车`)
sendSkipCount++
break
}
```
#### 修改后
```javascript
} else if (errorMsg.includes('200350')) {
// 错误码200350非发车时间、已发车后收车、或未加入俱乐部
console.log(`⚠️ [${tokenId}] 车辆 ${carId} 发送失败: 非发车时间6:00-20:00、已发车后收车、或未加入俱乐部`)
sendSkipCount++
break
}
```
### 处理策略保持不变
-**仍然标记为"跳过"**:不计入失败数
-**停止继续尝试**:避免重复失败
-**友好提示**:列出所有可能的原因
## 修改文件
### src/stores/batchTaskStore.js
**修改位置**: Line 1699-1700
**修改内容**:
- 更新注释:增加"或未加入俱乐部"
- 更新日志:增加"或未加入俱乐部"说明
## 用户体验改进
### 修改前
```
控制台日志:
⚠️ [10694服-0-7167...] 车辆 1 发送失败: 非发车时间6:00-20:00或已发车后收车
用户疑惑:
❓ 现在是发车时间内啊
❓ 车辆也没有收车啊
❓ 为什么还是失败?
```
### 修改后
```
控制台日志:
⚠️ [10694服-0-7167...] 车辆 1 发送失败: 非发车时间6:00-20:00、已发车后收车、或未加入俱乐部
用户理解:
✅ 哦,可能是因为没加入俱乐部
✅ 提示信息更全面了
✅ 知道可能的原因了
```
## 诊断指南
当遇到错误码 `200350` 时,按以下顺序检查:
### 1. 检查俱乐部状态 ⭐ 优先
```
进入游戏 → 俱乐部
- 是否已加入俱乐部?
- 是否有赛车权限?
```
### 2. 检查发车时间
```
当前时间是否在 6:00-20:00 之间?
```
### 3. 检查车辆状态
```
车辆是否已经发车并收回?
是否在运输中?
```
## 完整的发车错误处理流程
```javascript
try {
await sendCar(carId)
} catch (error) {
if (error.includes('12000050')) {
// 今日发车次数已达上限
停止发车
} else if (error.includes('200020')) {
// 发送冷却期
跳过此车尝试下一辆
} else if (error.includes('200350')) {
// 非发车时间、已收车、或未加入俱乐部
跳过停止继续尝试
} else if (error.includes('2300070')) {
// 明确的未加入俱乐部
跳过停止继续尝试
} else {
// 其他未知错误
记录错误继续尝试下一辆
}
}
```
## 发车相关错误码汇总表
| 错误码 | 主要含义 | 可能的其他原因 | 处理方式 | 是否继续尝试下一辆 |
|--------|---------|--------------|---------|-----------------|
| `12000050` | 今日发车已达上限 | - | ⚠️ 跳过 | ❌ 否 |
| `200020` | 发送冷却期 | - | ⚠️ 跳过 | ✅ 是 |
| `200350` | 非发车时间 | 已收车、未加入俱乐部 | ⚠️ 跳过 | ❌ 否 |
| `2300070` | 未加入俱乐部 | - | ⚠️ 跳过 | ❌ 否 |
| `200400` | 未加入或无权限 | - | ❌ 失败 | ❌ 否 |
## 技术要点
### 1. 一个错误码多种含义
在游戏服务器中,一个错误码可能代表多种情况:
- **通用错误码**:如 200350表示"无法发车"的各种原因
- **具体错误码**:如 2300070明确表示"未加入俱乐部"
处理策略:
```javascript
// ✅ 好的做法:提示所有可能的原因
console.log('可能原因: A、B、或C')
// ❌ 不好的做法:只提示一种原因
console.log('原因: A') // 用户遇到B或C时会困惑
```
### 2. 错误提示的优先级
当有多个可能的原因时,建议按以下顺序排列:
1. **最常见的原因**放在前面
2. **用户最容易检查的**放在前面
3. **技术性较强的**放在后面
示例:
```
非发车时间(易检查)→ 已发车后收车(常见)→ 未加入俱乐部(新发现)
```
### 3. 保持向后兼容
更新错误提示时,应保持:
- ✅ 原有的错误处理逻辑不变
- ✅ 原有的 `sendSkipCount++``break` 保持
- ✅ 只增加提示信息的完整性
## 用户指南
### 如何解决200350错误
#### 方法1加入俱乐部最常见
```
1. 进入游戏
2. 点击"俱乐部"
3. 搜索并加入一个俱乐部
4. 重新执行批量任务
```
#### 方法2在发车时间内执行
```
1. 检查当前时间
2. 确保在 6:00-20:00 之间
3. 重新执行批量任务
```
#### 方法3检查车辆状态
```
1. 进入游戏查看赛车
2. 如果车辆已收车,等待下次发车时间
3. 如果车辆在运输中,等待到达后再发车
```
## 测试场景
### 场景1未加入俱乐部
```
账号状态: 未加入俱乐部
执行时间: 10:00发车时间内
错误码: 200350
日志: 非发车时间6:00-20:00、已发车后收车、或未加入俱乐部
结果: ⚠️ 跳过,停止尝试
```
### 场景2非发车时间
```
账号状态: 已加入俱乐部
执行时间: 21:00发车时间外
错误码: 200350
日志: 非发车时间6:00-20:00、已发车后收车、或未加入俱乐部
结果: ⚠️ 跳过,停止尝试
```
### 场景3车辆已收车
```
账号状态: 已加入俱乐部
执行时间: 10:00发车时间内
车辆状态: 已发车并收车
错误码: 200350
日志: 非发车时间6:00-20:00、已发车后收车、或未加入俱乐部
结果: ⚠️ 跳过,停止尝试
```
## 相关版本
- **v3.11.20**: 首次添加错误码 200350 识别(非发车时间或已收车)
- **v3.11.24**: 添加错误码 2300070 识别(未加入俱乐部)
- **v3.12.3**: 补充 200350 的含义,增加"未加入俱乐部"说明(本版本)
## 总结
**发现**
- 🔍 错误码 200350 的含义比预想的更广泛
- 🔍 不仅表示时间限制和收车状态
- 🔍 也可能表示未加入俱乐部
**更新**
- ✅ 更新错误提示,包含所有可能的原因
- ✅ 保持原有的处理逻辑不变
- ✅ 提供更完整的诊断指南
**效果**
- ✅ 用户看到更全面的错误提示
- ✅ 减少用户困惑
- ✅ 更容易定位实际问题
- ✅ 提高用户体验
**建议**
- 💡 优先检查是否加入俱乐部
- 💡 然后检查发车时间
- 💡 最后检查车辆状态
---
**状态**: ✅ 已更新
**版本**: v3.12.3