基于Springboot+vue的AI智能旅游推荐系统+开发文档
·
AI智能旅游推荐系统
基于 SpringBoot 3 + MyBatisPlus + JWT + MySQL 与 Vue3 + ElementPlus + ECharts + UniApp 的全栈旅游推荐平台。
项目结构
lvyoutuijianxitong/
├── sql/travel.sql # 数据库脚本
├── src/main/java/com/travel/ # SpringBoot 后端
├── frontend/ # Vue3 Web 端
├── uniapp/ # UniApp 微信小程序
└── README.md
技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Spring Boot 3.2、MyBatis-Plus、JWT、SpringDoc(Swagger) |
| 数据库 | MySQL 8 |
| 前端 | Vue 3、Vite 4、Element Plus、ECharts、Pinia |
| 移动端 | UniApp |
| 算法 | UserCF、ItemCF 协同过滤 |
核心功能
- 用户登录注册(JWT)
- 景点 / 酒店 / 攻略 CRUD
- 收藏、点赞、评论
- AI 旅游助手(智能问答)
- UserCF / ItemCF 个性化推荐
- ECharts 数据可视化大屏
- Element Plus 后台管理
- Swagger 接口文档
快速开始
1. 数据库
mysql -u root -p < sql/travel.sql
修改 src/main/resources/application.yml 中的数据库账号密码。
2. 后端
mvn spring-boot:run
- API 地址: http://localhost:8080/api
- Swagger: http://localhost:8080/api/swagger-ui.html
3. 前端(兼容 Node 14.18+)
cd frontend
npm install
npm run dev
访问: http://localhost:5173
4. UniApp 小程序
使用 HBuilderX 打开 uniapp 目录,修改 utils/request.js 中的 BASE_URL 为实际后端地址,运行到微信开发者工具。
测试账号
| 账号 | 密码 | 角色 |
|---|---|---|
| admin | 123456 | 管理员 |
| user1 | 123456 | 普通用户 |
API 概览
| 模块 | 路径前缀 |
|---|---|
| 认证 | /api/auth |
| 景点 | /api/scenic |
| 酒店 | /api/hotel |
| 攻略 | /api/guide |
| 推荐 | /api/recommend |
| AI | /api/ai |
| 互动 | /api/interaction |
| 统计 | /api/stats |
UI 风格
深色科技感 · 毛玻璃卡片 · 渐变按钮 · 悬浮动画 · 沉浸式 Banner
功能说明(已修复逻辑)
| 模块 | 实现要点 |
|---|---|
| JWT 鉴权 | 除公开浏览接口外,均需登录;无效 Token 返回 401 |
| 管理员 | admin 账号可访问数据大屏、CRUD;后端校验 role=1 |
| 互动 | 收藏/点赞状态回显;取消时同步删除行为数据;评论带用户昵称 |
| 评分 | 详情页 1-5 星评分,写入协同过滤行为矩阵 |
| UserCF/ItemCF | 登录后个性化推荐;数据不足自动降级热门 |
| 行为分析 | /behavior/stats 个人行为统计页 |
| 攻略 | 用户登录后可发布攻略 /guide-write |
推荐测试流程
- 使用
user1/123456登录 - 浏览、收藏若干景点
- 打开「智能推荐」切换 UserCF / ItemCF
- 打开「行为分析」查看行为记录
- 使用
admin/123456查看数据大屏与后台管理
效果图:







AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)