3.0 KiB
3.0 KiB
线路概览展示所需字段汇总
- 日期: 2026-04-16
- 服务: hl-product-service-v2
- 类型: 前端适配说明
原型展示
线 路 概 览
草原环线体验 ← routeName
海拉尔起止·全程约1200公里·日均不超300公里 ← 前端拼接
数据来源
| 展示内容 | 数据来源 | 接口字段 |
|---|---|---|
| "草原环线体验" | 路线名称 | routeName (产品级) |
| "海拉尔起止" | 首天集合地 + 末天解散地 | itinerary[0].gatherPlace.name + itinerary[last].dismissalPlace.name |
| "全程约1200公里" | 总里程 | totalMileage (产品级) |
| "日均不超300公里" | 每日里程最大值 | max(itinerary[].dailyMileage) |
每日行程展示
DAY 2
海拉尔 → 呼籁营地 → 莫日格勒河 → 额尔古纳
290km · 约3.5小时
| 展示内容 | 数据来源 | 接口字段 |
|---|---|---|
| 途经路线 | 自动生成 | itinerary[].routePoints[].name 用 " → " 连接 |
| "290km" | 当日里程 | itinerary[].dailyMileage |
| "约3.5小时" | 当日驾车时长 | itinerary[].dailyDuration(分钟,前端格式化) |
| 集合地 | 当日 | itinerary[].gatherPlace (JSON: {name,adcode,center,level}) |
| 解散地 | 当日 | itinerary[].dismissalPlace (JSON: {name,adcode,center,level}) |
时长格式化建议
dailyDuration 是分钟数,前端格式化示例:
- 151分钟 → "约2.5小时"
- 276分钟 → "约4.5小时"
- 30分钟以下 → "约30分钟"
行程保障展示
原型中「行程保障」区块(无忧退改、5人专属团队、24小时客服等)的数据来源:
| 接口 | 字段 | 说明 |
|---|---|---|
GET /mp/product/{id} |
guaranteeItems |
行程保障项数组,自动解析模板 |
guaranteeItems 结构:
[
{"icon": "shield", "title": "无忧退改", "description": "出发前7天无条件全额退款..."},
{"icon": "users", "title": "5人专属服务团队", "description": "定制师、房务管家..."},
{"icon": "clock", "title": "24小时客服响应", "description": "行前、行中、行后..."},
{"icon": "badge", "title": "旅行社责任险100万", "description": "正规旅行社资质..."},
{"icon": "car", "title": "全程纯玩无购物", "description": "无强制消费..."}
]
前端操作流程
- 管理端 Step5 补充信息:选择行程保障模板(
guaranteeTemplateId) - 小程序端:从
guaranteeItems直接渲染列表
模板管理
- 菜单:产品管理 → 行程保障
- CRUD接口:
/admin/travel-guarantee-template/**(详见Knife4j「产品服务-模板管理」分组)
⚠️ 如果 guaranteeItems 为null,说明产品还没关联模板,需要在Step5中设置。
注意
gatherPlace/dismissalPlace需要重新保存行程(Step2)才有值dailyMileage/dailyDuration保存行程时自动计算- 所有数据在管理端详情和小程序端详情中均返回