2.7 KiB
2.7 KiB
Huwaa 首页房间筛选 Flutter 对接
地址
筛选目录:
GET /api/v1/rooms/filters
Authorization: Bearer <access_token>
X-App-Code: huwaa
房间列表:
GET /api/v1/rooms?tab=hot®ion_id=1001
GET /api/v1/rooms?tab=hot&country_code=AE
目录接口要求用户已登录并完成资料。租户权威值是 access token claims 中的 app_code;X-App-Code/包名只参与请求入口解析,不能覆盖 token 或用来跨租户切换。Huwaa 返回本 App 的全部 active 区域和其中 enabled 国家;其他 App 只返回当前用户所在 active 区域及其国家。
参数
目录接口没有 query 参数。每个 option 都返回 query_key 和 query_value,Flutter 按下面规则调用房间列表:
- All:
query_key、query_value都为空,不传region_id和country_code。 - 区域:把 option 的
query_key=region_id、query_value原样放进 query。 - 国家:把 option 的
query_key=country_code、query_value原样放进 query。 region_id与country_code不能同时传;切换筛选项时清空旧 cursor,再从第一页请求。- 旧参数
country继续兼容,新代码统一使用country_code。
parent_region_id 只用于把国家展示在所属区域下。筛选国家时只传 country_code,不要把 parent_region_id 同时作为 region_id 传入。
返回值
{
"code": "OK",
"message": "ok",
"request_id": "req-room-filters",
"data": {
"all": {
"filter_type": "all",
"query_key": "",
"query_value": ""
},
"regions": [
{
"filter_type": "region",
"query_key": "region_id",
"query_value": "1001",
"region_id": 1001,
"region_code": "MIDDLE_EAST",
"region_name": "Middle East",
"sort_order": 10
}
],
"countries": [
{
"filter_type": "country",
"query_key": "country_code",
"query_value": "AE",
"parent_region_id": 1001,
"country_id": 971,
"country_code": "AE",
"country_name": "United Arab Emirates",
"country_display_name": "UAE",
"country_flag": "🇦🇪",
"sort_order": 10
}
]
}
}
目录的数组顺序已经使用后台 sort_order。国家只在“国家 enabled 且所属区域 active”时下发,客户端不要自行拼接国家码或区域 ID。
GET /api/v1/rooms 响应中的旧 data.countries 字段继续保留,供旧版当前区域国家筛选使用;Huwaa 新版完整目录以本接口为准。
相关 IM/RTC
筛选目录和列表筛选不创建房间、不入腾讯云 IM 群,也不签发 RTC token。用户实际进入房间后,继续按现有 JoinRoom 流程处理 IM/RTC。