# quick-develop-template **Repository Path**: fspStudy/quick-develop-template ## Basic Information - **Project Name**: quick-develop-template - **Description**: Vue3+SpringBoot项目快速开发模板,简单完善后端yml配置即可使用(登录、退出登录、注册、修改密码、重置密码、个人资料修改、头像上传) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 2 - **Created**: 2023-08-07 - **Last Updated**: 2026-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 起因:个人开发过程经常会使用到Vue3+SpringBoot技术栈来开发项目,每次在项目初始化时都需要涉及一些重复的整理工作,于是结合一些个人觉得不错的前后端模板进行整合,打通一些大多数项目都需要的实现的基础功能,以便于快速开发项目。代码已按个人力所能及的规范编写,如有不足多多见谅~ # 一.功能预览 为了提高模板的通用性与精简性,只实现一些基础的功能: - 登录 \ 注册 - 密码修改 \ 重置 - 用户管理(增删改分页) - 个人信息查看 \ 修改 - 头像上传 - 根据后端接口快速生成前端请求接口 ## (1) 登录 登录、注册、修改密码、重置密码表单后端已实现基础的格式校验。 ![1](assert/1.jpg) ## (2) 注册 验证码方面都是采用邮箱验证码,可根据个人需要进行配置或者修改。参考博客: - [手机验证码](https://blog.csdn.net/m0_66570338/article/details/129041619) - [邮箱验证码](https://blog.csdn.net/m0_66570338/article/details/128994951) ![1](assert/2.jpg) ## (3) 重置密码 ![1](assert/3.jpg) ## (4) 主页 ![1](assert/4.jpg) ## (5) 用户管理 基础的增删改查功能,包括图片上传(admin角色状态展示) ![1](assert/5.jpg) ## (6) 修改密码 ![1](assert/6.jpg) ## (7) 个人信息 ![1](assert/7.jpg) ## (8) 编辑个人信息 ![1](assert/8.jpg) # 二.必备配置 上述预览效果必要配置项: - 前端 - 使用如下指令安装依赖包即可 ```bash # 1. 安装依赖包 pnpm install # 2. 启动项目 pnpm dev ``` - 修改后端项目后可执行如下命令快速生成接口 ```bash pnpm openapi ``` - 后端 - 根据`/sql`目录下的`/create_table.sql`创建表 - 修改`application.yml`文件中的 `MySQL数据库连接`、`Redis数据库连接` - 修改`/utils/CodeUtils.java`中的邮箱配置 - 完善阿里云oss配置 # 三.代码仓库 - 仓库地址:[https://gitee.com/fspStudy/quick-develop-template.git ](https://gitee.com/fspStudy/quick-develop-template.git) (前后端项目放在了同一个父目录中,可以根据需要分别管理) # 四.更新日志 - **2026/08/20(架构优化与安全加固)** - 后端 - 安全:移除提交进 git 的微信小程序 appSecret、MinIO 密钥等真实凭据,全部改为环境变量注入(`application-{profile}.yml`) - 安全:密码加密由 `MD5+固定盐` 升级为 BCrypt(`spring-security-crypto`),兼容旧 MD5 数据自动平滑升级 - 安全:WebSocket 握手增加 Session 鉴权,`sendId` 由服务端校验,无法伪造他人身份;会话标识改为服务端按双方 id 生成,杜绝串线 - 安全:聊天记录接口强制使用登录态身份,修复越权查看他人聊天记录的 IDOR 漏洞 - 安全:`User` 实体密码字段 `@JsonIgnore`,接口不再返回密码哈希 - 安全:请求日志对密码/验证码等敏感参数脱敏;全局异常处理器补全各类参数/上传异常处理 - 安全:文件上传改为按内容魔数识别真实类型并限制后缀(禁止 svg 防存储型 XSS),文件名不再信任客户端 - 依赖:移除有漏洞的 fastjson(改用 Jackson)、过时的 joda-time(改用 java.time)、旧版 javax.mail 组合(改用 spring-boot-starter-mail),微信依赖改为核心库 - 邮箱验证码:配置外置到 yml,增加 IP 发送频率限制与安全随机数 - 排序字段校验改为白名单正则;Session 仅存 userId;Dockerfile 改为多阶段构建 - 前端 - 修复:`baseURL` 硬编码 localhost 导致生产不可用,改为 `VITE_API_URL` 环境变量 + 开发代理 - 安全:移除"记住密码"用固定密钥 AES 加密(等于明文),改为仅记住邮箱 - 修复:`pnpm build` 生产构建注入 mock 的问题;pnpm 脚本跨平台(cross-env);补全缺失的 `lint:stylelint` 脚本 - 修复:登录页 Enter 键重复触发、验证码倒计时逻辑、路由 scrollBehavior Promise 永不 resolve - 依赖:升级 axios 至 1.7.x(修复 CVE-2023-45857),移除已无用的 crypto-js - Dockerfile 改用 node20 + pnpm9 与 lockfile 匹配,并补充 nginx 反向代理配置 - 微信小程序 - 仓库卫生:`node_modules`、`miniprogram_npm` 共 1402 个文件移出 git 并加入 .gitignore - 安全:移除 util.js 中泄露的腾讯地图 Key;WebSocket 连接携带登录 cookie(服务端握手鉴权) - 修复:`request.js` 的 `DETELE` 拼写错误;cookie 解析(不再原样回放整个 Set-Cookie);重连逻辑反置(手动断开才重连)等 - 配置:HTTP/WebSocket 地址统一由 `env.js` 管理,appid 改为占位符 - 清理:移除跳转未注册页面、`console.err` 等错误与死代码 - 网络层:重写 `request.js`(loading 改为「计数器+延迟隐藏」,修复并发请求下弹窗闪烁/丢失;header 深合并;拦截器调用兜底)、`http.js`(弹窗前隐藏 loading、错误提示防重复、免 cookie 接口可配置、超时/断网细分提示)、`env.js`(HTTP/WS 同源派生 + 容错) - **2026/03/15** - 后端:fix重复进行MapperScan,仅保留MyBatisPlusConfig - 微信小程序:请求响应拦截器http.js优化 - **2025/07/27** - 微信小程序:添加私聊功能,聊天列表,一对一私聊 - 后端:添加私聊功能,聊天列表,一对一私聊 - **2025/05/31** - 后端:修改华为云obs为腾讯云cos - **2025/05/30** - 微信小程序:添加`@`别称映射根路径 - 微信小程序:补充登录界面模板 - **2025/02/22** - 后端:去除es - 后端:使用thumbnailator对上传图片进行压缩 - **2024/12/17** - 后端:完善文件上传功能,使用工厂模式 + Spring配置化 配置多种对象存储源 - **2024/11/29** - 前端:添加图片/图片列表上传组件 - 前端:用户管理添加筛选查询 - 前端:完善顶部导航栏和左侧导航栏 - 前端:抽离头像下拉框组件 - 前端:借鉴ant design pro修改登录界面 - 前端:主页添加背景图片 - **2024/11/8** - 前端:整合`@umijs/plugin-openapi`可根据后端接口文档[快速生成前端接口](https://www.npmjs.com/package/@umijs/plugin-openapi) - 前端:重新封装`pure admin`请求工具类适配接口生成工具 - 项目:去除账号字段,将邮箱改为登录账号 - **2024/6/23** - 前端:使用 `Prettier/ESLint` 规范代码 - 前端:去除动态路由配置 - 前端:登录记住密码 - 后端:修复全局替换导致的配置错误