hl-api-changelog/changelogs-v2/2026-06/03_服务标准模板与产品关联说明-管理后台.md

119 行
4.2 KiB
Markdown

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

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

# 【说明补齐·管理后台】服务标准模板与产品的关联方式(产品 Step5
> PR: #3375 服务: hl-product-service-v2 | 更新时间: 2026-06-03
> 存放目录: changelogs-v2/2026-06/ 影响范围: 管理后台「产品编辑 / Step5 补充信息」(服务标准模板绑定)
## ⚠️ 关键说明
前端反馈「服务标准模板怎么和产品关联」一直没有同步说明,本文补齐,含完整接口、字段、请求/响应示例。
- 服务标准模板是一份**统一维护的全局模板库**,产品通过**纯引用一个模板 ID**`serviceStandardTemplateId`)与它关联,不复制模板正文。
- 所有产品(含私人定制)的服务标准都**实时按模板 ID 查询展示**,模板改了已绑定产品实时跟随。
- 原私人定制完成设计冻快照的机制(`service_standard_snapshot`已废除PR #3375),**接口结构不变,前端无需改动**。
## 1. 接口背景
产品编辑 Step5「补充信息」里需要给产品绑定一份服务标准模板。绑定关系存在产品的 `serviceStandardTemplateId` 字段(纯引用,可空)。前端需要:拉模板下拉、预览模板内容、保存绑定、回显当前绑定。
## 2. 接口清单
| # | 用途 | 方法 | 路径 |
|---|------|------|------|
| 1 | 启用模板下拉 | GET | `/admin/product/service-standard-template/enabled` |
| 2 | 模板详情(预览) | GET | `/admin/product/service-standard-template/{id}` |
| 3 | 保存绑定 | PUT | `/admin/product/item/{id}/supplement` |
## 3. 详细用法与示例
### 3.1 拉模板下拉(接口 1
```bash
curl -H "Authorization: Bearer <admin-token>" \
"https://api.test.1814.love:9443/admin/product/service-standard-template/enabled"
```
响应(只返 id + name,供下拉选择
```json
{
"code": 200,
"data": [
{ "id": "2061281473171775490", "name": "6字段服务标准模板" }
]
}
```
### 3.2 预览选中模板内容(接口 2
```bash
curl -H "Authorization: Bearer <admin-token>" \
"https://api.test.1814.love:9443/admin/product/service-standard-template/2061281473171775490"
```
响应(含分组 sections 与每条 6 字段):
```json
{
"code": 200,
"data": {
"id": "2061281473171775490",
"name": "6字段服务标准模板",
"intro": "全国统一的服务标准",
"applicableScope": "本周期本产品全部出团人群",
"sections": [
{
"title": "用车服务",
"items": [
{
"title": "专业司机",
"content": "持有A1驾照,8年以上驾龄",
"remark": "提供接送指引",
"color": "#FF6600",
"contactName": "李师傅",
"phone": "13800000000"
}
]
}
],
"status": "ENABLED",
"statusLabel": "启用"
}
}
```
模板条目 6 字段说明:
| 字段 | 类型 | 说明 |
|------|------|------|
| title | String | 条目标题,如「专业司机」 |
| content | String | 条目正文 |
| remark | String | 备注,可空 |
| color | String | 标题色值 `#RRGGBB`,可空 |
| contactName | String | 联系人,可空 |
| phone | String | 联系电话,可空 |
### 3.3 保存绑定(接口 3
Step5 保存时在 supplement 请求体里带上 `serviceStandardTemplateId` 即可(解绑传 `null`
```bash
curl -X PUT -H "Authorization: Bearer <admin-token>" -H "Content-Type: application/json" \
-d '{"serviceStandardTemplateId": 2061281473171775490}' \
"https://api.test.1814.love:9443/admin/product/item/2056938821550747650/supplement"
```
> supplement 请求体含 Step5 全量字段,此处仅示意服务标准模板字段,实际提交按 Step5 既有结构整体提交。
### 3.4 回显当前绑定
产品 / Step5 读取接口返回的 `serviceStandardTemplateId` 即当前绑定(未绑定为 `null`),前端据此回填下拉选中项。
## 4. 前端动作
1. 进入 Step5 服务标准区,用接口 1 拉下拉。
2. 选中某模板,用接口 2 拉详情做内容预览。
3. 保存时把 `serviceStandardTemplateId` 随接口 3supplement整体提交。
4. 回显时读 Step5 数据里的 `serviceStandardTemplateId` 回填下拉。
无破坏性变更,按需接入即可。