Skip to content

应用配置

AppManagementController 负责管理移动端所需的配置数据,存储于 app_config 表。data 字段使用 JSON 保存,不同 type 对应不同的配置结构。

获取配置

  • MethodGET
  • Path/appConfig/getAppConfigByType
  • Query
参数必填说明
type配置类型。缺省返回所有记录。

合法的 type 枚举(见 UpdateAppConfigDto):

  • Index:首页配置,例如 bannerLevelbannerNumcateNumhotLevelhotNum
  • Cate:筛选配置,常见键为 filter_<typeId>pageNum
  • Ads:广告位配置,约定结构需与客户端协商。
  • AppConfig:全局配置,如 redisStatusredisKeyredisTimeofficialUrlplayerConfigUrldanmuApiUrl
  • Search:搜索页推荐,如 searchLevelsearchNum

响应示例

json
{
  "code": 0,
  "data": {
    "id": 3,
    "type": "AppConfig",
    "data": {
      "redisStatus": true,
      "redisKey": "movieapp",
      "redisTime": 1800,
      "officialUrl": "https://parse.example/api",
      "officialUrlField": "url",
      "playerConfigUrl": "https://cdn.example/player-config.json",
      "danmuApiUrl": "https://danmu.example/api",
      "hotTitle": "热播推荐"
    }
  },
  "message": "OK"
}

保存配置

  • MethodPOST
  • Path/appConfig/updateAppConfigByType

请求体

字段类型必填说明
typestring配置类型,枚举同上。
dataobject具体配置。

规则:

  • 若指定 type 已存在,则执行 UPDATE;否则新增一条记录。
  • 写入成功返回 "保存成功",失败抛出 BadRequestException

编辑 Cate 配置时,请确保 filter_<typeId> 与移动端分类 ID 对齐,否则筛选条件无法落入对应分类。

与 App 页面的关系

type影响范围关键字段
Index首页 Banner、热播、分类模块bannerLevelbannerLevel_<typeId>bannerNumcateNumhotLevelhotNum
Cate筛选页分类树与过滤条件、默认分页filter_<typeId>pageNum
Search搜索页推荐模块searchLevelsearchNum
AppConfigRedis 缓存、播放源配置、弹幕、官解redisStatusredisKeyredisTimeplayerConfigUrlofficialUrlofficialUrlFielddanmuApiUrl
Ads(如有)自定义运营位自定义字段

建议运营/研发每次修改配置后对照《页面 × 接口 × 配置映射》进行验证,必要时清理 Redis 缓存以确保客户端读取到最新数据。

playerConfigUrl 约定

  • 指向的 JSON 结构需包含各播放源的元信息,例如:
    json
    {
      "youku": { "show": "优酷超清", "sort": 100, "status": "1", "type": "OFFICIAL" },
      "m3u8": { "show": "高速线路", "sort": 90, "status": "1" }
    }
  • type 设置为 OFFICIAL 时,移动端播放该源前需要调用 /api/mobile/v1/vod/OfficialPlayUrl 获取解析后的真实地址。
  • status"1" 表示开启,其他值会在接口阶段被过滤。

对接建议

  • 对于需频繁调整的配置,可在后台提供 JSON 编辑器,保存前调用 JSON.parse 预校验。
  • 配置变更后请通知移动端是否需要刷新缓存:
    • 首页或播放相关配置:建议调用 Redis 清理脚本。
    • 搜索配置:刷新 search 页面即可生效。