# 站点内容接口

---

## 站点配置 {#config}

获取商户运营配置的轮播图、弹窗、悬浮框等位图资源，由后台「站点内容/配置」维护。无需登录。

**URL:** `GET` /site_content/config

**Query:** 无

**输出:**

字段 | 类型 | 说明
---|---|---
data | object | 站点配置对象，结构见下表

**data 字段:**

字段 | 类型 | 说明
---|---|---
main_banners | list&lt;object&gt; | 主轮播图资源列表，元素结构见下表
middle_banners | list&lt;object&gt; | 中部轮播图资源列表
bonus_banners | list&lt;object&gt; | 奖金页轮播图资源列表
popups | list&lt;object&gt; | 弹窗资源列表
floating_lefts | list&lt;object&gt; | 左侧悬浮框资源列表
floating_rights | list&lt;object&gt; | 右侧悬浮框资源列表
service_links | list&lt;object&gt; | 客服链接列表，元素结构见下方专表
social_manage | list&lt;object&gt; | 社媒管理列表，元素结构见下方专表
game_tag_ids | list&lt;string&gt; | 首页标签区块的游戏标签 ID 列表，**已按摆放顺序排列**，说明见下方专节
lobby_game_tag_ids | list&lt;string&gt; | 游戏大厅标签区块的游戏标签 ID 列表，语义与 `game_tag_ids` 一致
vip_service_link | string | VIP 贵宾客服链接，未配置为空字符串
vip_channel_link | string | VIP 频道链接，未配置为空字符串
message_community_link | string | 站内信社区链接，未配置为空字符串

**资源元素字段（前 5 个列表通用）:**

字段 | 类型 | 说明
---|---|---
title | string | 标题（无障碍提示 / 备注用）
image_url | string | 图片地址
url | string | 跳转地址，站内 `/foo` 或外链 `https://`
sort_order | int | 排序，升序
is_active | bool | 是否启用

**`service_links` 元素字段:**

字段 | 类型 | 说明
---|---|---
link_type | int | 客服类型：`1`=在线客服 / `2`=Whatsapp / `3`=Telegram
link | string | 目标链接（URL 或 IM 账号）
sort_order | int | 排序，升序
is_active | bool | 是否启用

**`social_manage` 元素字段:**

字段 | 类型 | 说明
---|---|---
link_type | int | 链接类型，固定 `1`=外部链接
location | int | 展示位置：`1`=左菜单栏底部 / `2`=兑换码
icon | string | 图标 URL
link | string | 跳转链接
sort_order | int | 排序，升序
is_active | bool | 是否启用

> `social_manage` 同一列表混合多个 `location`，前端需按 `location` 自行分组展示。

**`game_tag_ids` / `lobby_game_tag_ids` 说明:**

两个字段均为**标签 ID 字符串数组**（仅 ID，不含标签内容），由商户在后台「站点内容配置 - 标签区块」分别独立挑选与排序，同一标签可同时出现在两组，均可能为空数组。数组顺序 = 后台对应区块的摆放顺序，即前端的渲染顺序。

> 前端拿到 ID 后，把整个数组逗号拼接一次调用【[标签详情（含游戏）](310_game_tag.md#tag_detail)】获取标签名称与嵌套在架游戏后按返回顺序渲染区块；已删除 / 停用的标签 ID（配置中可能残留）会被服务端**静默跳过**，无需前端处理。

**`popups` 的活动弹窗（自动注入）:**

字段 | 类型 | 说明
---|---|---
kind | string | 活动类型，如 `recharge_bonanza`；`daily_bankrupt_pack` 见[每日幸运补偿](417_promotion_daily_bankrupt_pack.md#popup)，`lucky_compensation` 见[幸运补偿](419_promotion_lucky_compensation.md#popup)（仅待开箱态下发，其余字段同其 Offer 对象）

---

## 可选头像列表 {#avatars}

商户在后台「站点内容/头像配置」维护的预设头像，仅返回启用中的项，按 `sort_order` 升序。无需登录。

> 注册时若商户配置了至少一张启用中的头像，服务端会**随机分配一张**写入会员的 `head_portrait`（见【[User 对象](100_auth.md)】）；未配置则 `head_portrait` 为空，由客户端展示默认头像。

**URL:** `GET` /site_content/avatars

**Query:** 无

**输出:**

字段 | 类型 | 说明
---|---|---
list | list&lt;object&gt; | 头像列表，元素结构见下表

**元素字段:**

字段 | 类型 | 说明
---|---|---
name | string | 名称（可能为空）
image_url | string | 图片地址，也是【[选择头像](#avatar_select)】的入参
sort_order | int | 排序，升序
is_active | bool | 是否启用，本接口恒为 `true`

---

## 选择头像 {#avatar_select}

从【[可选头像列表](#avatars)】中选一张作为自己的头像，成功后会员 `head_portrait` 即为该 `image_url`。需登录。

> 与【[修改用户资料](100_auth.md#update)】直接传 `head_portrait` URL 的区别：本接口服务端校验所选图片必须在启用中的预设列表内，已停用 / 删除的头像返回错误 `头像不存在或已停用`。

**URL:** `POST` /site_content/avatar/select

**输入:**

字段 | 类型 | 必填 | 说明
---|---|---|---
image_url | string | 是 | 头像图片地址，取自列表元素的 `image_url`

**输出:** 无
