SpringBoot3+Vue3+MySQL 客户关系管理系统源码 前后端分离实战

📅 2026/8/6 15:47:41
SpringBoot3+Vue3+MySQL 客户关系管理系统源码 前后端分离实战
一、项目简介本项目是一套面向中小型企业的客户关系管理系统CRM采用前后端分离架构。后端基于 Spring Boot 3 提供 RESTful API前端基于 Vue 3 构建单页应用数据存储使用 MySQL。系统内置三种角色管理员负责全局配置与业务数据管理员工负责跟进客户与合同普通用户可浏览产品、查看合同、提交反馈并与客服在线沟通。核心业务覆盖客户、合同、产品、广告公告、反馈处理、在线客服以及基于协同过滤的个性化推荐适合作为企业级业务系统的学习范本或二次开发基础。二、技术栈技术说明后端框架Spring Boot 3ORMMyBatis-Plus含分页插件权限认证自定义 Token 管理器 AuthInterceptor 拦截器前端框架Vue 3 (Composition API)状态管理Pinia构建工具ViteUI 组件库Element Plus路由Vue Router (history 模式含路由守卫)数据库MySQL文件上传Spring MultipartFile 本地存储密码加密Hutool MD5三、功能模块管理员端仪表盘统计展示客户数、员工数、产品数、合同数、待处理反馈数及生效合同数为运营决策提供数据总览。员工账号管理支持分页列表展示按昵称模糊搜索可新增、编辑、删除员工账号并支持一键重置密码为 123456。客户账号管理支持分页列表展示按昵称模糊搜索可新增、编辑、删除客户账号并支持重置密码。产品管理维护产品信息包括名称、分类、价格、描述、图片和上下架状态支持分页列表、按名称搜索及增删改操作。合同管理管理合同全生命周期字段包含合同编号、客户、员工、金额、签订日期、附件等支持按编号和状态筛选可上传附件。广告/轮播图管理配置首页轮播图设置标题、图片、跳转链接、排序值及启用状态status1 时前端展示。公告管理发布系统公告设置标题、内容、状态前端仅展示启用且按时间倒序排列的公告。反馈处理查看待处理反馈列表对用户反馈进行回复回复后状态置为 replied 并记录回复时间。系统设置以键值对形式维护系统参数支持新增、编辑、保存提供公开接口供前端获取设置 Map。个人信息与安全管理员可更新头像、昵称、手机、邮箱修改登录密码时需验证原密码MD5 加密比对。普通用户端产品浏览查看产品列表支持按名称或分类筛选分页展示点击进入产品详情页查看完整信息。行为记录浏览产品、发起咨询、提交评分等行为会被记录作为协同过滤推荐的数据基础。物品协同过滤推荐基于用户历史行为计算产品间的余弦相似度为用户推荐相似产品。用户协同过滤推荐根据相似用户的偏好为用户推荐其可能感兴趣的产品。合同查看按当前登录客户 ID 过滤合同列表支持分页和详情查看便于掌握自身业务往来。反馈提交与跟踪填写标题和内容提交反馈系统自动关联当前用户 ID 并置为 pending 状态可查看个人反馈列表及管理员的回复内容。在线客服与客服人员实时聊天支持发送消息、接收回复消息按时间顺序排列。广告与公告首页展示启用中的广告轮播按 sort_order 排序公告列表仅展示启用且按创建时间倒序。个人中心更新个人资料昵称、头像、手机、邮箱修改登录密码需验证原密码 MD5。员工端仪表盘统计展示个人负责的合同总数、生效合同数、系统总客户数及产品数便于掌握工作概览。客户列表分页查看系统客户支持按昵称搜索便于快速定位目标客户。合同管理查看本人负责的合同列表按 employee_id 过滤支持按合同状态筛选方便跟进销售进度。在线客服查看与客户的聊天记录发送消息回复客户获取曾聊天的客户列表以便快速切换会话。个人信息与安全更新头像、昵称、手机、邮箱修改登录密码需验证原密码 MD5。四、项目总结本项目技术栈主流且版本较新Spring Boot 3 Vue 3前后端分离架构清晰代码结构规范注释完整。亮点在于一是内置完整的 RBAC 三种角色权限体系基于 Token 拦截器实现便于理解前后端认证交互流程二是实现了两种协同过滤推荐算法展示了如何在业务系统中落地机器学习基础方法三是功能覆盖面广从常规 CRUD 到文件上传、在线聊天、仪表盘统计均有涉及非常适合作为课程设计、毕业设计或企业级项目的起步模板。数据库脚本和万字文档随源码交付降低了学习和二次开发的门槛。界面展示交付内容本项目为完整交付包含完整后端源码完整前端源码数据库初始化脚本SQL万字项目文档设计文档 / 论文可作课程设计、毕业设计参考获取完整源码完整前后端源码 数据库脚本 万字项目文档见 Gitee 仓库https://gitee.com/kangxihuang/src-K262