汽车租赁系统
前后端分离的汽车租赁管理系统,包含用户端 (选车、下单、订单管理)与管理后台(统计、车辆管理、订单管理)。
项目截图








功能概览
用户端
| 功能 | 说明 |
|---|---|
| 首页 / 选车 | 浏览车辆列表,按品牌、车型、状态筛选,分页查看 |
| 车辆详情 | 查看车辆信息、日租金、描述等,支持选择租期并下单 |
| 登录 / 注册 | 用户名或手机号登录,新用户注册 |
| 我的订单 | 查看个人订单列表,支持取消、支付、查看详情 |
| 下单流程 | 选择取还车时间与地点,创建订单并支付(模拟) |
管理后台
| 功能 | 说明 |
|---|---|
| 控制台 | 展示车辆总数、订单总数、用户数统计 |
| 车辆管理 | 车辆列表(分页、按品牌/车型/状态筛选),新增、编辑、删除车辆 |
| 订单管理 | 全部订单列表(按状态筛选),管理员修改订单状态(待支付 / 待取车 / 进行中 / 待还车 / 已完成 / 已取消 / 异常) |
管理后台需使用 admin 账号登录,登录后可从用户端入口进入「管理后台」或直接访问 /admin。
技术栈
| 端 | 技术 |
|---|---|
| 后端 | Java 17、Spring Boot 3、MyBatis-Plus、Spring Security + JWT、MySQL 8、Redis、Knife4j |
| 前端 | Vue 3、TypeScript、Vite、Element Plus、Pinia、Vue Router 4、Axios |
项目结构
├── car-rental-system/ # 后端(Spring Boot 单体)
│ ├── car-rental-common/ # 公共模块
│ ├── car-rental-app/ # 主应用(认证、用户、车辆、订单、管理端接口)
│ └── sql/ # 建表与初始化数据
├── car-rental-frontend/ # 前端(Vue 3 + Vite)
│ └── src/
│ ├── views/user/ # 用户端页面
│ ├── views/admin/ # 管理后台页面
│ ├── api/ # 接口封装
│ └── ...
└── README.md # 本说明
快速开始
1. 数据库
bash
cd car-rental-system
mysql -u root -p < sql/schema.sql
mysql -u root -p car_rental < sql/init-data.sql # 可选:测试数据
2. 后端
修改 car-rental-system/car-rental-app/src/main/resources/application.yml 中的数据库、Redis 配置后:
bash
cd car-rental-system
mvn clean install
cd car-rental-app
mvn spring-boot:run
3. 前端
bash
cd car-rental-frontend
npm install
npm run dev
浏览器访问:http://localhost:5173
4. 测试账号(init-data.sql 导入后)
| 用户名 | 密码 | 说明 |
|---|---|---|
| zhangsan | 123456 | 普通用户 |
| admin | 123456 | 管理员 |
也可使用手机号登录,如 13800138001 / 123456。
主要接口一览
- 认证 :
POST /api/auth/login、POST /api/auth/register - 用户 :
GET /api/user/info - 车辆 :
GET /api/cars/page、GET /api/cars/{id}、GET /api/cars/available - 订单 :
POST /api/orders、GET /api/orders/my、GET /api/orders/{id}、取消/支付 - 管理端 :
GET /api/admin/stats、/api/admin/cars增删改查、/api/admin/orders列表与状态更新
管理端接口需携带有效 JWT 且用户具备管理员角色(如 admin 账号)。