145 lines
5.4 KiB
HTTP
145 lines
5.4 KiB
HTTP
### ============================================================
|
||
### 子弹与赏金 (Bullets & Bounty) API 测试
|
||
### ============================================================
|
||
|
||
### 1. 登录
|
||
POST http://localhost:8081/api/login HTTP/1.1
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"username":"19156010758","password":"123456"}
|
||
|
||
### ============================================================
|
||
### 2. 获取可用箱子列表
|
||
POST http://localhost:8081/api/bullet/boxes HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{}
|
||
|
||
### ============================================================
|
||
### 3. 进行一次旋转
|
||
### boxId: 箱子ID(传值=新游戏, 不传=继续游戏)
|
||
### autoDecompose: true=自动分解(静默加积分,不弹窗), false/不传=手动选择
|
||
###
|
||
### 响应关键字段:
|
||
### hasGamble: true → 触发Gamble,需要调用 /gamble 决策
|
||
### hasGamble: false + prize != null → 获取到饰品,调用 /prize_decide 决策
|
||
### hasGamble: false + prize == null → 直接结算或自动分解,游戏结束
|
||
###
|
||
### --- 普通模式 (手动选择) ---
|
||
POST http://localhost:8081/api/bullet/dospin HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"boxId": 27}
|
||
|
||
### --- 自动分解模式 ---
|
||
### autoDecompose=true 时,游戏全程静默结算:
|
||
### 1. 普通旋转 → 自动加积分,返回 prize=null,游戏结束
|
||
### 2. 触发Gamble → 仍需手动调用 /gamble 决策
|
||
### 3. Gamble后 → 自动加积分,无需调用 /prize_decide
|
||
POST http://localhost:8081/api/bullet/dospin HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"boxId": 27, "autoDecompose": true}
|
||
|
||
### ============================================================
|
||
### 4. Gamble决策 (仅当hasGamble=true时调用)
|
||
### action: CONTINUE = 继续玩免费旋转
|
||
### action: GAMBLE = 冒险(加权随机出CASH或UPGRADE)
|
||
###
|
||
### GAMBLE响应:
|
||
### gambleResult.type = "CASH" → 获得现金奖金 cashMul × bet
|
||
### gambleResult.type = "UPGRADE" → 升级到更高Bonus (如 FOUR_SHOTS)
|
||
### 如果升级后还有Gamble → hasGamble=true,继续调用本接口
|
||
### 如果升级后无Gamble → 返回prize或直接结算
|
||
###
|
||
### 注意: 如果 dospin 时 autoDecompose=true,Gamble结果会自动结算
|
||
### CASH → 自动加积分,prize=null
|
||
### UPGRADE → 自动加积分,prize=null
|
||
### CONTINUE结束 → 自动加积分,prize=null
|
||
### 全程无需再调用 /prize_decide
|
||
|
||
### 4a. 冒险
|
||
POST http://localhost:8081/api/bullet/gamble HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"action": "GAMBLE"}
|
||
|
||
### 4b. 继续玩免费旋转
|
||
POST http://localhost:8081/api/bullet/gamble HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"action": "CONTINUE"}
|
||
|
||
### ============================================================
|
||
### 5. 饰品处理决策 (仅当prize != null时调用)
|
||
### 注意: autoDecompose=true 时无需调用此接口(已自动结算)
|
||
### action: DECOMPOSE = 分解(加余额)
|
||
### action: KEEP = 收藏(写背包,不加余额)
|
||
###
|
||
### 响应包含: prize (饰品信息), accountAmount (最新余额)
|
||
|
||
### 5a. 分解饰品
|
||
POST http://localhost:8081/api/bullet/prize_decide HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"action": "DECOMPOSE"}
|
||
|
||
### 5b. 收藏饰品
|
||
POST http://localhost:8081/api/bullet/prize_decide HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"action": "KEEP"}
|
||
|
||
### ============================================================
|
||
### 6. 检查是否有进行中的游戏
|
||
### 响应: hasActive, boxType, bet, bonusType, hasGamble, gambleOptions,
|
||
### hasPrize, prizeId, prizeName, prizeGrade, prizeImageUrl,
|
||
### totalWin, totalMul, cost
|
||
POST http://localhost:8081/api/bullet/has_bonus HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{}
|
||
|
||
### ============================================================
|
||
### 7. 查询个人记录
|
||
### boxType: normal / buy4_true_grit / buy5_four_shots 等
|
||
POST http://localhost:8081/api/bullet/records HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"pageNum": 1, "pageSize": 10, "boxType": ""}
|
||
|
||
### ============================================================
|
||
### 8. 查询全服排行
|
||
### rankType: win / multiplier
|
||
POST http://localhost:8081/api/bullet/rank HTTP/1.1
|
||
Authorization: Bearer {{token}}
|
||
Content-Type: application/json; charset=UTF-8
|
||
|
||
{"pageNum": 1, "pageSize": 10, "rankType": "win", "boxType": ""}
|
||
|
||
### ============================================================
|
||
### 9. 自动分解完整流程示例
|
||
### 从旋转到结算全程只需调用 dospin 和 gamble:
|
||
###
|
||
### Step 1: 旋转 (autoDecompose=true)
|
||
### POST /api/bullet/dospin {"boxId": 27, "autoDecompose": true}
|
||
### → hasGamble=false, prize=null → 游戏结束,积分已自动到账
|
||
### → hasGamble=true → 进入 Step 2
|
||
###
|
||
### Step 2: Gamble决策
|
||
### POST /api/bullet/gamble {"action": "GAMBLE"} 或 {"action": "CONTINUE"}
|
||
### → CONTINUE: 继续免费旋转,回到Step 1检查
|
||
### → GAMBLE CASH: 自动加积分,prize=null,游戏结束
|
||
### → GAMBLE UPGRADE: 自动加积分,prize=null,游戏结束
|
||
###
|
||
### 对比手动模式: 还需要额外调用 /prize_decide {"action": "DECOMPOSE"}
|