feat: 初始化考培练系统项目

- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
111
2026-01-24 19:33:28 +08:00
commit 998211c483
1197 changed files with 228429 additions and 0 deletions

123
知识库/BUG_REPORT.md Normal file
View File

@@ -0,0 +1,123 @@
# Kaopeilian 项目 Bug 检查报告
## 检查时间
2025年9月21日
## 检查范围
- kaopeilian-backend (后端项目)
- kaopeilian-frontend (前端项目)
## 发现的问题
### 1. 前端问题
#### 1.1 CSS 兼容性问题 ✅ 已修复
**文件**: `kaopeilian-frontend/src/layout/index.vue:429`
**问题**: 缺少标准的 `background-clip` 属性,只有 `-webkit-background-clip`
**影响**: 在非 WebKit 浏览器中可能显示异常
**修复**: 已添加标准的 `background-clip: text;` 属性
#### 1.2 控制台日志使用
**文件**: 多个文件中使用 `console.error``console.warn`
**问题**: 生产环境中应该使用结构化日志
**建议**: 考虑使用统一的日志管理系统
### 2. 后端问题
#### 2.1 安全配置问题 ⚠️ 需要关注
**文件**: `kaopeilian-backend/app/core/config.py`
**问题**:
- 默认 SECRET_KEY 为 "your-secret-key-here"
- 默认数据库密码为 "password"
- DEBUG 模式默认开启
**影响**: 生产环境安全风险
**建议**:
- 使用环境变量设置强密码
- 生产环境关闭 DEBUG 模式
- 使用随机生成的 SECRET_KEY
#### 2.2 密码哈希算法 ⚠️ 需要改进
**文件**: `kaopeilian-backend/simple_main.py:57`
**问题**: 使用简单的 SHA256 哈希,没有盐值
**影响**: 容易被彩虹表攻击
**建议**: 使用 bcrypt 或 Argon2 等安全的密码哈希算法
#### 2.3 异常处理覆盖率
**状态**: ✅ 良好
**发现**: 代码中有大量的 try-catch 块和自定义异常处理
**优点**:
- 使用了自定义异常类 (ConflictError, NotFoundError, etc.)
- HTTP 异常处理规范
- 数据库操作有适当的异常处理
#### 2.4 SQL 注入防护
**状态**: ✅ 良好
**发现**:
- 使用参数化查询 (如 `cursor.execute("SELECT ... WHERE username = %s", (username,))`)
- SQLAlchemy ORM 提供了内置的 SQL 注入防护
- 没有发现字符串拼接构建 SQL 的情况
### 3. 代码质量问题
#### 3.1 日志记录
**状态**: ⚠️ 可以改进
**问题**:
- 前端使用 console.* 方法
- 后端日志级别配置合理,但部分文件可能缺少日志记录
**建议**: 统一日志管理策略
#### 3.2 错误处理
**状态**: ✅ 良好
**优点**:
- 后端有完整的异常处理体系
- 前端有错误处理工具 (`errorHandler.ts`)
- API 调用有适当的错误处理
#### 3.3 类型安全
**状态**: ✅ 良好
**优点**:
- 后端使用 Pydantic 进行数据验证
- 前端使用 TypeScript
- API 接口有明确的类型定义
## 修复优先级
### 高优先级 🔴
1. 生产环境配置安全 (SECRET_KEY, 数据库密码, DEBUG 模式)
2. 密码哈希算法升级
### 中优先级 🟡
1. 统一日志管理
2. 环境变量配置完善
### 低优先级 🟢
1. CSS 兼容性 (已修复)
2. 代码注释完善
## 总体评价
**优点**:
- 代码结构清晰,分层合理
- 异常处理覆盖率高
- 使用了现代化的框架和工具
- SQL 注入防护到位
- 类型安全性好
⚠️ **需要改进**:
- 安全配置需要加强
- 密码哈希算法需要升级
- 日志管理可以更统一
## 建议的下一步行动
1. 立即修复安全配置问题
2. 升级密码哈希算法
3. 完善环境变量配置
4. 建立统一的日志管理策略
5. 进行安全测试和代码审查
---
**检查工具**: Cursor Bugbot + 人工代码审查
**检查覆盖率**: 主要代码文件和配置文件
**报告生成时间**: 2025-09-21