研发可照建的现行契约

短剧 Web 端
研发交付 PRD

以已冻结的阶段二高保真原型为唯一产品真值,明确页面行为、后台配置、状态边界、埋点与验收;技术实现方式由研发评审签字。

版本 v1.6 基线 2026-07-31 Web+H5 原型 SHA f9ecb56e…e523

§0.1文档说明 · 变更日志

本文件是阶段三独立交付物。本次依据用户明确授权,将新增变动同步到阶段一 v1.1.4、阶段二现行原型与本研发契约;任何实现争议先对照当前阶段二原型,再对照阶段一 REQ 与本文件的技术边界和验收。

项目现行值
交付对象前端、后端、测试、数据与运营配置研发
真值基线短剧Web端-阶段二高保真原型-v1.0.html,SHA-256:f9ecb56eba4bce865b34a0950220a4b69f25397d89a6a2a6bc8cac1e12c0e523
线上核对https://s-1skkr09r.pages.dev/;已复核资源上传纠偏后的生产版本
参考外壳delivery-prd-builder/SKILL.md 的 §0.x+C/O/A/X 组件契约

变更日志

版本日期变更
v1.62026-08-08新增 A-06 配置历史日志契约,统一覆盖全部弹窗、全部 Banner 与应用中心广告位;成功写入后记录不可变的前后快照、操作人和时间,补齐查询、失败边界与验收。
v1.52026-08-06轻松一刻取消子分类控件并改为指定范围作品混合随机;最火改为全局随机且首页默认最火;新增最新/最火互斥角标与分类内手动置顶,多个置顶按置顶配置时间倒序。
v1.42026-08-06同步一级/二级分类研发契约:首页读取全部启用一级分类,一级分类页只读取当前父级下的启用二级分类;“轻松一刻”限制为一个一级分类及其 1—3 个不重复的启用二级分类,并补齐接口字段、保存门禁、埋点与验收。
v1.32026-07-31完成新增变动的三阶段同步:Swift Web 短剧品牌变体、Feed 中插 Banner、精品应用与全局页脚、播放器广告容器与 3 秒关闭规则、播放控制与手势边界、自有服务器视频上传、三项核心指标,以及“取消后台页面原型、改交付能力开发说明”的实现边界。
v1.22026-07-31明确播放手势双分支接入原则:现有前端框架支持则接入,不支持则暂缓;当前 Swift Web/SwVideoPlayer 不支持,因此维持暂缓。播放器规则编号由重复的 M-12 调整为 M-16。
v1.12026-07-31核查 Swift Web/SwVideoPlayer 组件包后确认未提供正式播放手势协议;手势功能暂缓,不由业务层自行扩展,待框架提供能力后再接入。
v1.02026-07-30首次从冻结阶段二原型逆向生成研发交付契约;短剧资源新增按本地文件上传至自有服务器,不接受外部视频地址。

§0.2真值顺序 · 怎么读

仲裁顺序 SSOT
01

阶段二冻结原型定义当前可见行为、入口、状态和运营配置。

02

Swift Web · 短剧海风放映室定义 Sw* 组件结构、语义 Token、尺寸、响应式与无障碍基线。

03

阶段一 PRD v1.1.4定义现行 REQ/EP;与原型存在实现差异时,由产品、设计与研发按本文件的差异门禁处理。

现行资源契约新增短剧资源只接受本地视频文件上传至自有服务器;产品页面不提供外部视频地址输入。研发按冻结原型与本文件执行,详见 X-1 / L-01。

研发阅读路径

角色先读再读
前端C/O 页面流程、矩阵、8 态§0.5、§0.7、AC
后端§0.6、A 后台配置§0.8、X-1 待签字项
测试各卡 ACX-2 完整验收清单
数据§0.8 Event PlanA-05 指标口径

§0.3当前交付范围

范围现行契约优先级
用户端首页一级分类与默认最火、一级分类页二级筛选、轻松一刻混排、分类内置顶、搜索联想、选集、播放、精品应用、全局页脚;Web 与 H5 同一产品适配P0
运营位页面 Banner、Feed 中插 Banner、开屏、前贴、剧中广告P0
后台能力契约短剧、一级/二级分类树、轻松一刻、最新/最火互斥角标、分类内手动置顶、Banner、广告、页脚与应用、数据概览、统一配置历史日志;不提供后台页面原型,具体页面沿用现有后台架构P0
核心指标UV、PV、广告点击并发起跳转;其他事件只用于诊断与拆分P0
范围边界本版不要求登录、付费、评论、收藏、社交、历史记录、热门搜索或新增端形态;文档不主动扩写后续版本。

§0.4信息架构 · 路由总览

