Travel Road Sage · 智能旅行规划助手
旅行路算子是一款基于微信小程序的 AI 旅行规划产品:用户用自然语言描述目的地、日期与偏好,系统会结合高德开放平台的时空能力(POI / 天气 / 路线)生成可执行的旅行方案,并在小程序内完成“生成 → 保存 → 分享 → 发现”的闭环。
- 时空感知,不做“时空跳跃”行程
- 不只输出一段文本,而是基于高德路线规划能力对行程进行“顺路串点”和耗时评估,显著减少一天跑 4 小时路的低效安排。
- 从攻略到执行的闭环体验
- 生成结果附带推荐路线图(支持预览/保存),并提供导航唤起能力(由后端生成链接),让“规划”直接落地到“出行”。
- 内容沉淀 + 社交分发
- 登录后自动保存攻略到云端;可一键生成分享码并公开,进入发现页被其他用户浏览、点赞与收藏。
- 标准化工具化架构(MCP 思路)
- 通过后端工具层把地图、天气、POI 等能力模块化封装,便于扩展更多数据源与工具,而不是把能力写死在前端页面里。
-
攻略生成页(Tab:攻略)
- 目的地输入 + 热门城市快捷选择
- 日历选择出行日期范围,自动计算天数
- 多选旅行偏好(美食/自然/文化/亲子等)
- 可选补充:出行人群、预算档位、个性化描述
- 选择出行方式(公交/步行/骑行/自驾)
- 生成过程分阶段展示(信息提取 / 天气 / 攻略搜索 / 景点搜索 / 生成 / 补全)
- 结果支持 Markdown 展示;推荐路线图支持点击预览
- 登录后自动保存到“行程”(也可手动保存)
- 支持分享(引导微信右上角分享 + 复制文本/分享码)
-
行程页(Tab:行程)
- 自动区分“即将出发 / 已完成”
- 行程卡片展示封面、日期、路线图缩略图
- 支持查看详情、复制分享码、删除
-
发现页(Tab:发现)
- 公共攻略瀑布流浏览 + 分类筛选
- 点赞、收藏、浏览量
- 支持通过分享码打开攻略详情页
-
我的(Tab:我的)
- 微信授权登录(开发环境支持测试登录兜底)
- 我的攻略概览、我的收藏入口
- 设置页(清理缓存、退出登录等)
| 页面 | 说明 | 路径 |
|---|---|---|
| 攻略生成 | 表单化输入 + AI 生成 + 路线图展示/保存/分享 | pages/chat/index |
| 行程 | 云端行程管理(查看/分享/删除) | pages/trip/index |
| 发现 | 公共攻略浏览(分类/点赞/收藏) | pages/explore/index |
| 我的 | 登录与个人中心 | pages/profile/index |
| 攻略详情 | 支持 id(我的)或 code(公开分享码)加载 |
pages/plan/detail |
| 我的收藏 | 收藏列表 | pages/favorites/index |
| 我的攻略 | 全部攻略列表 | pages/myplans/index |
| 设置 | 清缓存/退出登录 | pages/settings/index |
- 框架:Taro 4.x + React 18
- UI:@nutui/nutui-react-taro
- 状态管理:Zustand
- 样式:SCSS
- 语言:TypeScript
- Node.js 18+
- 微信开发者工具
npm install请参考backend文件夹中的README
前端请求地址统一从 src/config/index.ts 的 API_BASE 读取:
- 线上默认:
https://ip/travel-api - 本地开发:将
API_BASE改为你的本地后端地址(例如http://localhost:8000/api)
如果你在代码里使用了 src/services/api.ts,也需要同步修改其中的 BASE_URL。
# 编译小程序(watch)
npm run dev:weapp
# 编译 H5(可选)
npm run dev:h5npm run build:weapp- 打开微信开发者工具
- 导入项目,选择
wechatapp目录 - 小程序目录为
dist/(见project.config.json的miniprogramRoot) - 本地联调时可在开发者工具里关闭“校验合法域名”(
urlCheck: false)
说明:接口前缀以 API_BASE 为准。
POST /plan- 生成攻略与结构化行程数据(包含推荐路线图地址/base64 等)
GET /plans- 获取我的攻略列表(需登录
Bearer token)
- 获取我的攻略列表(需登录
POST /plans- 保存攻略(需登录)
GET /plans/public- 发现页公共攻略列表
GET /plans/share/{share_code}- 通过分享码获取公开攻略详情
POST /plans/{id}/share- 将攻略设为公开并生成分享码(需登录)
POST /plans/{id}/like- 点赞/取消点赞(需登录)
POST /plans/{id}/favorite- 收藏/取消收藏(需登录)
GET /plans/user/favorites- 我的收藏列表(需登录)
POST /user/login- 微信登录
POST /user/login/dev- 开发环境测试登录(兜底)
- 生成攻略可能需要一定时间,小程序端已设置较长请求超时用于承载 AI 生成与路径计算。
- 项目不包含支付/交易能力;如要对接商业化(酒店/门票等),建议在后端按模块化方式扩展。
- 地图展示使用微信原生组件能力;路线图由后端生成后在小程序中展示。
微信扫码在线体验
- 实时出行监控与风险提示(如景点限流/闭馆/拥堵)
- 专属地图导入、打车唤起等更强的“执行层”能力
- 更精细的预算估算与个性化画像
MIT