hl-api-changelog/changelogs-v2/2026-06/03_景区服务标准编辑页不回显-排查答复-管理后台.md

58 行
3.4 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 【排查答复·管理后台】景区「服务标准」编辑页不回显 —— 后端实测正常,请前端检查保存与回填
> PR: 无(纯排查答复,后端未改动) 服务: hl-resource-service | 更新时间: 2026-06-03
> 存放目录: changelogs-v2/2026-06/ 影响范围: 管理后台「资源管理 / 景区」编辑表单 `serviceStandard` 字段
> 关联: 本目录 `03_资源服务标准字段-管理后台.md`(字段契约原文)
## ⚠️ 关键说明
前端反馈:景区编辑页「服务标准」框是空的,疑似不回显。**经测试服 API 实测,后端写入 / 回显链路 100% 正常**,问题不在后端。
- 反馈的景区「中俄边境公路(卡线)」`serviceStandard` 在数据库里**原本就是 null从没成功保存过值**,所以编辑页显示空——这是「没数据」,不是「有数据不回显」。
- 后端编辑接口是**字段级 PATCH**:请求体没带 `serviceStandard` 时会跳过该字段、保持原值。该景区一直是 null,**强烈指向前端保存时没把 `serviceStandard` 提交上来**。
- 我已往该景区写入了一段示例服务标准文本,**前端直接刷新这条景区编辑页即可看到回显**(眼见后端回显正常)。
## 1. 现象
景区编辑页 → 基本信息 → 「服务标准」输入框为空placeholder「请输入服务标准点位级,最长10000字
## 2. 后端排查结论(测试服实测)
| 环节 | 结论 |
|------|------|
| 写入 | 创建 / 编辑接口均写 `serviceStandard`,正常 ✅ |
| 回显 | 详情 / 列表响应均回填 `serviceStandard`,正常 ✅ |
| 数据现状 | 该景区 DB 原值 `serviceStandard: null`(未配置) |
| round-trip 实测 | `PUT` 写入文本 → `GET` 回显,写入值与回显值**完全一致** ✅ |
实测命令(测试服,真 admin token
```bash
# 写入
curl -X PUT -H "Authorization: Bearer <admin-token>" -H "Content-Type: application/json" \
-d '{"serviceStandard":"卡线点位服务标准1.带队提前30分钟到集合点清点人数;……"}' \
"https://api.test.1814.love:9443/admin/scenic/spot/3001000000000000019"
# 回显
curl -H "Authorization: Bearer <admin-token>" \
"https://api.test.1814.love:9443/admin/scenic/spot/3001000000000000019"
# 响应 data.serviceStandard 即为刚写入的文本
```
## 3. 请前端检查(两点)
1. **保存提交**:景区编辑「保存」时,请求体(`PUT /admin/scenic/spot/{scenicId}`)里**是否带了 `serviceStandard` 字段**。后端字段级 PATCH,没带就不会更新,这是当前最可能的原因。
2. **详情回显**:进入编辑页时,是否读取了详情响应里的 `serviceStandard` 回填到输入框。后端详情 / 列表均已返回该字段(未配置为 null
> 自查办法:在该景区「服务标准」框填几个字 → 保存 → 重新进入。存不上 = 保存请求漏了字段;能存上 = 之前只是没人填过。
## 4. 字段契约(详见关联 changelog
| 项 | 值 |
|----|----|
| 字段名 | `serviceStandard`String,≤10000 字,可空) |
| 编辑接口 | `PUT /admin/scenic/spot/{scenicId}`(字段级 PATCH,只传该字段即可单独更新 |
| 详情 / 列表 | 响应均含 `serviceStandard`,回填即可 |
游玩项目 / 服务 / 酒店同理,完整 4 类资源接口见 `03_资源服务标准字段-管理后台.md`