渠道短链/自然进入
首页:双推荐位+筛选 Feed+搜索
用户选择去向
短剧卡/推荐位 → 选集页 → 播放页
频道/搜索/应用 → 分类页/结果/精品应用
运营位按页面和触发规则展示
完成浏览、播放或合规跳转
视图前台标识后台依赖
首页/分类home / category短剧、一级/二级分类树、轻松一刻、Banner、广告、页脚与应用
选集/播放detail / player短剧资源、Banner、前贴与剧中广告
精品应用apps页脚与应用配置
后台开发说明backend-spec/A-01~A-06只定义能力、配置、校验、状态与验收;权限与接口标识待研发确认

§0.5全局规则 · 合规边界

浏览与跳转
R-001

游客无需登录即可浏览和播放已上架且资源有效的内容。

R-002

站内链接走内部页面标识;外链只接受 http/https,新窗口打开并使用安全关系属性。

R-003

渠道短链必须指向已审核真实页面,不得隐藏落地内容或绕过平台规则。

Feed 与角标
R-004

首页默认“最火”;最火对当前结果集随机排序并在单次列表会话内稳定,新列表会话重新随机;“最新”按发布时间倒序。

R-005

最新/最火角标由后台手动配置且只能二选一;角标不参与排序,均未配置时回退内容状态。

R-006

筛选结果为空保留条件并给出清除入口,不展示空白画布。

R-013

手动置顶仅在作品所属一级分类列表中生效;同一分类多个置顶按置顶配置时间由晚到早,非置顶继续遵守当前排序。

广告互斥
R-007

同一时刻只展示一个广告层;剧中广告暂停正片,关闭后从原进度恢复。

R-008

开屏可立即关闭;前贴与剧中广告均铺满播放器容器,展示满 3 秒后才可关闭。

R-009

无有效跳转地址的 Banner 或广告禁止启用。

数据真实
R-010

无真实数据时显示“待接入/暂无数据”,不得编造增长率、趋势或目标值。

R-011

访问来源依次读取渠道参数、外部引荐;均为空记“直接访问”。

R-012

所有 Banner 与广告事件携带配置编号和素材编号。

R-014

全部弹窗、全部 Banner 与应用中心广告位仅在配置成功写入后生成不可变历史;失败校验不产生新版本,配置历史与用户行为统计分开存储。

§0.6内容资源 · 运营配置契约

