2026-04-29-22-37-36 - 修复登录ERR_CONNECTION_REFUSED:前端baseURL改IP+后端CORS扩origin
This commit is contained in:
42
工程分析/需求分析-2026-04-29-22-37-36.md
Normal file
42
工程分析/需求分析-2026-04-29-22-37-36.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# 需求分析 - 2026-04-29-22-37-36
|
||||
|
||||
## 需求来源
|
||||
- 提出时间: 2026-04-29-22-37-36
|
||||
- 需求类型: 缺陷修复
|
||||
|
||||
## 原始需求描述
|
||||
用户登录失败,浏览器控制台报错:
|
||||
```
|
||||
POST http://localhost:8000/api/auth/login net::ERR_CONNECTION_REFUSED
|
||||
```
|
||||
|
||||
## 需求拆解
|
||||
|
||||
### 需求 1: 修复前端 baseURL 配置
|
||||
- **详细描述**: `src/lib/api.ts` 中 `baseURL` 硬编码为 `http://localhost:8000`,当用户通过非 localhost 地址访问前端时,浏览器将 localhost 解析为客户端本地机器而非服务器,导致连接拒绝
|
||||
- **优先级**: P0-阻塞
|
||||
- **影响范围**: `src/lib/api.ts`
|
||||
- **验收标准**: 前端可通过局域网 IP 正确访问后端
|
||||
|
||||
### 需求 2: 修复后端 CORS 配置
|
||||
- **详细描述**: `backend/config.py` 中 `cors_origins` 仅允许 `http://localhost:3000`,需添加服务器实际 IP 地址的前端 origin
|
||||
- **优先级**: P0-阻塞
|
||||
- **影响范围**: `backend/config.py`, `backend/main.py`
|
||||
- **验收标准**: 后端接受来自服务器 IP:3000 的跨域请求
|
||||
|
||||
### 需求 3: 添加 baseURL 可配置机制(可选增强)
|
||||
- **详细描述**: 通过 `.env` 或运行时代码自动检测服务器 IP,使 baseURL 不再硬编码
|
||||
- **优先级**: P1-高
|
||||
- **影响范围**: `src/lib/api.ts`
|
||||
- **验收标准**: 无需修改代码即可适配不同部署环境
|
||||
|
||||
## 约束条件
|
||||
- 不破坏现有 localhost 开发体验
|
||||
- 保持中文界面不变
|
||||
- 最小修改原则
|
||||
|
||||
## 风险评估
|
||||
| 风险点 | 影响 | 缓解措施 |
|
||||
|--------|------|----------|
|
||||
| 修改后 localhost 开发失效 | 高 | 同时保留 localhost 和 IP 两种访问方式 |
|
||||
| CORS 配置过于宽泛 | 中 | 仅添加必要的 IP origin,不开放通配符 |
|
||||
Reference in New Issue
Block a user