# travel **Repository Path**: jgh/travel ## Basic Information - **Project Name**: travel - **Description**: 旅游管理平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-30 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 旅游服务管理平台 一个基于 Spring Boot 和 Vue.js 3 的旅游服务管理平台,提供旅游产品预订、订单管理、支付处理、导游服务、住宿预订等完整功能。 ## 技术栈 ### 后端 - **Spring Boot**: 3.1.5 - **Java**: 17 - **数据库**: MySQL 8.0 - **ORM**: MyBatis-Plus 3.5.8 - **缓存**: Redis - **认证**: Spring Security + JWT - **API文档**: Swagger/OpenAPI 3.0 ### 前端 - **Vue.js**: 3.4.0 - **构建工具**: Vite 5.0.0 - **UI组件**: Element Plus 2.4.4 - **状态管理**: Pinia 2.1.7 - **路由**: Vue Router 4.2.5 - **HTTP客户端**: Axios 1.6.2 ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 16+ - Maven 3.6+ - MySQL 8.0+ ### 1. 数据库配置 ```bash # 创建数据库 mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS tourism_platform CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 导入初始数据 cd backend mysql -u root -p tourism_platform < src/main/resources/db/init.sql ``` ### 2. 后端配置 编辑 `backend/src/main/resources/application.yml` 文件,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/tourism_platform username: root password: your_password ``` 启动后端: ```bash cd backend mvn spring-boot:run ``` 后端将运行在 `http://localhost:8080` ### 3. 前端配置 ```bash cd frontend npm install npm run dev ``` 前端将运行在 `http://localhost:5173` ## 项目结构 ``` tourism-platform/ ├── backend/ # Spring Boot 后端 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/tourism/platform/ │ │ │ │ ├── controller/ # REST API 控制器 │ │ │ │ ├── service/ # 业务逻辑层 │ │ │ │ ├── entity/ # 数据库实体 │ │ │ │ ├── mapper/ # MyBatis-Plus Mapper │ │ │ │ ├── dto/ # 数据传输对象 │ │ │ │ ├── vo/ # 视图对象 │ │ │ │ ├── config/ # 配置类 │ │ │ │ └── util/ # 工具类 │ │ │ └── resources/ │ │ │ ├── application.yml # 应用配置 │ │ │ └── db/ # 数据库脚本 │ └── test/ ├── frontend/ # Vue.js 前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── components/ # 可复用组件 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── router/ # 路由配置 │ │ └── utils/ # 工具函数 │ └── package.json └── docs/ # 项目文档 ``` ## API 端点 ### 认证接口 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/auth/profile` - 获取用户信息 - `PUT /api/auth/profile` - 更新用户信息 - `POST /api/auth/change-password` - 修改密码 ### 产品接口 - `GET /api/product/list` - 产品列表(支持分页、搜索、筛选) - `GET /api/product/{id}` - 产品详情 - `POST /api/product/create` - 创建产品(管理员) - `PUT /api/product/{id}` - 更新产品(管理员) - `DELETE /api/product/{id}` - 删除产品(管理员) ### 订单接口 - `POST /api/order/create` - 创建订单 - `GET /api/order/my` - 我的订单 - `GET /api/order/{id}` - 订单详情 - `PUT /api/order/{id}/cancel` - 取消订单 - `GET /api/order/all` - 所有订单(管理员) ### 支付接口 - `POST /api/payment/init` - 发起支付 - `GET /api/payment/callback` - 支付回调 - `GET /api/payment/status/{id}` - 支付状态查询 ### 导游接口 - `POST /api/guide/register` - 导游注册 - `GET /api/guide/list` - 导游列表 - `PUT /api/guide/{id}/approve` - 导游审核(管理员) ### 住宿接口 - `GET /api/accommodation/list` - 住宿列表 - `GET /api/accommodation/{id}` - 住宿详情 - `POST /api/accommodation/book` - 住宿预订 ### 系统接口(管理员) - `GET /api/system/info` - 系统信息 - `GET /api/system/settings` - 系统设置 - `PUT /api/system/update` - 更新系统设置 - `POST /api/system/cache/clear` - 清除缓存 API文档地址:`http://localhost:8080/swagger-ui.html` ## 默认账户 **管理员**: - 用户名: `admin` - 密码: `admin123` ## 开发团队 如需贡献,请遵循以下步骤: 1. Fork 本项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 许可证 本项目采用 MIT 许可证