Files

2.1 KiB
Raw Permalink Blame History

BBC 页面 JSON 契约

顶层必须完整包含 site、navigation、breaking、lead、focus、media、moreNews、regions、newsletter、footer。弹窗按十个模块分别编辑,应用时重新校验完整文档。

通用规则

  • 所有标题、标签、摘要和时间为字符串;关键展示字段不能为空。
  • 列表有数量上限,所属列表中的 id 必须唯一。
  • href 只允许以 # 开头的页面内锚点。
  • JSON 文本不能包含 HTML、脚本或直接 iframe。具有 visual 的内容对象可增加 media 来替换内置视觉:图片 {type:"image", mediaUrl, alt?, pageUrl?};视频 {type:"video", mediaUrl, posterUrl?, alt?, pageUrl?};网页 {type:"webpage", pageUrl, title, description?, mediaUrl?, embed?}。URL 只接受 http(s),图片/视频也允许对应的 data: URL。

模块

  • site:brandLetters 必须为 2–6 个单字符方块字标;包含页面标题、描述、theme(light/dark/auto)、账户文案和更新时间。
  • navigation:全站导航、频道导航和移动抽屉分别为 1–12 个 {label,href};另含频道标题、搜索和更多文案。
  • breaking:label/text/time。
  • lead:头条标签、标题、摘要、0–6 条关联阅读、署名、时间、频道、视觉说明和标记;visual 固定为 research-ship。
  • focus.items:1–8 条,视觉类型为 harbor、satellite、creative-city、station。
  • media.videos:1–6 条,视觉类型为 studio、bulletin、ocean;modal 配置直播弹窗;audio.durationSeconds 为 1–86400。
  • moreNews.items:1–12 条,视觉类型为 logistics、market、device、energy;ranking 为 1–10 条排行链接。
  • regions.items:1–10 个地区标题;weather 为 1–10 个 {city,temperature,condition}。
  • newsletter:标题、说明、邮箱占位、按钮和成功提示前缀。
  • footer.links:1–12 个页脚链接;另有版权与法律文案。

JSON 使用双引号,不允许注释、Markdown 围栏或尾逗号。assets/default-data.json 只是结构和演示内容,不是事实来源。