feat: 初始化考培练系统项目
- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
123
docs/规划/后端开发拆分策略/配置一致性检查清单.md
Normal file
123
docs/规划/后端开发拆分策略/配置一致性检查清单.md
Normal file
@@ -0,0 +1,123 @@
|
||||
# 配置一致性检查清单
|
||||
|
||||
## 📋 概述
|
||||
本文档记录了项目中各个组件之间必须保持一致的配置项,确保系统正常运行。
|
||||
|
||||
## 🔧 数据库配置一致性
|
||||
|
||||
### MySQL连接配置
|
||||
| 组件 | 配置文件 | 配置项 | 当前值 |
|
||||
|------|----------|--------|--------|
|
||||
| Docker Compose | `../../docker-compose.yml` | `MYSQL_ROOT_PASSWORD` | `root` |
|
||||
| 后端默认配置 | `../../kaopeilian-backend/app/config/settings.py` | `DATABASE_URL` | `mysql+aiomysql://root:root@localhost:3306/kaopeilian` |
|
||||
| 启动脚本 | `../../kaopeilian-backend/start_mysql.py` | `DATABASE_URL` 环境变量 | `mysql+aiomysql://root:root@localhost:3306/kaopeilian` |
|
||||
|
||||
**⚠️ 重要**:所有数据库连接字符串中的用户名、密码、主机、端口必须完全一致。
|
||||
|
||||
### Redis连接配置
|
||||
| 组件 | 配置文件 | 配置项 | 当前值 |
|
||||
|------|----------|--------|--------|
|
||||
| Docker Compose | `../../docker-compose.yml` | Redis端口 | `6379` |
|
||||
| 后端配置 | `../../kaopeilian-backend/app/config/settings.py` | `REDIS_URL` | `redis://localhost:6379/0` |
|
||||
|
||||
## 🌐 网络配置一致性
|
||||
|
||||
### 端口配置
|
||||
| 服务 | 组件 | 配置位置 | 端口 |
|
||||
|------|------|----------|------|
|
||||
| 前端开发服务器 | Vue3 + Vite | `../../kaopeilian-frontend/vite.config.ts` | `3001` |
|
||||
| 后端API服务器 | FastAPI | `../../kaopeilian-backend/start_mysql.py` | `8000` |
|
||||
| MySQL数据库 | Docker | `../../docker-compose.yml` | `3306` |
|
||||
| Redis缓存 | Docker | `../../docker-compose.yml` | `6379` |
|
||||
|
||||
### CORS配置
|
||||
| 组件 | 配置文件 | 配置项 | 允许的源 |
|
||||
|------|----------|--------|----------|
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `BACKEND_CORS_ORIGINS` | `["http://localhost:3000", "http://localhost:3001", "http://localhost:5173"]` |
|
||||
|
||||
**⚠️ 重要**:前端开发服务器的端口必须在后端CORS配置中明确允许。
|
||||
|
||||
## 🔐 认证配置一致性
|
||||
|
||||
### JWT配置
|
||||
| 组件 | 配置文件 | 配置项 | 当前值 |
|
||||
|------|----------|--------|--------|
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `SECRET_KEY` | 环境变量或默认值 |
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `ALGORITHM` | `HS256` |
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `ACCESS_TOKEN_EXPIRE_MINUTES` | `30` |
|
||||
|
||||
### 认证存储键名
|
||||
| 组件 | 存储位置 | 键名 | 用途 |
|
||||
|------|----------|------|------|
|
||||
| 前端 | localStorage | `access_token` | 访问令牌 |
|
||||
| 前端 | localStorage | `refresh_token` | 刷新令牌 |
|
||||
| 前端 | localStorage | `current_user` | 当前用户信息 |
|
||||
|
||||
**⚠️ 重要**:前端的authManager和所有组件必须使用相同的localStorage键名。
|
||||
|
||||
## 📡 API配置一致性
|
||||
|
||||
### 请求格式
|
||||
| API端点 | 前端发送格式 | 后端接收格式 | Content-Type |
|
||||
|---------|-------------|-------------|--------------|
|
||||
| `/api/v1/auth/login` | JSON | Pydantic模型 | `application/json` |
|
||||
| `/api/v1/auth/register` | JSON | Pydantic模型 | `application/json` |
|
||||
|
||||
### API基础路径
|
||||
| 组件 | 配置文件 | 配置项 | 当前值 |
|
||||
|------|----------|--------|--------|
|
||||
| 前端 | `../../kaopeilian-frontend/src/api/config.ts` | `baseURL` | `http://localhost:8000` |
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `API_V1_STR` | `/api/v1` |
|
||||
|
||||
## 🏗️ 环境配置一致性
|
||||
|
||||
### 开发环境
|
||||
| 组件 | 配置文件 | 环境标识 | 当前值 |
|
||||
|------|----------|----------|--------|
|
||||
| 前端 | `../../kaopeilian-frontend/package.json` | `NODE_ENV` | `development` |
|
||||
| 后端 | `../../kaopeilian-backend/app/config/settings.py` | `ENVIRONMENT` | `development` |
|
||||
|
||||
## ✅ 配置检查脚本
|
||||
|
||||
### 自动检查命令
|
||||
```bash
|
||||
# 在项目根目录执行
|
||||
cd ../../
|
||||
./check-config.sh
|
||||
```
|
||||
|
||||
### 手动检查清单
|
||||
- [ ] Docker服务正常启动 (`docker-compose ps`)
|
||||
- [ ] 数据库连接成功 (后端日志无连接错误)
|
||||
- [ ] 前端可以访问后端API (无CORS错误)
|
||||
- [ ] 认证流程完整工作 (登录成功并跳转)
|
||||
- [ ] 权限控制正常 (不同角色访问不同页面)
|
||||
|
||||
## 🚨 常见配置不一致问题
|
||||
|
||||
### 1. 数据库密码不匹配
|
||||
**症状**:后端启动时报"Access denied"错误
|
||||
**解决**:检查`docker-compose.yml`的`MYSQL_ROOT_PASSWORD`与`settings.py`的`DATABASE_URL`密码是否一致
|
||||
|
||||
### 2. CORS配置缺失
|
||||
**症状**:前端控制台报CORS错误
|
||||
**解决**:确保前端运行端口已添加到后端`BACKEND_CORS_ORIGINS`列表
|
||||
|
||||
### 3. API格式不匹配
|
||||
**症状**:前端请求返回400或422错误
|
||||
**解决**:检查前端发送的Content-Type和数据格式是否与后端Pydantic模型匹配
|
||||
|
||||
### 4. 认证状态不同步
|
||||
**症状**:登录成功但路由守卫仍然拦截
|
||||
**解决**:确保前端使用统一的authManager,localStorage键名一致
|
||||
|
||||
## 📝 更新记录
|
||||
|
||||
| 日期 | 更新内容 | 更新人 |
|
||||
|------|----------|--------|
|
||||
| 2025-09-20 | 初始创建配置一致性检查清单 | AI Assistant |
|
||||
| 2025-09-20 | 添加认证授权模块配置项 | AI Assistant |
|
||||
|
||||
---
|
||||
|
||||
**注意**:每次添加新的配置项或修改现有配置时,都必须更新此文档,确保团队成员了解配置要求。
|
||||
Reference in New Issue
Block a user