notice(mp-frontend): 产品对比页去掉「简介」行 — introduction 已废弃(#2943 后端恒返 null),前端删 compare.js 简介行(后端零改动)
这个提交包含在:
父节点
8564cdab91
当前提交
79bde5d0b1
@ -0,0 +1,53 @@
|
|||||||
|
# 【前端】小程序产品对比页: 去掉「简介」行
|
||||||
|
|
||||||
|
> **类型**: 前端渲染修复(notice,后端无改动)
|
||||||
|
> **服务**: hl-product-service-v2(`introduction` 早已抹空,无需改后端)
|
||||||
|
> **日期**: 2026-05-28
|
||||||
|
> **影响范围**: 小程序「线路对比 / 产品对比页」核心对比区(packages/product/compare)
|
||||||
|
> **归属**: 前端(mmg)。后端不建工单,本条仅同步现状 + 修法。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ 问题
|
||||||
|
|
||||||
|
产品对比页「核心对比」区有一行 **「简介」**,但简介字段(`introduction`)已废弃,后端 `/mp/product/compare` 早已不返该字段 → 这一行对所有产品都显示 `—`(空横线),纯属占位噪音。
|
||||||
|
|
||||||
|
**用户要求:简介已经没用了,对比页也不要再显示这一行。**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、根因
|
||||||
|
|
||||||
|
- 后端早在工单 **#2943 / PR #2944** 就把 `/mp/product/compare` 的 `subtitle` / `introduction` / `crowdBenefit` 统一抹空返 `null`(对比页只保留核心规格差异)。已合 dev 并部署测试服。
|
||||||
|
- 实测测试服 `POST /mp/product/compare?lineId=2043595259778166786`:3 个产品的 `introduction` 全为 `null`(`subtitle` / `crowdBenefit` 同样为 `null`),后端侧完全正确。
|
||||||
|
- 但前端对比页 `_buildCoreSection` 里**硬编码**了「简介」行,且**不像「人群优惠」区那样过滤全空行**,所以 `introduction=null` 时这一行依旧渲染成一排 `—`。
|
||||||
|
|
||||||
|
### 两区对比(为什么人群优惠没这个毛病)
|
||||||
|
|
||||||
|
| 区块 | 构建方法 | 是否过滤空行 | 结果 |
|
||||||
|
|------|----------|--------------|------|
|
||||||
|
| 人群优惠 | `_buildCrowdSection` | ✅ 有 `.filter(row => row.values.some(v => v !== '—'))`,全空整段返 null | `crowdBenefit=null` 时整段自动隐藏,无残留 |
|
||||||
|
| 核心对比 | `_buildCoreSection` | ❌ 行写死,不过滤 | 「简介」行写死 → `introduction=null` 时永远显示一排 `—` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、前端修法(后端零改动)
|
||||||
|
|
||||||
|
删掉 `packages/product/compare/compare.js` 中 `_buildCoreSection` 的「简介」行(约第 140 行):
|
||||||
|
|
||||||
|
```js
|
||||||
|
// 删除这一行
|
||||||
|
{ label: '简介', values: list.map(p => p.introduction || '—'), tall: true },
|
||||||
|
```
|
||||||
|
|
||||||
|
删除后核心对比区保留:天数 / 类型 / 起步价 / 付款方式 / 订金,不再有空的「简介」行。
|
||||||
|
|
||||||
|
> 备选(更通用):给 `_buildCoreSection` 的 rows 也套一层和人群优惠区一样的"全空行过滤",这样后续任何被后端抹空的字段都会自动隐藏。但当前只有「简介」一行受影响,直接删该行最省事。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、相关接口(均已上线,无变更)
|
||||||
|
|
||||||
|
| 接口 | 方法 | 路径 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| 产品对比 | POST | `/mp/product/compare?lineId={lineId}` | `subtitle` / `introduction` / `crowdBenefit` 自 #2943 起恒为 `null`,前端不应再展示这些区块 |
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户