headsup(banner): 测试服造 1 条 NONE 类型 banner 供 mmg 联调无跳转场景

这个提交包含在:
API Changelog Bot 2026-05-23 11:43:27 +08:00
父节点 b5ceb15d50
当前提交 cb7898dc2d

查看文件

@ -0,0 +1,74 @@
# heads-up: 测试服新增 NONE 类型 banner 测试数据 (无跳转场景)
> **类型**: heads-up (非 PR, 仅测试数据通知)
> **日期**: 2026-05-23
> **环境**: 测试服 (api.test.1814.love)
> **接收方**: mmg (前端)
> **前端**: **无需改动**, 仅告知测试服多了一条 NONE 类型 banner 可用于联调
---
## 背景
PR #2952 (banner 顶层 tags + PRODUCT 字段补全) 上测试服后, wx 让我顺手验证 `/mp/banner/active` 对其他 linkType 的覆盖情况。查 DB 发现测试服现有 active banner 只有 PRODUCT + PRODUCT_LINE 各 1 条, 其他类型(NONE/SCENIC/ACTIVITY/HOTEL/PAGE/WEBVIEW)都没有 active 数据。
为了让前端能测"无跳转 banner"卡片样式, 我用 admin API 造了 1 条 NONE 类型 banner。
## 新增数据
| 字段 | 值 |
|---|---|
| id | `2058030675058958337` |
| title | `[autotest] NONE 类型测试 banner` |
| subtitle | "无跳转, 纯展示" |
| linkType | **NONE** |
| linkId | `""` (空) |
| tags | `["测试","无跳转","纯展示"]` |
| sortOrder | 50 |
| status | 1 (上架) |
| 有效期 | 2026-05-23 ~ 2027-12-31 |
| imageUrl | 复用现有测试图 |
`[autotest]` 前缀标识为自动测试数据, 不参与生产逻辑评估, 可随时删除。
## `/mp/banner/active` 实际返回(3 条按 sortOrder)
| sortOrder | linkType | linkTarget | 前端卡片渲染 |
|---|---|---|---|
| 1 | PRODUCT | 完整产品对象 | 跳产品详情页 |
| **50** | **NONE** | **null** | **不跳转**, 仅展示 title / imageUrl / tags |
| 99 | PRODUCT_LINE | 完整主题对象 | 跳主题详情页 |
## NONE 类型字段对照
```json
{
"id": "2058030675058958337",
"title": "[autotest] NONE 类型测试 banner",
"linkType": "NONE",
"linkId": "",
"tags": ["测试", "无跳转", "纯展示"],
"linkTargetType": null,
"linkTarget": null,
"seasons": null,
"sortOrder": 50
}
```
## 🚨 前端建议
1. **NONE 类型卡片不读 linkTarget** — 强制 null, 读取会得到 null 触发空对象问题
2. **点击行为**: 不跳转 (或不绑定点击事件)
3. **顶层 tags 仍正常返回** — 可在卡片角落展示标签徽章
4. **可联调验证**: 当前测试服 3 条 active banner 覆盖了所有有 enrich 逻辑的 linkType (PRODUCT/PRODUCT_LINE) + 1 条无 enrich (NONE)
## 后续清理
mmg 联调完通知 wx 后, 我会用 admin API 软删这条 `[autotest]` banner。如不告知, 1 个月后我例行清理。
---
## 联系人
后端: wx (呼籁旅行)
前端: mmg