58 行
3.4 KiB
Markdown
58 行
3.4 KiB
Markdown
# 【排查答复·管理后台】景区「服务标准」编辑页不回显 —— 后端实测正常,请前端检查保存与回填
|
||
|
||
> 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`。
|