项目名称: Java 商城系统
版本: 0.0.1-SNAPSHOT
技术栈:
- 后端: Spring Boot 2.5.5 + MyBatis-Plus + MySQL
- 前端: Vue 3 + Vite 4 + Ant Design Vue
优先级: P0 - 高风险
背景: 项目存在多个安全漏洞,需要进行全面审查和修复。
问题清单:
| ID | 问题 | 文件 | 风险等级 |
|---|---|---|---|
| H1 | 评论创建无权限验证 | CommentController.java | 高风险 |
| H2 | 路由守卫逻辑缺陷 | router/index.js | 高风险 |
| H3 | 配置文件硬编码敏感信息 | application.yml | 高风险 |
| M1 | 验证码验证逻辑不完整 | UserServiceImpl.java | 中风险 |
| M2 | JWT 密钥管理不安全 | application.yml | 中风险 |
| M3 | 文件上传安全增强 | UserController.java | 中风险 |
| M4 | 支付配置占位符 | application.yml | 中风险 |
验收标准:
- 所有高风险问题修复完成
- 所有中风险问题修复完成
- 敏感信息不再硬编码
- 权限控制生效
优先级: P0 - 高风险
背景: 前台后台产品图片无法正常显示。
问题分析:
-
后端缺少静态资源映射
- 当前
MyConfig.java只配置了 CORS 和拦截器 - 没有配置
/api/upload/image/**到文件目录的映射 - 前端请求图片 URL 时,后端无法返回文件
- 当前
-
图片 URL 格式
- 前端拼接格式:
http://localhost:9101/api/upload/image/{filename} - 实际存储路径:
d:/projects/java_shop/server/upload/image/
- 前端拼接格式:
-
文件上传配置
- 最大文件大小: 1MB
- 上传目录:
${BASE_LOCATION}/upload
解决方案:
- 在
MyConfig.java添加静态资源映射:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/image/**")
.addResourceLocations("file:" + uploadPath + "/image/");
registry.addResourceHandler("/upload/avatar/**")
.addResourceLocations("file:" + uploadPath + "/avatar/");
}- 确保上传目录存在
验收标准:
- 前台商品图片正常显示
- 后台商品图片正常显示
- 用户头像正常显示
- 图片上传功能正常
优先级: P1 - 中风险
背景: 前台网页加载缓慢,需要排查原因并优化。
当前状态分析:
| 项目 | 当前状态 | 评估 |
|---|---|---|
| 路由懒加载 | 全部使用 () => import() |
✅ 已优化 |
| Gzip 压缩 | 阈值 10KB | ✅ 已配置 |
| API 超时 | 15 秒 | |
| 图片加载 | 无懒加载/压缩 | ❌ 需优化 |
| BASE_URL | 硬编码 localhost |
潜在问题:
-
图片未优化
- 无图片懒加载
- 无图片压缩
- 无 WebP 格式支持
-
API 请求优化
- 无请求缓存
- 无并发控制
- 超时时间过长
-
资源加载
- 无 CDN 加速
- 无 Service Worker 缓存
解决方案:
- 添加图片懒加载组件
- 优化图片加载策略
- 添加 API 请求缓存
- 优化 Vite 构建配置
验收标准:
- 首页加载时间 < 3 秒
- 图片懒加载生效
- 无不必要的网络请求
- 保持向后兼容性,不破坏现有功能
- 环境变量需要有默认值,确保开发环境可运行
- 所有修改需要通过编译和测试
- Java 版本保持 11 兼容
| 文件 | 修改内容 |
|---|---|
| CommentController.java | 添加权限注解 |
| MyConfig.java | 添加静态资源映射 |
| application.yml | 敏感信息环境变量化 |
| UserController.java | 文件上传安全增强 |
| 文件 | 修改内容 |
|---|---|
| router/index.js | 修复路由守卫逻辑 |
| store/constants.ts | BASE_URL 环境变量化 |
| 图片组件 | 添加懒加载 |
- 修复评论权限问题
- 修复路由守卫逻辑
- 配置环境变量化
- 添加静态资源映射
- 验证图片显示功能
- 添加图片懒加载
- 优化 API 请求
- 性能测试验证
- 用户登录功能正常
- 评论创建需要登录
- 商品图片正常显示
- 用户头像正常显示
- 路由导航正常
- 首页加载时间 < 3 秒
- 无控制台错误
- 图片懒加载生效
- 敏感信息不再硬编码
- 权限控制生效
- 文件上传验证生效