目录
一、项目背景
二、技术介绍
三、功能介绍
四、代码设计
五、系统实现
一、项目背景
随着社会经济的快速发展和人们生活水平的不断提高,化妆品已成为现代人日常生活中不可或缺的消费品。据统计,我国化妆品市场规模持续扩大,线上线下销售渠道日益多元化,消费者对化妆品的品质、功效和安全性要求也愈发严格。然而,当前市场上针对化妆品精细化管理的系统工具相对匮乏,多数商家仍依赖传统人工记录或通用进销存软件进行管理,难以满足化妆品行业特有的批次追踪、保质期预警、成分备案等多维度管理需求。
一方面,化妆品具有品类繁多、规格复杂、更新迭代快等特点,同时国家对化妆品质量安全监管政策不断收紧,对化妆品的生产、流通和备案环节提出了更高要求;另一方面,作为消费端的用户,往往面临化妆品信息不对称、使用记录缺失、过敏成分难追溯等问题,缺乏一个集个人信息管理、产品查询和科学使用规划于一体的便捷平台。
基于上述现实需求,本课题旨在设计并实现一套基于SpringBoot和Vue的化妆管理系统。系统采用当前主流的前后端分离架构,后端以SpringBoot框架为核心,结合MyBatis-Plus实现数据持久化,利用MySQL数据库存储管理信息;前端则采用Vue.js框架,搭配Element Plus组件库构建响应式、友好的用户交互界面。系统拟实现化妆品信息管理、库存预警、批次追溯、个人妆容记录、使用计划提醒等核心功能,为商家提供高效、规范的管理工具,同时也为消费者搭建个性化的化妆品管理服务平台。
本课题的研究与实施,不仅能够有效整合化妆品信息管理流程,提升运营效率和用户体验,还能帮助使用者科学管理化妆品使用周期、避免资源浪费,具有一定的实际应用价值和推广意义。同时,通过该项目的完整开发实践,有助于深化对前后端分离开发模式的理解,提升软件系统分析与设计能力,为今后从事企业级应用开发奠定坚实基础。
二、技术介绍
技术栈:
前端:Vue3/AntDesignVue/Vite/Pinia/Axios
后端:SpringBoot3/MyBatisPlus/JWT/SpringSecurity/Knife4j/Log4j2
数据库:MySQL8
本系统采用前后端分离的开发架构,前端基于Vue3框架,结合Vite构建工具实现快速启动和热更新,显著提升开发效率。UI组件库选用Ant Design Vue,其丰富的企业级组件能够快速搭建美观、一致的用户界面。状态管理采用Pinia,相较于Vuex更加轻量且类型安全,便于管理用户信息、化妆品分类数据等全局状态。HTTP请求通过Axios库统一封装,配置请求拦截器和响应拦截器,实现JWT令牌自动注入、请求超时处理、错误统一提示等功能,保障前后端通信的可靠性与安全性。
后端基于SpringBoot3框架,利用其自动配置和Start依赖简化项目搭建。数据持久层采用MyBatis-Plus,结合Lambda表达式构建类型安全的条件查询,并通过其分页插件实现列表数据的高效分页展示。权限控制方面,整合SpringSecurity框架与JWT令牌机制,对用户登录、注册及敏感操作进行认证与授权,同时利用SpringSecurity的方法级权限注解,实现细粒度的功能权限管控。接口文档使用Knife4j生成,其增强的Swagger UI界面便于开发过程中前后端联调以及后续接口维护。日志记录采用Log4j2框架,通过配置不同级别的日志输出,为系统调试、异常追踪和操作审计提供有力支持。数据存储选用MySQL8,利用其支持JSON数据类型的特性,便于存储化妆品成分标签、用户偏好等半结构化信息,同时通过索引优化和事务管理,确保数据的一致性和查询性能。综上,该技术组合兼具现代化、稳定性和可扩展性,能够满足化妆管理系统的业务需求和技术实现要求。
三、功能介绍
功能介绍:
普通用户端功能:
账户模块:用户注册;用户登录;忘记密码;修改密码;更新个人信息
预约服务模块:浏览服务套餐;预约下单;查看订单详情;取消订单
收藏模块:收藏化妆师;收藏套餐;收藏饰品;收藏服装
优惠券模块:领取优惠券;查看可用优惠券
会员模块:查看会员等级;查看积分信息
自定义方案模块:创建自定义方案;查看方案列表
评价模块:提交多维度评价;查看历史评价
工单模块:创建售后工单;查看工单进度
通知模块:查看系统通知;标记已读;删除通知
租赁模块:浏览饰品列表;浏览服装列表;查看租赁详情
化妆师端功能:
工作台模块:数据概览;查看统计信息
订单模块:查看订单列表;接单;更新订单状态;查看收入统计
服务管理模块:管理服务套餐;管理饰品;管理服装
评价模块:查看评价列表;回复评价
培训模块:查看课程列表;学习课程;参加在线考试;查看考试记录
认证模块:查看认证证书
通知模块:查看通知;标记已读
个人中心模块:更新个人资料;修改密码
管理员端功能:
用户管理模块:添加用户;删除用户;重置密码;批量删除;启用禁用;分页查询
化妆师管理模块:化妆师列表;审核入驻申请;资质审核
服务审核模块:审核服务套餐;审核饰品;审核服装
订单管理模块:订单列表;订单查询
配置管理模块:服务场景管理;妆容风格管理;字典管理
工单模块:查看工单列表;处理售后工单
通知模块:系统通知管理
数据统计模块:数据大屏;订单统计;收入统计;租赁统计
系统设置模块:数据库备份恢复;操作日志查询;文件管理;系统参数配置
亮点功能:
多维度评价体系:技能态度准时三维独立评分
自定义服务方案:自由搭配场景风格套餐饰品服装自动计价
AOP自动记录日志:注解驱动自动记录操作人方法参数IP地址
数据库一键备份恢复:Admin后台直接执行mysqldump备份与还原
四、代码设计
// stores/user.js import { defineStore } from 'pinia' export const useUserStore = defineStore('user', { state: () => ({ token: '', userInfo: null }), actions: { login(data) { this.token = data.token this.userInfo = data.user localStorage.setItem('token', data.token) }, logout() { this.token = '' this.userInfo = null localStorage.removeItem('token') } }, persist: true })