资讯动态

SpringBoot3+Vue3+MySQL 电影购票评价系统源码 前后端分离实战项目

发布时间:2026/8/6 17:43:35 来源:尧图企业网站定制
一、项目简介本项目是一个基于 Spring Boot 3 Vue 3 MySQL 的在线电影购票与评价系统采用前后端分离架构。后端提供 RESTful API前端通过 Vue 3 单页应用消费接口。系统包含普通用户端和管理员端两个角色普通用户可完成注册登录、浏览电影、选座购票、订单管理、发表评价等完整购票闭环管理员可对电影、影厅、场次、订单、评价、轮播图等核心业务数据进行维护并通过仪表盘实时掌握平台运营概况。项目内置定时任务自动清理过期座位锁定保证并发场景下座位数据的一致性。二、技术栈技术说明后端框架Spring Boot 3ORMMyBatis-Plus分页插件、自动填充、逻辑删除权限认证JWT自定义拦截器 RequestAttribute 角色校验前端框架Vue 3Composition API script setup状态管理Pinia用户状态存储前端路由Vue Router 4历史模式路由守卫鉴权UI 组件库Element Plus构建工具Vite数据库MySQL含初始化 schema 和 data SQL 脚本工具库HutoolMD5 加密、雪花ID、JacksonJSON 处理三、功能模块普通用户端用户注册填写用户名至少 3 位、密码至少 6 位、昵称注册成功后自动登录并赋予普通用户角色。用户登录通过用户名和密码登录后端校验后返回 JWT token 和用户信息前端存储于 Pinia 并持久化。首页轮播图展示状态为启用的轮播图列表按排序字段升序排列点击可跳转至关联电影详情页。浏览电影列表支持分页展示可按关键字标题/演员/导演、类型、状态筛选默认按评分降序排列。电影详情页展示电影基本信息、场次列表仅显示未开始且状态正常的场次、用户评价列表。热门电影展示评分最高的 10 部上映中电影用于首页推荐位。即将上映展示即将上映的电影按上映日期升序排列便于用户提前了解新片。电影推荐未登录用户返回高评分电影已登录用户根据购票历史中的电影类型推荐同类型未看过的电影不足时补充高分电影。选座购票选择场次后查看座位布局支持多选座位提交订单前锁定座位 15 分钟锁定期间其他用户不可选。座位状态查看查看指定场次所有座位的锁定状态已锁定/已售出并区分当前用户与其他用户的锁定。创建订单提交所选座位后生成订单包含唯一订单号、电影、场次、座位 JSON、总价初始状态为待支付。支付订单对待支付订单执行支付操作支付成功后座位状态更新为已售出。取消订单取消待支付订单释放座位锁定并恢复场次可用座位数。退款对已支付但未开场的订单申请退款释放座位并恢复可用座位数。完成订单将已支付订单标记为已完成订单流转闭环。我的订单查看当前用户的所有订单列表包含电影标题、海报、影厅名称、场次时间、座位信息、总价、状态。发表评价对已购电影发表评分1-5 分和文字评价每个用户对同一电影仅可评价一次评价后自动更新电影平均评分和评分人数。个人资料修改修改昵称、手机号、邮箱、头像头像通过文件上传接口获取 URL。修改密码输入原密码和新密码至少 6 位验证原密码正确后更新。文件上传上传图片文件返回可访问的 URL 路径用于头像和轮播图等场景。管理员端仪表盘概览展示注册用户总数、电影总数、总订单数、总收入已支付/已完成订单近 7 日订单趋势图热门电影 TOP5按评分降序。用户管理分页查看用户列表支持按用户名/昵称搜索可启用/禁用用户账号可重置用户密码为 123456。电影管理分页查看电影列表支持按标题搜索可添加电影标题、海报、导演、演员、类型、时长、上映日期、状态、国家、语言、简介可编辑、删除电影。影厅管理查看所有影厅列表可添加影厅名称、类型标准厅/IMAX/3D/VIP、行数、列数自动计算座位数可编辑、删除影厅。场次管理分页查看场次列表显示关联电影、影厅、时间、价格、剩余座位可添加场次选择电影、影厅、开始时间、价格自动计算结束时间和可用座位数可编辑、删除场次。订单管理分页查看所有订单列表包含用户信息、电影、场次、座位、金额、状态可修改订单状态。评价管理分页查看所有用户评价包含评价人、电影、评分、内容可启用/禁用评价可删除评价。轮播图管理查看轮播图列表图片预览、标题、关联电影 ID、排序、状态可添加、编辑、删除轮播图。定时任务每分钟自动清理过期的座位锁定锁定超过 15 分钟未支付并恢复对应场次的可用座位数。四、项目总结本项目的技术亮点在于完整实现了电影购票业务的核心链路包括座位锁定与释放、订单状态流转待支付/已支付/已完成/已取消/已退款、基于用户行为的个性化推荐以及定时任务保障数据一致性。前后端分离架构清晰JWT 鉴权与路由守卫配合实现细粒度权限控制。项目附带数据库初始化脚本和万字文档适合作为 Spring Boot 3 Vue 3 全栈开发的实战学习项目也适合在此基础上进行二次开发如接入真实支付网关、增加会员体系或扩展影院管理功能。界面展示交付内容本项目为完整交付包含完整后端源码完整前端源码数据库初始化脚本SQL万字项目文档设计文档 / 论文可作课程设计、毕业设计参考获取完整源码完整前后端源码 数据库脚本 万字项目文档见 Gitee 仓库https://gitee.com/kangxihuang/src-K254

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价