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