Spring Boot 3 + Vue 3 + MySQL 个性约拍预约系统源码前后端分离实战
一、项目简介
个性约拍预约系统是一套基于 Spring Boot 3 + Vue 3 前后端分离的约拍管理平台,旨在为摄影约拍场景提供在线预约、订单管理和作品展示的全流程解决方案。系统采用前后端分离架构,后端提供 RESTful API,前端通过 Vue Router 实现单页应用。系统包含三个角色:普通用户端(浏览作品、预约下单、管理订单)、摄影师端(管理作品/套餐、处理订单、上传交付物)、管理员端(数据看板、用户管理、订单监管)。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.2 |
| ORM | MyBatis-Plus 3.5.5 |
| 权限控制 | 自定义 JWT Token 拦截器(AuthInterceptor) |
| 前端框架 | Vue 3.4(Composition API) |
| 状态管理 | Pinia |
| 构建工具 | Vite |
| UI 组件库 | Element Plus |
| 路由 | Vue Router 4(createWebHistory) |
| 数据库 | MySQL 8(含完整建表 SQL) |
| 文件上传 | Spring MultipartFile + 本地存储 |
三、功能模块
管理员端
- 数据看板:统计普通用户数、摄影师数、总订单数、作品总量、待确认订单数、已完成订单数,以卡片形式展示核心指标。
- 最近订单列表:展示最近 5 条订单,包含订单编号、客户昵称、摄影师昵称、订单状态,方便快速查看最新动态。
- 用户管理列表:按角色筛选(普通用户/摄影师),支持按用户名、昵称、手机号搜索,列表展示 ID、头像、昵称、角色、手机号、状态、注册时间。
- 启用/禁用用户:切换用户账号的启用或禁用状态,禁用后用户无法登录系统。
- 重置用户密码:一键将指定用户的密码重置为 123456,用于密码找回或账号恢复。
- 删除用户账号:物理删除指定用户及其关联数据(需确认操作)。
- 订单管理列表:按订单状态筛选,支持按订单编号搜索,列表展示订单编号、客户昵称、摄影师昵称、拍摄日期、金额、状态、创建时间。
- 查看任意订单详情:展示客户信息、摄影师信息、套餐信息、订单内的消息列表、交付物列表,支持全面审计。
普通用户端
- 浏览摄影师列表:支持按风格(如清新、复古、日系)、地区筛选,按评分排序,展示摄影师头像、昵称、风格标签、评分。
- 查看摄影师详情:包含个人简介、风格、评分、从业年限、所在地区、作品集(缩略图列表)、套餐列表(名称、价格、时长)。
- 浏览公开作品列表:支持按分类筛选(人像、风光、宠物等),展示作品封面、标题、摄影师昵称与头像。
- 查看作品详情:展示作品标题、描述、多张图片、摄影师信息,可点击进入摄影师主页。
- 创建预约订单:选择目标摄影师、选定套餐,填写拍摄日期、拍摄时间、拍摄地点、需求描述,提交后生成待确认订单。
- 查看我的订单列表:支持按状态筛选(待确认/已确认/拍摄中/修片中/已交付/已完成/已取消),展示订单编号、金额、状态、套餐名称。
- 查看订单详情:包含客户信息、摄影师信息、套餐信息、订单消息历史、交付物列表(已交付时可见)。
- 在订单内发送消息:指定接收人(摄影师),填写消息内容,记录发送者、接收者、发送时间、内容,用于订单沟通。
- 修改个人资料:可修改昵称、手机号、邮箱、上传头像。
- 修改登录密码:需验证原密码,输入新密码并确认。
- 用户注册:填写用户名、密码、手机号、邮箱,选择注册为普通用户或摄影师角色,注册成功后自动创建对应的摄影师档案(若选择摄影师角色)。
摄影师端
- 查看个人工作台:统计展示作品数量、套餐数量、待处理订单数、总订单数,快速了解经营概况。
- 管理作品集:新增作品(填写标题、描述、上传封面、多张图片、选择分类、添加标签),支持编辑和删除已有作品。
- 管理套餐:新增套餐(填写名称、描述、价格、时长、场景类型、包含内容),支持编辑和删除已有套餐。
- 查看收到的订单列表:支持按状态筛选,展示客户昵称、套餐名称、订单金额、创建时间。
- 查看订单详情:包含客户信息、套餐信息、订单消息历史、交付物列表。
- 更新订单状态:在订单详情页将状态依次推进为待确认、已确认、拍摄中、修片中、已交付、已完成、已取消,状态变更会同步给客户。
- 创建订单交付物:在订单详情页上传交付物(填写标题、描述、上传图片),提交后订单状态自动变为“已交付”。
- 在订单内发送消息:与客户沟通,填写消息内容,记录发送者、接收者、发送时间、内容。
- 编辑个人档案:修改风格标签、个人简介、从业年限、所在地区、服务范围、封面图。
- 查看/编辑个人资料:修改昵称、头像、手机号、邮箱。
四、项目总结
本项目技术亮点包括:采用 Spring Boot 3 + Vue 3 最新版本,前后端分离架构清晰;使用 JWT Token 实现无状态权限控制,易于扩展;MyBatis-Plus 简化数据库操作,配合 MySQL 8 建表脚本开箱即用。系统覆盖约拍预约业务的完整闭环,从用户注册、浏览作品、预约下单、订单管理到交付物上传,适合作为 Spring Boot + Vue 全栈开发的实战学习项目,也可作为摄影平台类系统的二次开发基础。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K166
