213 lines
4.0 KiB
Markdown
213 lines
4.0 KiB
Markdown
# 公共跳转参数
|
||
|
||
## 地址
|
||
|
||
无。
|
||
|
||
这不是一个接口,是后台运营配置、H5 bridge、IM custom data 共用的一套 App 跳转参数。
|
||
|
||
## 用在哪里
|
||
|
||
- Admin Banner:`type` 选 `APP`,`param` 填下面的 JSON。
|
||
- Admin 开屏配置:`type` 选 `APP`,`param` 填下面的 JSON。
|
||
- Admin 弹窗配置:`跳转类型` 选 `APP`,使用公共跳转组件生成下面的 JSON。
|
||
- H5 bridge:通过 `taskAction` 或其它业务 action 传下面的 JSON。
|
||
- 全服飘窗 IM:传 `jump_type`、`jump_param` 或 `jump_payload`。
|
||
|
||
## 参数
|
||
|
||
### 钱包
|
||
|
||
打开钱包页。
|
||
|
||
```json
|
||
{"type":"wallet"}
|
||
```
|
||
|
||
### 指定房间
|
||
|
||
进入指定房间。
|
||
|
||
```json
|
||
{"type":"room","room_id":"ROOM_ID"}
|
||
```
|
||
|
||
### 随机房间
|
||
|
||
进入一个随机公开房间。
|
||
|
||
```json
|
||
{"type":"room_random"}
|
||
```
|
||
|
||
### 指定房内拉起窗口
|
||
|
||
进入指定房间后打开房内窗口。
|
||
|
||
```json
|
||
{"type":"room_window","room_id":"ROOM_ID","window":"gift_panel"}
|
||
```
|
||
|
||
### 随机房内拉起窗口
|
||
|
||
进入随机公开房间后打开房内窗口。
|
||
|
||
```json
|
||
{"type":"room_random_window","window":"gift_panel"}
|
||
```
|
||
|
||
### 指定房内拉起游戏
|
||
|
||
进入指定房间后打开指定游戏。
|
||
|
||
```json
|
||
{"type":"room_game","room_id":"ROOM_ID","game_id":"GAME_ID"}
|
||
```
|
||
|
||
### 随机房内拉起游戏
|
||
|
||
进入随机公开房间后打开指定游戏。
|
||
|
||
```json
|
||
{"type":"room_random_game","game_id":"GAME_ID"}
|
||
```
|
||
|
||
### Explore 游戏 H5
|
||
|
||
App 先切到 Explore tab,再打开对应的 H5。
|
||
|
||
```json
|
||
{"type":"explore_game","game_code":"game_dice"}
|
||
```
|
||
|
||
`game_code` 可填:
|
||
|
||
- `game_dice`:打开 Explore 的 Dice Battle H5,对应 Flutter H5 key `game_dice`。
|
||
- `game_rock`:打开 Explore 的 Rock Paper Scissors H5,对应 Flutter H5 key `game_rock`。
|
||
|
||
## window 可填值
|
||
|
||
### 游戏窗口
|
||
|
||
打开房内游戏窗口。带 `game_id` 时直接打开这个游戏;不带 `game_id` 时打开游戏菜单。
|
||
|
||
```json
|
||
{"type":"room_window","room_id":"ROOM_ID","window":"game_window","game_id":"GAME_ID"}
|
||
```
|
||
|
||
### 礼物面板
|
||
|
||
打开礼物面板。带 `gift_id` 时预选这个礼物。
|
||
|
||
```json
|
||
{"type":"room_window","room_id":"ROOM_ID","window":"gift_panel","gift_id":"GIFT_ID"}
|
||
```
|
||
|
||
### 领红包弹窗
|
||
|
||
打开领红包弹窗。带 `red_packet_no` 时打开指定红包。
|
||
|
||
```json
|
||
{"type":"room_window","room_id":"ROOM_ID","window":"red_packet_claim","red_packet_no":"RED_PACKET_NO"}
|
||
```
|
||
|
||
### 转盘窗口
|
||
|
||
打开房内转盘窗口。
|
||
|
||
```json
|
||
{"type":"room_window","room_id":"ROOM_ID","window":"wheel"}
|
||
```
|
||
|
||
## Admin 配置方式
|
||
|
||
后台公共跳转组件里:
|
||
|
||
- `跳转类型` 选 `APP`。
|
||
- `APP 目标` 选需要的目标。
|
||
- 目标是 `Explore 游戏 H5` 时,继续选择 `Game Code`。
|
||
- 保存后后台会生成 `param` JSON。
|
||
|
||
Explore 游戏 H5 的后台示例:
|
||
|
||
```json
|
||
{"type":"explore_game","game_code":"game_rock"}
|
||
```
|
||
|
||
## 返回值
|
||
|
||
无。
|
||
|
||
这是 App 内部跳转参数,没有服务端返回值。
|
||
|
||
## 相关 IM
|
||
|
||
全服飘窗使用 IM custom message。App 会解析 `jump_type`、`jump_param`、`jump_payload`。
|
||
|
||
### 指定 jump_payload
|
||
|
||
```json
|
||
{
|
||
"broadcast_type": "game_win",
|
||
"room_id": "ROOM_ID",
|
||
"game_id": "GAME_ID",
|
||
"coins": 1000,
|
||
"jump_type": "room_window",
|
||
"jump_payload": {
|
||
"room_id": "ROOM_ID",
|
||
"window": "gift_panel",
|
||
"gift_id": "GIFT_ID"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 跳钱包
|
||
|
||
```json
|
||
{
|
||
"broadcast_type": "game_win",
|
||
"coins": 1000,
|
||
"jump_type": "wallet",
|
||
"jump_payload": {}
|
||
}
|
||
```
|
||
|
||
### 随机房拉起游戏
|
||
|
||
```json
|
||
{
|
||
"broadcast_type": "game_win",
|
||
"coins": 1000,
|
||
"jump_type": "room_random_game",
|
||
"jump_payload": {
|
||
"game_id": "GAME_ID"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 跳 Explore 游戏 H5
|
||
|
||
```json
|
||
{
|
||
"broadcast_type": "game_win",
|
||
"coins": 1000,
|
||
"jump_type": "explore_game",
|
||
"jump_payload": {
|
||
"game_code": "game_dice"
|
||
}
|
||
}
|
||
```
|
||
|
||
也可以把 `game_code` 放在 `jump_param`:
|
||
|
||
```json
|
||
{
|
||
"broadcast_type": "game_win",
|
||
"coins": 1000,
|
||
"jump_type": "explore_game",
|
||
"jump_param": "game_rock"
|
||
}
|
||
```
|
||
|
||
没有 `jump_type` 时,App 使用 IM 里的 `room_id` 和 `game_id` 作为默认跳转。
|