资源必填内容保存门禁待研发签字
短剧剧名、简介、一级分类、该父级下的二级分类、封面、集数、上下架状态基础字段完整且分类父子关系有效字段长度与封面规格
分类树一级分类、二级分类唯一父级、排序、启停状态二级分类必须归属一个有效一级分类;被短剧或运营配置引用时按现有后台规则提示影响范围分类标识、缓存刷新与停用策略
轻松一刻一个启用一级分类、1—3 个不重复的启用二级分类、启用状态二级分类全部属于所选一级分类;前台不下发子分类控件,只混合随机展示命中范围作品配置接口标识与生效时延
排序/角标/置顶defaultSort=hot、randomSessionId、featuredBadge=latest|hot|null、manualPinned、manualPinnedAt角标互斥;置顶仅对所属一级分类生效;多个置顶按 manualPinnedAt 降序随机种子生成与列表会话边界
剧集视频本地视频文件,上传至自有服务器资源库未上传、上传中、格式不符、失败均禁止保存;编辑可沿用既有有效资源分片、断点续传、大小上限、转码与资源标识
Banner图片、标题、按钮、跳转、页面、排序、开关跳转地址合法且绑定页面有效素材规格与缓存刷新
广告类型、素材、文案、跳转、频率、时间或集数规则硬性关闭规则不可被后台覆盖频控存储与跨端一致性
页脚/应用显示文字、项目内图标路径、站内标识或 http/https 跳转图标限项目 assets/;跳转校验通过发布生效策略
配置历史日志historyLogId、resourceType、resourceId、placementId、operationType、beforeSnapshot、afterSnapshot、operatorId、operatedAt,可选 changeReason只在配置成功写入后生成;普通后台角色不可编辑、覆盖或删除接口标识与权限接入沿用现有后台架构
资源上传硬规则短剧新增不提供“外部视频地址”输入框;客户端选择本地 video/* 文件,收到自有服务器上传成功状态后才允许保存配置。

§0.7通用 8 态 · 边界异常规范

状态统一触发统一表现恢复路径
加载中页面、列表、资源或配置请求未完成结构化骨架或明确进度;不闪空白成功替换内容;失败转错误态
空数据有效请求返回 0 条说明当前条件与原因清除筛选、返回上级或创建配置
断网网络不可用保留当前上下文,停止假成功网络恢复后重试
错误接口、播放器、上传或跳转失败就地错误,不清空已有有效数据重试或返回稳定状态
重连网络或媒体连接恢复从可恢复节点继续恢复后关闭提示
超限文件大小、频次或内容上限说明具体超限项更换文件或调整输入
登录态用户端:不适用;后台:会话失效前台不弹登录墙;后台停止写操作后台重新认证后回到原模块
审核拦截内容、素材或跳转不符合运营规则禁止启用/上架并说明被拦字段修订后重新提交

§0.8全局埋点总览

编号事件触发关键属性口径
EP-001页面访问页面进入完成页面、来源、终端、会话PV;UV 按筛选周期去重
EP-002短剧曝光卡片进入可视区短剧、页面、位置、来源、排序模式、随机会话、角标、是否置顶诊断
EP-003短剧选择进入选集页短剧、入口、排序、筛选、结果位置仅作内容诊断,不参与最火排序
EP-004/005搜索提交/联想选择提交或选择结果关键词、结果数、短剧、页面诊断
EP-006/007/008播放启动/结束/失败媒体状态变化短剧、剧集、时长、错误类型、终端诊断
EP-009/010Banner 曝光/点击可视或发起跳转配置、素材、页面、位置、跳转点击并跳转归核心广告跳转
EP-011–016三类广告曝光/操作展示、点击、关闭或结束配置、素材、类型、短剧、剧集、进度、操作点击并跳转归核心广告跳转
EP-017Feed 条件变更切换排序或状态页面、排序、状态、结果数、会话诊断
EP-018分类条件变更选择首页一级分类或分类页二级分类;轻松一刻无用户筛选动作页面、一级分类、二级分类、入口类型、结果数、会话诊断
待技术签字事件上报时机、去重标识、离线补发、保存周期和数据刷新频率由研发与数据共同确认;产品侧不预设实现方式。
C-01浏览与搜索P0

用户从双推荐位、分层分类筛选、混排“轻松一刻”、作品 Feed 或搜索联想选择短剧;首页默认最火并展示一级分类,一级分类页展示当前父级下的二级分类及分类内置顶结果。

触发入口
渠道短链、站点首页、顶部频道、搜索框。
接口
内容列表需接收 primaryCategoryId、secondaryCategoryId、sortMode 与 randomSessionId,返回 featuredBadge、manualPinned、manualPinnedAt;分类树、轻松一刻配置、搜索联想、Banner 与事件上报的接口标识、分页方式由研发确认。
对应后台
A-01 内容与分类管理、A-02 Banner 管理、A-03 广告管理、A-05 数据概览。
运行流程图 · C01 浏览与搜索
进入首页/分类页
加载页面 Banner、Feed 与搜索能力
筛选、搜索还是直接选剧?
分类/筛选/搜索 → 更新结果与 EP-018/017/004
推荐/作品卡 → 记录 EP-003
进入 C-02 选集页
页面图 · C01 首页浏览
真实原型快照
短剧 Web 端首页浏览原型快照
从阶段二交互原型实地访问截取;当前推荐位规格以冻结原型中的一行两列、横向 16:9 为准。
浏览与筛选规则 11
M-01

首页精选推荐固定两位,一行两列,均为横向 16:9;Web 显示标题、简介和文字按钮,H5 收敛标题+44px 图标按钮。

M-02

首页 Feed 为 20 部模拟作品,推荐区另 4 部;Web 4 列、24px 间距,H5 2 列、16px 间距。

M-03

首页 Feed 第两整行后插 7:1 Banner;分类 Feed 第四整行后插同款 Banner,结果不足对应整行不展示。

M-04

首页分类下拉只展示全部启用一级分类;进入一级分类页后,下拉只展示当前一级分类下的启用二级分类,默认“全部二级分类”。

M-05

搜索按剧名、简介、分类标签模糊匹配,200ms 防抖,支持键盘联想;不保存历史、不展示热门搜索。

M-06

所有长内容背景由内容高度驱动,首屏以下至页脚前不得露出舞台背景。

M-18

每部短剧必须返回一个一级分类及该父级下一个二级分类;请求切换一级分类时清空不属于新父级的二级分类条件,服务端同时校验父子关系。

M-19

轻松一刻只消费一个启用一级分类及其 1—3 个不重复的启用二级分类;前台不渲染子分类名称、标签、按钮或筛选控件,将命中任一指定子分类的作品合并随机展示。

M-20

首页默认 sortMode=hot;最火使用 randomSessionId 对当前结果集生成稳定随机序列,新列表会话重新随机;最新按发布时间倒序。

M-21

featuredBadge 只接受 latest、hot 或空值,最新与最火互斥且不参与列表排序。

M-22

manualPinned 仅在作品所属一级分类列表内生效;多个置顶按 manualPinnedAt 由晚到早,非置顶沿用当前排序。

状态触发C01 落地
加载中Feed/搜索请求中Feed 或联想骨架,不闪空结果
空数据组合条件无作品保留条件+“清除状态筛选”
断网请求不可达保留当前结果,提示网络异常
错误列表/搜索失败就地错误+重试
重连网络恢复按当前条件重新请求
超限关键词超产品限制停止提交并说明输入限制;具体上限待研发签字
登录态游客访问不弹登录墙
审核拦截配置内容被下架从结果移除,不保留假入口
验收 AC-C01-1 · 双推荐位
Given用户进入首页且两项推荐配置有效
When页面完成加载
Then同一行显示两个等权 16:9 推荐位;任一点击均记录对应短剧点击并进入其选集页
验收 AC-C01-2 · 搜索空态
Given用户输入无匹配关键词
When防抖结束并返回 0 条结果
Then展示明确空态和恢复路径,不显示空白页面,不写入搜索历史
验收 AC-C01-3 · 一级/二级分类联动
Given首页和“都市”一级分类均有有效分类树
When用户分别打开首页分类下拉和“都市”分类页二级分类下拉
Then首页只列出全部启用一级分类;“都市”页只列出治愈、情感及“全部二级分类”,不出现其他父级子项
验收 AC-C01-4 · 轻松一刻混排
Given后台有效配置为“都市 → 治愈、情感”
When首页加载轻松一刻
Then不显示“治愈”“情感”等子分类控件;合并命中任一子分类的作品并随机展示,顺序在本次页面会话内稳定
验收 AC-C01-5 · 首页默认最火
Given用户开启新的首页列表会话
When首页完成首屏加载并多次触发同条件重绘
Then排序默认为最火;当前结果集随机且会话内顺序稳定,新列表会话得到新的随机序列
验收 AC-C01-6 · 分类内置顶
Given“都市”分类有两个手动置顶作品,置顶配置时间分别为 10:30 和 09:10
When用户打开“都市”分类和首页全量列表
Then“都市”分类先显示 10:30、再显示 09:10;首页全量列表不跨域置顶,非置顶作品遵守当前排序
闭环校验双推荐位、一级/二级分类、轻松一刻、组合筛选、搜索联想、Feed Banner、背景连续性与 EP-003/004/005/017/018 均有落点。
C-02选集与播放P0

用户查看短剧详情和剧集列表,选择已上架剧集后进入播放器;正片按用户操作开始,支持上一集、下一集、快进 10 秒、进度与倍速控制,结束后存在下一集则自动切换。

触发入口
C-01 短剧选择、选集页集数按钮、播放器上一集/下一集。
接口
短剧详情、剧集资源、播放状态和广告配置接口标识待研发确认;只消费自有服务器有效资源。
对应后台
A-01 内容与分类管理、A-02 Banner 管理、A-03 广告管理。
手势能力
暂缓接入 播放手势动作的功能接入:如果现有前端框架支持就接入,如果没有就暂缓。当前 Swift Web/SwVideoPlayer 组件包未提供正式手势协议,因此现行入口仅保留按钮、进度条与倍速控件。
运行流程图 · C02 选集与播放
进入选集页
展示封面、简介、7:1 Banner 与剧集列表
剧集已上架且资源有效?
是 → 进入播放器 → 前贴规则
否 → 禁止播放并提示资源不可用
用户开始正片;记录 EP-006
自然结束后按下一集规则处理
页面图 · C02 播放与剧中广告态
真实原型快照
短剧播放器与剧中广告真实原型快照
从阶段二播放器实地访问截取;图中为播放过程命中剧中广告的可见态。
播放规则 7
M-07

游客无需登录;只有已上架且自有服务器资源有效的剧集可进入播放。

M-08

正片按用户播放动作开始;页面进入不自动高码率播放。

M-09

自然播放结束且存在下一集时自动切换;最后一集结束后停止,不循环回第一集。

M-10

选集页 Banner 固定 7:1,背景画布页面级全宽,内部 Banner 与首页 Feed 内容线对齐。

M-11

播放页 Banner 独立配置,不与前贴或剧中广告叠加。

M-16

播放手势动作的功能接入:如果现有前端框架支持就接入,如果没有就暂缓。当前 Swift Web/SwVideoPlayer 组件包没有正式手势协议,因此本期暂缓;业务层不得自行绑定单击、双击、滑动、长按或覆盖底层播放器事件。

M-17

播放器固定提供上一集、播放/暂停、下一集、快进 10 秒、进度控制,以及 0.75×、1.0×、1.25×、1.5×、2.0× 倍速选项。

状态触发C02 落地
加载中详情/媒体加载详情骨架;播放器显示加载状态
空数据无有效剧集剧集区说明“暂无可播放剧集”
断网播放中断网暂停并保留当前集与进度
错误资源/解码失败记录 EP-008,提供重试或返回选集
重连连接恢复从可恢复进度继续,具体能力待技术签字
超限频控/资源限制说明限制,不伪装为播放失败
登录态游客播放不拦截、不弹登录层
审核拦截剧集被下架阻止新播放;播放中处置待运营与研发签字
验收 AC-C02-1 · 自有资源播放
Given剧集已上架且存在自有服务器有效资源
When游客选择该集并点击播放
Then按广告规则进入正片,不要求登录;播放启动记录 EP-006
验收 AC-C02-2 · 自动下一集
Given当前集自然播放结束且存在下一集
When系统收到播放结束状态
Then切换下一集并重新执行广告规则;最后一集不得继续切换
验收 AC-C02-3 · 手势能力边界
Given研发准备接入 Web 与 H5 播放手势
When核查现有前端框架是否提供正式手势协议、事件优先级与冲突处理机制
Then框架支持则按正式协议接入;框架不支持则暂缓且不新增业务层手势监听。当前核查结果为不支持,上一集、播放、下一集、快进、进度与倍速仍通过现有控件完成
闭环校验选集 Banner、资源有效性、游客播放、错误态、自动连播、手势暂缓边界与 EP-006/007/008 均有落点。
C-03精品应用与全局页脚P0

REQ-016/REQ-017:精品应用页与所有前台页脚共享同一运营配置,页面只保留一个主标题;主内容与页脚使用同一连续背景画布。

触发入口
顶部“精品应用”、全局页脚应用卡、友情链接和网站地图。
接口
页脚与应用配置读取、跳转事件上报的接口标识待研发确认。
对应后台
A-04 页脚与应用、A-05 数据概览。
运行流程图 · C03 应用与页脚
进入精品应用页或滚动到页脚
读取共享应用、链接、品牌与备案配置
站内标识还是 http/https?
站内 → 原型内切页
外链 → 安全新窗口
记录应用/广告跳转维度
页面图 · C03 H5 精品应用
真实原型历史快照
H5 精品应用页面原型快照
阶段二实地快照用于确认 H5 390:844 与两列应用;现行文本与五项配置以冻结原型为准。
配置与布局规则 4
M-12

精品应用页与页脚共用五项应用配置;图标始终 1:1,Web 五列,H5 两列。

M-13

全局页脚包含精品应用、友情链接、网站地图、品牌说明、版权/备案五段。

M-14

页脚外层继承页面 --bg 且不增加分段边界;内部必要分隔保留。

M-15

图标路径仅接受项目 assets/;非法链接回退首页且不得静默打开未知协议。

状态触发C03 落地
加载中配置读取中保留标题和网格骨架
空数据应用配置为空隐藏应用网格,页脚其他段继续展示
断网配置不可达展示最近有效配置或明确错误;缓存策略待签字
错误图标/跳转失败单项降级,不破坏整页
重连网络恢复刷新失败项
超限配置超项后台阻止保存;具体上限待签字
登录态游客点击不要求登录
审核拦截外链未审核不展示或禁止启用
验收 AC-C03-1 · 配置同源
Given运营修改某应用名称、图标或跳转
When配置保存并生效
Then精品应用页与所有前台页脚同步展示同一值,不出现双源漂移
闭环校验配置同源、H5 比例、连续背景、安全跳转与应用跳转统计均有落点。
O-01广告浮层体系P0

三类广告共享互斥、跳转与埋点约束:开屏为页面级居中模态;前贴与剧中广告都铺满播放器容器,并固定展示满 3 秒后才允许关闭。

触发入口
站点进入、用户启动播放、播放时长或指定集数命中。
接口
广告配置、频控、曝光/操作上报接口标识待研发确认。
对应后台
A-03 广告管理、A-05 数据概览。
运行流程图 · O01 广告互斥
触发广告规则
当前已有广告层?
无 → 展示命中广告并记录曝光
有 → 本次不叠加
点击活动:记录操作并发起合规跳转
关闭/结束:按类型恢复页面或正片
关闭广告层
页面图 · O01 开屏广告
真实原型快照
短剧 Web 端开屏广告原型快照
开屏广告居中展示且可立即关闭;遮罩只覆盖产品浏览器区域。
三类广告差异 3
O-开屏

同一访问会话展示一次,可立即关闭;与首页进入弹窗共用运营位,不重复展示。

O-前贴

正片前位于播放器内;倒计时满 3 秒才允许关闭,关闭、结束或加载失败均进入正片。

O-剧中

按播放进度或指定集触发;铺满播放器容器,展示时暂停,满 3 秒后允许关闭,关闭后从原进度继续;点击活动不额外显示 Toast。

状态触发O01 落地
加载中素材加载前贴与剧中显示 3 秒倒计时;开屏保留立即关闭路径
空数据无有效配置不展示广告,继续主流程
断网广告请求失败不阻断浏览;前贴进入正片
错误素材/跳转失败记录诊断并保持关闭路径
重连连接恢复不在同一触发点重复弹出,具体频控待签字
超限频控达到上限本次不展示
登录态游客操作不要求登录
审核拦截素材或跳转未通过配置不可启用
验收 AC-O01-1 · 剧中广告恢复
Given正片正在播放并命中剧中广告规则
When广告铺满播放器容器并完成 3 秒倒计时,用户点击关闭
Then广告关闭并从原播放进度恢复;倒计时未完成时关闭按钮不可用,且不与其他广告层或 Toast 叠加
闭环校验三类承载、关闭规则、互斥、跳转、媒体恢复与 EP-011–016 均有落点。

A-01内容与分类管理

短剧、分类树、轻松一刻、互斥角标、分类内置顶与剧集配置
后台页面沿用现有架构本项目不提供后台页面原型,只交付短剧资料、分类树、轻松一刻混排、资源上传、发布、互斥角标、分类内置顶、查询与验收契约。
能力契约,不是后台页面示意;具体布局由后端在现有后台组件体系内套用。
  • 支持维护一级分类及二级分类的唯一父级、名称、排序、启停状态;二级分类不能脱离有效父级保存。
  • 支持新增短剧、维护剧名/简介/一级分类/二级分类/封面、添加剧集、上下架与搜索筛选;二级分类候选项随一级分类联动。
  • 轻松一刻配置字段为 primaryCategoryId、secondaryCategoryIds、启用状态;二级分类数组长度必须为 1—3,前台只消费作品范围,不渲染子分类控件。
  • 服务端保存与启用均校验:一级分类有效、二级分类无重复且全部属于该一级分类;跨父级、0 个、超过 3 个或停用项返回字段级错误。
  • 新增资源选择本地 video/* 文件并上传至自有服务器;不提供外部视频地址输入。
  • 上传状态为未开始/上传中/完成/失败;只有完成可保存,编辑既有短剧可沿用有效资源。
  • 角标字段 featuredBadge 只接受 latest、hot 或空值,最新与最火只能二选一;不配置回退内容状态。
  • 置顶字段为 manualPinned 与服务器写入的 manualPinnedAt;置顶只在作品所属一级分类内生效,多个置顶按时间降序。
  • 保存记录操作人、服务器资源状态与版本;资源上传、角标与置顶配置不计用户行为埋点,但必须进入后台操作日志。
验收编号GivenWhenThen
AC-A01-1新增短剧未完成视频上传点击保存保存被阻止,文件字段显示就地错误
AC-A01-2选择非视频文件文件变更拒绝上传并提示格式不符
AC-A01-3编辑既有短剧且不替换资源保存其他字段沿用原有效资源,不强制重复上传
AC-A01-4短剧选择一级分类“都市”打开二级分类字段只返回“都市”下的启用二级分类;提交其他父级子项时服务端拒绝保存
AC-A01-5运营配置轻松一刻选择 0 个、超过 3 个、重复、停用或跨父级二级分类并保存/启用操作被阻止并返回对应字段错误;有效配置只下发作品范围,前台不生成子分类控件
AC-A01-6运营配置作品角标同时提交 latest 与 hot 或提交未知值服务端拒绝保存并返回 featuredBadge 字段错误;合法单值与空值可保存
AC-A01-7运营开启手动置顶保存成功服务端写入 manualPinnedAt,仅在作品所属一级分类列表中进入置顶组
AC-A01-8同一分类存在多个置顶分类列表请求成功置顶组按 manualPinnedAt 降序;时间相同按作品编号稳定兜底,非置顶组保持当前排序

A-02Banner 管理

页面绑定、排序与启停
后台页面沿用现有架构本项目不提供 Banner 管理页面原型,只交付页面/位置绑定、素材、排序、启停、跳转校验与验收契约。
能力契约,不是后台页面示意;具体布局由后端在现有后台组件体系内套用。
  • 支持新增、修改、绑定首页/分类/选集/播放页面、调整排序和控制开关。
  • 首页 Feed 中插与分类 Feed 中插使用独立 7:1 素材;分类顶部为 7:2,选集为 7:1。
  • 跳转接受站内标识或 http/https;无效地址禁止启用。
  • 每次曝光与点击携带配置编号、素材编号、页面和位置。
  • 首页顶部、分类顶部、首页 Feed 中插、分类 Feed 中插、选集页和播放页的每次成功配置变更均写入 A-06 配置历史。
验收编号GivenWhenThen
AC-A02-1跳转地址无效运营尝试启用开关不生效并标出无效字段
AC-A02-2同页面多条 Banner运营调整排序前台按保存后的顺序展示且事件仍能区分配置编号

A-03广告管理

开屏、前贴与剧中广告
后台页面沿用现有架构本项目不提供广告管理页面原型,只交付开屏、前贴与剧中广告的类型、素材、触发、频控、跳转、启停与验收契约。
能力契约,不是后台页面示意;具体布局由后端在现有后台组件体系内套用。
  • 分别维护类型、素材、文案、跳转、展示规则与启用状态。
  • 前贴与剧中广告关闭门槛均固定为展示满 3 秒,后台不能延长、缩短或取消。
  • 剧中广告支持播放时长或指定集数触发;同一时刻命中多条只展示一次。
  • 开关只影响启用状态,不改变产品硬规则。
  • 开屏、前贴和剧中弹窗的新增、修改、启停、排序或资源替换成功后均写入 A-06 配置历史。
验收编号GivenWhenThen
AC-A03-1运营编辑前贴配置尝试将关闭时间小于 3 秒保存被阻止或固定回 3 秒,具体控件实现待研发确认
AC-A03-2剧中多规则同时命中播放器到达触发点只展示一个剧中广告层

A-04页脚与应用

共享配置源
后台页面沿用现有架构REQ-017 只交付应用、友情链接、网站地图、品牌说明、版权与备案的配置、校验、同源发布与验收契约。
能力契约,不是后台页面示意;具体布局由后端在现有后台组件体系内套用。
  • 维护页脚标题与说明、友情链接、网站地图、版权与备案。
  • 维护五项应用名称、项目内图标路径与跳转地址。
  • 保存后精品应用页与所有前台页脚读取同一配置源。
  • 项目内图标路径限 assets/;跳转只接受站内标识或 http/https。
  • 精品应用页与全局页脚应用卡作为应用中心广告位,成功配置变更后写入 A-06 配置历史。
验收编号GivenWhenThen
AC-A04-1运营修改应用名称保存配置应用页与全局页脚同步更新,无双源差异
AC-A04-2图标路径不属于 assets点击保存保存被阻止并显示就地错误

A-05数据概览

三项核心指标
后台页面沿用现有架构本项目只交付 UV、PV、广告点击跳转三项核心指标、筛选维度、诊断事件与空态契约。
能力契约,不是后台页面示意;无真实数据时显示待接入/暂无数据。
  • 三张等权指标卡只展示 UV、PV、广告点击并发起跳转。
  • UV 按筛选周期对独立访客去重;PV 按页面进入累计。
  • 广告跳转仅在点击并发起跳转时累计;曝光、关闭、播放作为诊断事件。
  • 日期与来源用于筛选;页面、短剧、剧集、运营位作为拆分维度。
  • 未接入真实数据时显示“待接入/暂无数据”,不展示虚构趋势。
验收编号GivenWhenThen
AC-A05-1数据接口尚未接入进入数据概览三项指标显示待接入,不出现数字或趋势
AC-A05-2用户只关闭广告未跳转事件入库不增加“广告点击跳转”,只保留诊断操作事件

A-06配置历史日志

全部弹窗、Banner 与应用中心广告位
后台页面沿用现有架构本项目不提供配置历史页面原型,只交付统一资源范围、日志字段、查询、权限、失败边界与验收契约。
能力契约,不是后台页面示意;列表、筛选和详情组件复用现有后台。
  • M-23 配置历史覆盖全部弹窗、全部 Banner 与应用中心广告位;应用中心广告位包含精品应用页和全局页脚应用卡。
  • 资源类型使用 popup、banner、app_center_ad,具体位置由 placementId 区分。
  • 日志字段为 historyLogId、resourceType、resourceId、placementId、operationType、beforeSnapshot、afterSnapshot、operatorId、operatedAt,changeReason 可选。
  • 新增、修改、启停、排序或资源替换成功写入后,以服务端最终落库值生成一条不可变记录;首次创建的 beforeSnapshot 为空。
  • 支持按资源类型、配置/资源编号、广告位、操作人和时间范围查询,详情展示完整前后快照。
  • 普通后台角色只能查询,不能编辑、覆盖或删除;配置历史与 EP 用户行为数据分开存储。
  • 字段校验、资源校验或写入失败时不生成新配置版本和历史日志;通用错误日志可记录失败原因。
验收编号GivenWhenThen
AC-A06-1任一弹窗、Banner 或应用中心广告位配置有效新增、修改、启停、排序或资源替换成功写入生成一条不可变日志,包含资源与广告位标识、变更前后快照、操作人和操作时间
AC-A06-2已存在多类配置历史按资源类型、配置编号、广告位、操作人或时间范围查询并打开详情列表只返回匹配记录,详情完整展示变更前后快照
AC-A06-3配置字段、资源或写入校验失败提交保存不生成新配置版本和历史日志,现行有效配置保持不变

X-1逻辑漏洞审查

L-01 · 资源新增方式 已决议
现象

资源新增若存在外部地址入口,会绕过自有资源库的上传状态。

风险

资源不可控、状态不可追溯,且保存门禁失效。

决议

以阶段二为准:video/* 本地文件上传至自有服务器,完成后才可保存。

L-02 · 多广告叠加 已决议
现象

开屏、前贴、剧中规则可能在同一会话连续命中。

风险

浮层叠加、正片状态错乱和重复计数。

决议

全局广告互斥;同一时刻只展示一个广告层。

L-03 · 跳转安全 已决议
现象

运营可配置站内和外部跳转。

风险

未知协议、无效地址或未审核页面造成安全与合规问题。

决议

只接受站内标识或 http/https;无效或未审核配置不可启用。

L-04 · 无来源数据 已决议
现象

当前原型没有真实统计数据。

风险

虚构指标会误导产品验收与运营判断。

决议

显示“待接入/暂无数据”;只有真实采集值可进入报表。

L-05 · 上传技术参数 待技术签字
现象

产品已锁定上传路径,但文件大小、分片、转码、重试与清理参数未定。

风险

大文件失败、重复资源或孤儿文件。

决议

产品只锁定状态与保存门禁;具体上传实现、资源标识及失败清理由研发评审签字。

L-06 · 播放中下架 待运营签字
现象

剧集播放过程中可能被运营下架。

风险

强制中断与继续播放的口径不一致。

决议

阻止新播放已锁定;对正在播放会话的处置由运营与研发联调前确认。

L-07 · 播放手势协议 暂缓
现象

当前 Swift Web/SwVideoPlayer 组件包没有声明可复用的播放手势协议。

风险

业务层直接绑定触摸或指针事件会覆盖 Artplayer 运行时行为,并造成 Web、H5 控制不一致。

决议

播放手势动作的功能接入:如果现有前端框架支持就接入,如果没有就暂缓。当前核查为不支持,本期不自行实现;框架后续提供正式能力时再由前端评审接入。

L-08 · 分类父子关系 已决议
现象

首页、一级分类页和轻松一刻使用不同层级的分类入口,若只传统一分类值会混入其他父级子项。

风险

前台筛选结果、后台配置与埋点维度无法对应,跨父级轻松一刻配置也可能被错误启用。

决议

接口分离 primaryCategoryId 与 secondaryCategoryId(s);服务端是父子关系最终校验方。轻松一刻只允许同一一级分类下 1—3 个二级分类,并只下发作品范围,不下发前台子分类控件。

L-09 · 冷启动排序与运营置顶 已决议
现象

冷启动阶段没有可靠热度数据,同时运营需要角标和分类内重点作品控制。

风险

继续依赖点击量会固化早期偏差;角标双选或全局置顶会造成口径冲突和跨分类污染。

决议

最火使用列表会话稳定随机并作为首页默认;角标为互斥枚举;置顶仅在所属一级分类生效,多个置顶按服务器记录的配置时间降序。

L-10 · 配置历史不可追溯 已决议
现象

通用操作日志只能说明发生过操作,无法还原弹窗、Banner 与应用中心广告位变更前后的完整配置。

风险

运营配置异常时无法定位具体字段、广告位、责任人与生效版本,也无法证明失败提交未覆盖线上配置。

决议

新增 A-06 统一配置历史:仅成功写入后保存不可变的前后快照、操作人和时间;失败校验不生成新版本,且与用户行为统计分开存储。

X-2验收清单 · Definition of Done

编号验收项通过条件
DOD-01阶段边界本轮只修改已授权的阶段一 v1.1、阶段二现行原型、阶段三交付文档与 HANDOFF;历史 v1.0、设计系统源文件和真值契约哈希保持不变
DOD-02组件契约§0.1–§0.8、C/O 7 段、A 模块组、X-1/X-2、目录与文档交互齐全
DOD-03用户主流程首页/分类/搜索 → 选集 → 播放;游客无登录墙
DOD-04资源上传新增短剧只接受本地视频上传至自有服务器;四类失败状态阻止保存
DOD-05广告规则开屏、前贴、剧中承载与关闭规则一致;全局互斥
DOD-06响应式Web/H5 无横向滚动;H5 主要触达区不小于 44px
DOD-07状态与错误通用 8 态在 C/O 卡有对应落地;错误均有恢复路径
DOD-08埋点与数据EP-001–018 可追溯;三项核心指标不混入诊断事件
DOD-09真实数据纪律无来源指标、趋势与目标值为 0
DOD-10运行态文档真实渲染无重叠、裁切或横向溢出;目录、搜索、下载、返回顶部可用
DOD-11手势能力边界阶段一、阶段二与阶段三均明确“现有前端框架支持则接入,不支持则暂缓”;当前不支持,业务层手势监听为 0,现有按钮、进度和倍速控制保持可用
DOD-12既有三阶段一致性REQ-016/REQ-017、前贴与剧中广告 3 秒关闭、自有服务器视频上传、三项核心指标、后台无页面原型和 Swift Web 品牌变体在三阶段均可追溯且无冲突旧口径
DOD-13分类层级首页只展示启用一级分类;一级分类页只展示当前父级下的启用二级分类;短剧与接口字段同时保存父级和子级标识
DOD-14轻松一刻与三阶段同步阶段一 REQ-018、阶段二 EASY_MOMENT_CONFIG/页面说明、阶段三 M-19/A-01/AC 均锁定“一个一级分类+同父级 1—3 个二级分类+前台无子分类控件+作品混合随机”
DOD-15排序、角标与置顶三阶段均锁定首页默认最火、最火列表会话稳定随机、最新/最火角标互斥、置顶仅限所属一级分类、多个置顶按置顶配置时间倒序;不存在点击量排序或角标双选旧口径
DOD-16配置历史日志阶段一 REQ-020/R-019、阶段二第 07 能力模块/DocPanel、阶段三 R-014/A-06/L-10 均覆盖全部弹窗、全部 Banner 与应用中心广告位;成功写入后记录不可变前后快照,失败不产生新版本,普通后台角色不可覆盖
签字前置L-05 上传技术参数与 L-06 播放中下架仍需相应责任方签字;L-07 遵循“框架支持则接入、不支持则暂缓”,当前保持暂缓。三项均不得由业务实现自行兜底。