# 电影院在线购票系统 **Repository Path**: cxy63336/cinema ## Basic Information - **Project Name**: 电影院在线购票系统 - **Description**: 电影院在线购票系统,包括热映电影、在线选座购票、订单管理等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-10 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电影院售票管理系统 基于SpringBoot + MyBatis + Vue.js的前后端分离电影院售票管理系统。 ## 项目简介 本项目是一个完整的电影院售票管理系统,包含前台用户购票系统和后台管理系统。采用现代化的前后端分离架构,适用于中小型电影院的信息化管理需求。 ![输入图片说明](https://moyan-1258902887.cos.ap-guangzhou.myqcloud.com/bishe/cinema/p1.png) ![输入图片说明](https://moyan-1258902887.cos.ap-guangzhou.myqcloud.com/bishe/cinema/p2.jpg) ![输入图片说明](https://moyan-1258902887.cos.ap-guangzhou.myqcloud.com/bishe/cinema/p3.jpg) ![输入图片说明](https://moyan-1258902887.cos.ap-guangzhou.myqcloud.com/bishe/cinema/p5.png) ## 技术栈 | 层级 | 技术选型 | |------|----------| | 后端框架 | SpringBoot 3.x | | 数据持久层 | MyBatis + MySQL | | 安全认证 | JWT (JSON Web Token) | | 前端框架 | Vue.js 3.x + TypeScript | | UI组件库 | Element Plus | | 构建工具 | Vite | ## 项目结构 ``` cinema/ ├── cinema-api/ # 后端SpringBoot项目 │ ├── src/main/java/com/cinema/ │ │ ├── controller/ # 控制器层 │ │ │ ├── admin/ # 后台管理接口 │ │ │ └── user/ # 用户端接口 │ │ ├── dao/ # 数据访问层 │ │ │ ├── mapper/ # MyBatis Mapper接口 │ │ │ └── model/ # 实体类 │ │ ├── service/ # 业务逻辑层 │ │ ├── utils/ # 工具类 │ │ └── author/ # 认证授权模块 │ └── src/main/resources/ │ ├── application.properties # 配置文件 │ └── mapper/ # MyBatis XML映射文件 │ └── cinema-vue/ # 前端Vue项目 ├── src/ │ ├── views/ # 页面组件 │ │ ├── admin/ # 后台管理页面 │ │ └── front/ # 用户前台页面 │ ├── components/ # 公共组件 │ ├── utils/ # 工具函数 │ └── router/ # 路由配置 └── static/ # 静态资源 ``` ## 核心功能 ### 用户前台 - 📽️ **电影浏览**:查看当前正在上映的电影列表 - 🎬 **电影详情**:查看电影详细信息、排片时间 - 💺 **在线选座**:可视化座位选择界面 - 📝 **订单管理**:查看历史订单、订单状态跟踪 ### 后台管理 - 🎥 **电影管理**:电影信息维护、上下架管理 - 🏛️ **影厅管理**:影厅信息、座位配置管理 - 📅 **排片管理**:放映计划安排、场次管理 - 👥 **用户管理**:会员信息管理 - 📊 **订单管理**:订单查看、状态处理 - 🖼️ **轮播图管理**:首页广告图配置 ## 数据库设计 ### 核心数据表 - `movie` - 电影信息表 - `hall` - 影厅信息表 - `schedule` - 放映计划表 - `ticket_order` - 电影票订单表 - `order_seat` - 订单座位明细表 - `sold_seat` - 已售座位记录表 - `user` - 用户信息表 - `admin` - 管理员信息表 - `slide_pic` - 首页轮播图表 ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 18+ - MySQL 8.0 ### 1. 数据库配置 ```bash # 创建数据库 CREATE DATABASE cinema_system DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 导入数据脚本 mysql -u username -p cinema_system < cinema_system.sql ``` SQL脚本位于:`cinema-api/src/main/data/cinema_system.sql` ### 2. 后端部署 ```bash # 使用IDEA导入cinema-api项目 # 确保使用JDK 17 # 编译运行 Application.java 启动服务 ``` 默认服务端口:8080 ### 3. 前端部署 ```bash cd cinema-vue # 安装依赖 npm install # 开发模式启动 npm run dev # 生产模式构建 npm run build ``` 访问地址:http://localhost:5173 ## API接口文档 ### 用户端接口 | 接口路径 | 说明 | |---------|------| | `GET /api/movie/list` | 获取电影列表 | | `GET /api/movie/detail/{id}` | 获取电影详情 | | `GET /api/book/schedule/{id}` | 获取放映场次信息 | | `POST /api/book/create/order` | 创建订单 | | `GET /api/order/myorders` | 我的订单列表 | ### 管理端接口 | 接口路径 | 说明 | |---------|------| | `POST /admin/login` | 管理员登录 | | `GET /admin/movie/list` | 电影列表管理 | | `POST /admin/movie/save` | 保存电影信息 | | `GET /admin/order/list` | 订单列表管理 | ## 项目特点 - ✅ 前后端分离架构,职责清晰 - ✅ JWT无状态认证,安全高效 - ✅ 实时座位状态显示,防止超售 - ✅ 定时任务自动更新放映状态 - ✅ 响应式界面设计,适配多端 - ✅ 完整的权限控制体系 ## 许可证 本项目仅供学习研究使用。