Skip to content

广告配置 ​

核心广告模块负责统一维护广告平台 ID、广告形式、展示平台和可使用该广告的业务插件。新闻等业务插件只维护自身的展示位置,不重复保存广告平台开发信息。

所有接口均使用管理端鉴权,请求头需要携带 Authorization: Bearer <token>,并且当前角色必须具有对应的 METHOD:/admin/advertisement/... 接口权限。统一响应格式为 {code, msg, data}。

枚举说明 ​

广告形式 ​

值名称说明
1信息流广告嵌入列表或详情内容流
2激励视频用户主动触发的视频广告
3弹窗广告页面弹层或插屏广告

启用状态 ​

值名称
1启用
2停用

展示平台 ​

展示平台复用用户注册来源枚举:

值平台值平台
1微信小程序6支付宝小程序
2微信公众号7百度小程序
3iOS8抖音小程序
4Android9QQ 小程序
5H510快手小程序

查询广告列表 ​

接口地址 ​

text
GET /admin/advertisement/list

权限标识 ​

text
GET:/admin/advertisement/list

接口说明 ​

返回全部符合条件的广告配置,按数据库主键倒序排列。当前接口不分页,支持按名称、广告形式和状态筛选;关联插件通过批量查询补全,不会产生逐行查询。

请求参数 ​

Query 参数类型必填说明
namestring否广告名称,模糊匹配,最长 128 字符
formatinteger否广告形式:1 信息流、2 激励视频、3 弹窗
statusinteger否状态:1 启用、2 停用

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 12,
      "name": "微信新闻信息流",
      "ad_id": "adunit-xxxxxxxxxxxxxxxx",
      "format": 1,
      "status": 1,
      "plugin_ids": [1],
      "plugin_names": ["新闻资讯"],
      "platforms": [1],
      "description": "新闻列表与详情页信息流广告",
      "created_at": "2026-09-30T09:30:00+08:00",
      "updated_at": "2026-09-30T10:00:00+08:00"
    }
  ]
}

响应参数 ​

字段类型说明
data[].idinteger核心广告配置 ID
data[].namestring广告名称
data[].ad_idstring第三方广告平台分配的广告 ID
data[].formatinteger广告形式枚举
data[].statusinteger核心广告启用状态
data[].plugin_idsarray<integer>允许使用该广告的插件数据库 ID
data[].plugin_namesarray<string>允许使用该广告的插件名称
data[].platformsarray<integer>允许展示的平台来源枚举
data[].descriptionstring广告说明
data[].created_atstring创建时间
data[].updated_atstring更新时间

查询业务插件选项 ​

接口地址 ​

text
GET /admin/advertisement/plugin/options

权限标识 ​

text
GET:/admin/advertisement/plugin/options

接口说明 ​

返回已安装插件,用于广告表单选择允许使用该广告的业务插件。停用插件仍会返回,并通过 status 供管理端标记状态。

请求参数 ​

无。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 1,
      "plugin_id": "news",
      "name": "新闻资讯",
      "status": 1
    }
  ]
}
字段类型说明
data[].idintegersys_plugin 数据库主键,保存广告时传入 plugin_ids
data[].plugin_idstring插件业务标识
data[].namestring插件名称
data[].statusinteger插件状态:1 启用、2 停用

新增或修改广告 ​

接口地址 ​

text
POST /admin/advertisement/save

权限标识 ​

text
POST:/admin/advertisement/save

请求参数 ​

Body 参数类型必填说明
idinteger否新增传 0 或不传,修改时传已有广告 ID
namestring是广告名称,最长 128 字符
ad_idstring是第三方平台广告 ID,最长 255 字符
formatinteger是广告形式:1 信息流、2 激励视频、3 弹窗
statusinteger是状态:1 启用、2 停用
plugin_idsarray<integer>是至少选择一个真实存在的业务插件,重复值会自动去重
platformsarray<integer>是至少选择一个展示平台,可选值 1~10
descriptionstring否广告说明,最长 1000 字符

请求示例:

json
{
  "id": 0,
  "name": "微信新闻信息流",
  "ad_id": "adunit-xxxxxxxxxxxxxxxx",
  "format": 1,
  "status": 1,
  "plugin_ids": [1],
  "platforms": [1],
  "description": "新闻列表与详情页信息流广告"
}

响应示例 ​

json
{ "code": 0, "msg": "success" }

广告主体和插件绑定关系在同一数据库事务内保存。修改时会锁定目标记录,替换原有插件绑定;所选插件不存在时整个操作回滚。

删除广告 ​

接口地址 ​

text
POST /admin/advertisement/delete

权限标识 ​

text
POST:/admin/advertisement/delete

请求参数 ​

Body 参数类型必填说明
idinteger是核心广告配置 ID,必须大于 0

响应示例 ​

json
{ "code": 0, "msg": "success" }

删除操作会在同一事务内物理删除广告与插件绑定关系。业务插件自身的投放配置不会被此接口直接清理,但由于核心广告已不存在,不会再向用户端返回。删除前应先确认所有插件中的引用关系。

新闻插件投放

核心广告保存完成且绑定 news 插件后,还需要在新闻插件的广告配置页面选择列表或详情展示位置。参见新闻资讯插件接口中的“广告配置接口”。