hyapp-server/docs/flutter对接/公共跳转参数.md
2026-06-11 17:11:59 +08:00

213 lines
4.0 KiB
Markdown
Raw Permalink 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.

# 公共跳转参数
## 地址
无。
这不是一个接口是后台运营配置、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` 作为默认跳转。