6.2 获取偶像列表【基础探测通过,待数据联调】

GET /tieup/api/v1/artists

查询参数:

参数 类型 必填 说明
keyword string 艺名、昵称、简介
artist_category_id integer 偶像类型 ID
artist_type integer 1=个人艺人,2=经纪公司艺人
city_code string 城市代码
follow_scope string 关注筛选:all=全部,followed=我关注的偶像;followed 需要登录态
page integer 页码,默认 1
page_size integer 每页数量,默认 20,最大 100

返回分页结构为 items + pagination,仅展示 tieup_user.status = 1is_idol = 1、存在艺人档案,且存在 tieup_artist_pricing.status = 1 启用定价配置的数据。未创建定价记录或定价配置已禁用的艺人不进入列表;已保存启用配置但价格为 0,或提问、视频通话业务开关关闭的艺人仍可展示。该条件在分页前执行,因此 pagination.total 与过滤后的列表口径一致。返回项包含 is_followed1 表示当前用户已关注,2 表示未关注;未登录查询全部列表时固定返回 2follow_scope=followed 时必须携带有效 Authorization,未登录或 Token 无效返回 401。

卡片主媒体规则:featured_media_url 优先取艺人相册 album_media 中第一张图片;没有图片时取第一条视频;相册没有可用图片/视频时回退艺人头像。featured_media_type 用于区分 imagevideoavatar;当主媒体是视频时,featured_media_cover_url 返回相册视频素材的封面/首帧图,其他场景为空字符串。

统计口径:follow_count 统计当前关注量;subscription_count 统计当前有效订阅量;received_candy_amount 统计提问、视频通话、福利兑换中粉丝实际消耗的糖果合计,不使用金额收入表折算。

响应字段:

字段 类型 说明
items array 当前页数据列表
items[].id integer 艺人 ID
items[].user_id integer 绑定的 APP 用户 ID
items[].artist_name string 艺人对外展示名称
items[].nickname string 用户昵称
items[].avatar string 艺人头像 URL,来源 tieup_artist.avatar
items[].featured_media_url string 卡片主媒体 URL:优先相册图片,其次相册视频,最后头像
items[].featured_media_type string 卡片主媒体类型:imagevideoavatar
items[].featured_media_cover_url string 视频主媒体封面/首帧图 URL;非视频主媒体为空字符串
items[].album_media array 艺人相册素材列表
items[].album_media[].type string 素材类型:imagevideo
items[].album_media[].url string 素材 URL
items[].album_media[].cover_url string 视频封面 URL,仅视频素材返回
items[].album_media[].duration integer 视频时长,单位秒,仅视频素材返回
items[].intro_type string 短介绍类型:textaudio 或空字符串
items[].intro_text string 一句话文字介绍
items[].intro_audio_url string 一句话语音介绍 URL
items[].intro_audio_duration integer 语音介绍时长,单位秒
items[].personal_intro string 自我介绍
items[].gender integer 性别:0=未知,1=男,2=女
items[].artist_type integer 艺人类型:1=个人艺人,2=经纪公司艺人
items[].artist_category_id integer/null 艺人分类 ID
items[].category_name string 艺人分类名称
items[].artist_online_status integer 艺人身份在线状态:0=离线,1=在线;只根据 tieup_artist_{artist_id} 融云身份计算
items[].is_followed integer 当前用户是否已关注:1=已关注,2=未关注
items[].follow_count integer 关注量
items[].subscription_count integer 当前有效订阅量
items[].received_candy_amount string 收到糖果量,按粉丝实际消耗糖果合计
pagination object 分页信息
pagination.page integer 当前页码
pagination.page_size integer 每页数量
pagination.total integer 总数量
pagination.next_cursor null 下一页游标,页码分页时为空

响应示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "items": [
      {
        "id": 20001,
        "user_id": 10001,
        "artist_name": "王心凌",
        "nickname": "甜心教主",
        "artist_online_status": 1,
        "avatar": "https://cdn.example.com/artist/avatar.png",
        "featured_media_url": "https://cdn.example.com/album/stage.png",
        "featured_media_type": "image",
        "featured_media_cover_url": "",
        "album_media": [
          {
            "type": "image",
            "url": "https://cdn.example.com/album/stage.png"
          },
          {
            "type": "video",
            "url": "https://cdn.example.com/album/intro.mp4",
            "cover_url": "https://cdn.example.com/album/intro-cover.png",
            "duration": 58
          }
        ],
        "intro_type": "audio",
        "intro_text": "",
        "intro_audio_url": "https://cdn.example.com/intro.m4a",
        "intro_audio_duration": 58,
        "personal_intro": "独立音乐人,用声音讲述故事。",
        "gender": 2,
        "artist_type": 1,
        "artist_category_id": 10,
        "category_name": "歌手",
        "is_followed": 1,
        "follow_count": 13000,
        "subscription_count": 155,
        "received_candy_amount": "82000.00"
      }
    ],
    "pagination": {
      "page": 1,
      "page_size": 20,
      "total": 1,
      "next_cursor": null
    }
  }
}