# 问题修复 - 错误码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