Files
henan-backend/ruoyi-ui/restapi/bullet.http
T
2026-09-21 19:21:35 +08:00

145 lines
5.4 KiB
HTTP
Raw 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.
### ============================================================
### 子弹与赏金 (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"}