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