项目背景
随着互联网技术的普及,摄影行业正从传统线下模式向线上平台转型。现有的摄影服务平台往往功能单一,缺乏个性化的服务与管理工具。为了解决这一问题,我们设计并实现了一套基于前后端分离架构的网上摄影工作室管理系统。该系统旨在整合摄影资源,优化服务流程,提升用户体验,同时为摄影师和用户搭建高效的沟通桥梁。
系统采用 Vue.js 构建前端交互界面,SpringBoot 搭建后端服务层,MySQL 存储数据,并通过 MyBatis 实现持久化操作。主要功能涵盖用户管理、摄影作品展示、在线预约、订单管理及评论互动等模块,支持多角色权限控制以确保数据安全。
技术架构
后端:Spring Boot
作为现代 Java 企业级开发的核心框架,Spring Boot 通过'约定优于配置'的设计哲学简化了应用开发。其核心特性包括零配置启动、嵌入式服务器(Tomcat/Jetty/Undertow)以及生产就绪的 Actuator 监控组件。Starter 依赖体系让开发者能聚焦于业务逻辑,而无需过多关注底层基础设施。
前端:Vue.js
Vue.js 以其渐进式设计和响应式数据流成为前端开发的首选。单文件组件(SFC)实现了样式、逻辑与模板的完美封装,配合 Vue Router 和 Pinia 等官方工具链,能够高效构建复杂的 SPA 解决方案。TypeScript 支持和开发者工具则为大型项目的维护提供了可靠保障。
数据库设计
用户信息表 (user_info)
用于存储注册用户的基本信息,包括角色、登录凭证和个人资料。用户 ID 为主键,注册时间由系统自动获取。
| 字段名 | 数据类型 | 是否为空 | 描述 |
|---|---|---|---|
| user_id | BIGINT | 否 | 用户唯一标识(主键) |
| user_name | VARCHAR(50) | 否 | 用户昵称 |
| user_email | VARCHAR(100) | 否 | 用户邮箱(登录账号) |
| user_password | VARCHAR(100) | 否 | 用户密码(加密存储) |
| user_avatar | VARCHAR(255) | 是 | 用户头像 URL |
| user_role | TINYINT | 否 | 用户角色(0-普通用户,1-摄影师,2-管理员) |
| create_time | DATETIME | 否 | 用户注册时间 |
| update_time | DATETIME | 否 | 最后更新时间 |
摄影作品表 (photo_work)
存储摄影师上传的作品信息,包含标题、描述、分类及图片 URL。摄影师 ID 作为外键关联用户表。
| 字段名 | 数据类型 | 是否为空 | 描述 |
|---|---|---|---|
| work_id | BIGINT | 否 | 作品唯一标识(主键) |
| photographer_id | BIGINT | 否 | 摄影师 ID(外键) |
| work_title | VARCHAR(100) | 否 |


