mirror of
https://github.com/earthjasonlin/star-rail-warp-export.git
synced 2025-10-28 16:10:08 +08:00
fix: dynamically select API path based on gacha type (#98)
修改了 `getGachaLogs` ,以下是关键区别和影响分析:
### 原代码行为
1. 根据输入的URL中是否包含`gacha_type=21`或`gacha_type=22`来决定API路径:
```javascript
if (queryString.includes('gacha_type=21') ||
queryString.includes('gacha_type=22')) {
gachaURLPath = 'getLdGachaLog'
}
```
2. 这意味着:
- 如果URL包含21/22类型,则所有请求都使用`getLdGachaLog`
- 否则所有请求都使用`getGachaLog`
### 修改后行为
1. 根据当前获取的gacha_type(key)动态决定API路径:
```javascript
let gachaURLPath = ['21', '22'].includes(key) ? 'getLdGachaLog' :
'getGachaLog'
```
2. 这意味着:
- 每个gacha_type独立判断使用哪个API
- 21/22类型使用`getLdGachaLog`
- 其他类型使用`getGachaLog`
### 关键区别
1. **更精确的API选择**:原代码基于输入URL决定所有请求的API路径,修改后基于每个gacha_type单独决定
2. **兼容性更好**:无论输入URL是什么类型,都能正确处理所有gacha_type
3. **行为更合理**:21/22类型总是使用专用API,其他类型使用标准API
### 实际影响
1. 当输入URL是普通类型(如11/12/1/2)时:
- 原代码:无法获取21/22类型数据(因为使用错误API)
- 修改后:可以获取所有类型数据(每种类型使用正确API)
2. 当输入URL是21/22类型时:
- 原代码:可以获取21/22类型,但其他类型可能使用错误API
- 修改后:所有类型都能正确获取
### 为什么这样改更好
1. 解决了原代码的局限性 - 不再依赖输入URL决定所有请求行为
2. 更符合API设计 - 21/22类型确实需要特殊API
3. 保持向后兼容 - 不影响现有功能,只是扩展了兼容性
这个修改使工具能够正确处理所有情况下的所有gacha_type,而不再受输入URL类型的限制。
This commit is contained in:
789
src/idJson.json
789
src/idJson.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user