总览
项目访问链接
https://zion.functorz.com/tool/dK5wjNzjnw8/WEB?code=N1VP3v5UHxqvP&ref=5316313
场景与目标
-
目标:构建一个智能旅行规划助手,通过接收用户的输入(出发地、目的地、预算、偏好等),调用外部地图 API 获取真实数据,最终生成一份结构化的专属旅行计划。
-
适用场景:旅行规划 App、私人管家服务或行程管理工具。
-
核心逻辑:
- 需求输入:前端收集用户出发地、目的地及预算等参数。
- 智能推理:AI Agent 调用高德地图 POI 2.0 API 获取真实地理位置信息及人均消费。
- 结构化解析:AI 返回标准 JSON,通过 Zion 异步行为流进行嵌套循环存储。
- 数据呈现:前端利用三层列表嵌套,渲染“计划-天-明细”的层级结构。
- 交互闭环:通过条件式容器实现 AI 任务完成后的“未读提醒”与状态同步。
系列导读
完整流程包含三个阶段,建议按顺序阅读并实践:
- 步骤一:API与Agent配置(数据模型准备、 API 配置与 AI Agent配置)
- 步骤二:数据循环存储(搭建异步行为流与前端 UI 列表展示)
- 步骤三:未读消息提示(利用数据聚合计算(Count)和条件容器,完善前端状态交互与用户体验)
💡 UI 搭建提前知:为了更专注于核心逻辑的学习,我们准备了常用组件样式模版。你可以直接复用模版界面,也可以自由发挥,使用 Zion 的基础组件自行搭建。
实现步骤
本教程演示基于常用组件样式模版 中的AI旅行规划页面进行。
该模版已为你预置了完整的组件结构、命名与排版样式等,但不包含列表数据绑定、条件配置及行为配置等。
数据存储
为了存储生成的旅行计划,我们需要一个具有层级结构的数据库模型。你可以利用 Zion 数据面板中的 AI Copilot 通过描述需求来快速生成,或者手动创建以下四张表。
数据模型
1. 帐户表 (account)
系统自带表,用于标记旅行计划的归属关系。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| id | 长整数 | 自动生成,唯一标识用户 |
| 创建时间 | 日期时间 | 用户注册时间 |
2. 旅行计划表 (trip)
用于存储单次旅行的基础概览信息(外层主表)。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| id | 长整数 | 自动生成,唯一标识计划 |
| departure | 文本 | 出发地城市 |
| destination | 文本 | 目的地城市 |
| start_date | 日期 | 旅行开始日期 |
| end_date | 日期 | 旅行结束日期 |
| travel_count | 长整数 | 出行人数 |
| personal_budget | 无限精度小数 | 人均预算金额 |
| requirements | 文本 | 用户的特殊偏好或旅行要求 |
| title | 文本 | 旅行计划标题(如:京都5日漫步) |
| summary | 文本 | 旅行计划的整体描述或摘要 |
| is_completed | 布尔值 | 标记该计划是否已执行完毕 |
| is_read | 布尔值 | 标记用户是否已读该计划(用于未读提醒) |
| account_id | 长整数 | 多对一关联:记录该计划所属的 account |
3. 每日行程表 (daily_itinerary)
中间层级表,将长途计划按天进行拆分。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| id | 长整数 | 自动生成,唯一标识天数 |
| day_number | 长整数 | 序号,代表第几天(1, 2, 3…) |
| summary | 文本 | 这一天的行程重点或主题 |
| trip_id | 长整数 | 多对一关联:对应 trip 表 |
4. 行程明细表 (itinerary_detail)
用于定义具体的物理位置(内层列表数据源)。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| id | 长整数 | 自动生成,唯一标识明细项 |
| location_name | 文本 | 具体地点或景点名称 |
| location_geo | 地理位置 | 经纬度坐标 |
| transportation | 文本 | 到达该地点的建议交通方式 |
| start_at | 时间 | 建议抵达或开始的时间 |
| end_at | 时间 | 建议离开或结束的时间 |
| duration | 文本 | 在该地点的预计停留时长 |
| cost | 无限精度小数 | 该单项行程的预计花费 |
| reason | 文本 | 推荐理由或该地点的玩法说明 |
| daily_itinerary_id | 长整数 | 多对一关联:对应 daily_itinerary 表 |

在数据模块中,你可以点击左上角的 AI Copilot,输入上述表结构需求,AI 将自动为你创建这些数据模型。确认无误后点击确认即可。

Last updated on