diff --git a/changelogs/2026-05/23_headsup_test_banner_none_type_seed.md b/changelogs/2026-05/23_headsup_test_banner_none_type_seed.md new file mode 100644 index 0000000..0feed90 --- /dev/null +++ b/changelogs/2026-05/23_headsup_test_banner_none_type_seed.md @@ -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