欢迎光临
我们一直在努力

基于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 查看数据大屏与后台管理
  • 效果图:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    赞(0)
    未经允许不得转载:171主机测评 » 基于Springboot+vue的AI智能旅游推荐系统+开发文档
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址