2.1 KiB
2.1 KiB
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 只是结构和演示内容,不是事实来源。