Appearance
PRD:Banner 与热门雪票排期功能
模块:运营后台
优先级:P1
版本:v1.0
日期:2026-01-29
1. 问题陈述
当前 Banner 和热门雪票的后台编辑缺少排期能力:
- 无法提前配置素材并定时上线
- 活动结束后需手动下线,易遗漏导致过期内容曝光
- 热门雪票无排序权重,无法精细控制展示顺序
业务风险:过期活动/错误价格曝光,损害用户信任与平台形象。
2. 用户场景
场景 1:提前配置活动素材
运营小王需要在周五晚 8 点上线「万龙周末特惠」Banner,但她周五下午要开会。 期望:提前配置好素材,设置上线时间为 20:00,系统自动生效。
场景 2:活动到期自动下线
「电卡进行时」热门雪票促销于周日 24:00 结束。 期望:设置下线时间后,系统自动将该商品从热门雪票区移除,无需人工干预。
场景 3:紧急下线
发现某 Banner 跳转链接错误,需立即下线。 期望:一键关闭状态开关,素材立即失效。
3. 改动方案
3.1 Banner 编辑器
现有字段
| 字段 | 类型 |
|---|---|
| 展位选择 | 下拉 |
| 上传图片 | 图片上传 |
| 标题 | 文本 |
| 副标题 | 文本 |
| 跳转链接 | 文本 |
| 排序权重 | 数字 |
新增字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 上线时间 | 日期时间 | ✅ | 到点自动生效 |
| 下线时间 | 日期时间 | ✅ | 到点自动失效 |
💡 状态开关已有,无需新增。新增的上下线时间与已有状态配合使用。
⚠️ 展示规则:素材必须同时满足「状态=开启」且「当前时间在上下线区间内」才会在客户端显示。
交互说明
- 时间选择器:支持日期 + 时间(精确到分钟)
- 状态与时间的优先级:
- 状态 = 关闭 → 无论时间如何,均不展示
- 状态 = 开启 → 按上下线时间判断是否展示
- 校验规则:
- 上线时间必填
- 下线时间必填
- 下线时间必须晚于上线时间
- 上线时间不可早于当前时间(编辑已生效素材除外)
3.2 热门雪票编辑器
现有字段
| 字段 | 类型 |
|---|---|
| 商品ID | 文本 + 查询 |
| 首页展示图 | 图片上传 |
| 运营标签 | 文本 |
| 商品名称 | 文本 |
新增字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 上线时间 | 日期时间 | ✅ | 到点自动生效 |
| 下线时间 | 日期时间 | ✅ | 到点自动下架 |
| 排序权重 | 数字 | ✅ | 数字越小越靠前 |
💡 状态开关已有,无需新增。
交互说明
- 排序逻辑:按权重升序 → 同权重按上线时间降序
- 状态优先级:同 Banner
3.3 列表页增强
在 Banner 列表和热门雪票列表页增加以下能力:
| 能力 | 说明 |
|---|---|
| 状态筛选 | 全部 / 已上线 / 待上线 / 已下线 |
| 时间排序 | 按上线时间 / 下线时间排序 |
| 状态标签 | 列表中显示「进行中」「待上线」「已结束」标签 |
5. 验收条件
5.1 Banner 排期
| # | 验收条件 |
|---|---|
| 1 | 可设置上线时间,保存后在该时间点前不展示 |
| 2 | 到达上线时间后,Banner 自动在 App 端展示 |
| 3 | 可设置下线时间,到达后 Banner 自动从 App 端移除 |
| 4 | 状态关闭时,无论时间如何,Banner 立即不展示 |
| 5 | 时间校验:下线时间必须晚于上线时间 |
5.2 热门雪票排期
| # | 验收条件 |
|---|---|
| 1 | 可设置排序权重,数字越小展示越靠前 |
| 2 | 同权重时,按上线时间倒序排列 |
| 3 | 上下线时间逻辑同 Banner |
| 4 | 状态关闭时立即从热门雪票区移除 |
5.3 列表页
| # | 验收条件 |
|---|---|
| 1 | 列表可按状态筛选:全部/已上线/待上线/已下线 |
| 2 | 列表项显示状态标签:进行中(绿)/待上线(蓝)/已结束(灰) |
6. 边界情况
| 场景 | 处理方式 |
|---|---|
| 上线时间已过但状态为关闭 | 不展示 |
| 下线时间已过后重新开启状态 | 不展示(已过期) |
| 编辑已生效的 Banner 修改上线时间为未来 | 立即下线,到新时间点再上线 |
| 多个 Banner 同一展位同一时间段 | 按排序权重展示第一个,其余不展示(无冲突检测,靠运营规范保障) |
