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