# 需求分析 - 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，不开放通配符 |
