119 lines
3.0 KiB
Markdown
119 lines
3.0 KiB
Markdown
# 前端接口调试指南
|
||
|
||
## 问题诊断步骤
|
||
|
||
### 1. 打开浏览器开发者工具
|
||
- 按 F12 或右键 → 检查
|
||
- 切换到 **Console(控制台)** 标签
|
||
- 切换到 **Network(网络)** 标签
|
||
|
||
### 2. 查看控制台错误
|
||
在控制台查看具体的错误信息,常见错误:
|
||
|
||
#### 错误类型 1: CORS 错误
|
||
```
|
||
Access to XMLHttpRequest at 'http://localhost:8000/api/v1/...'
|
||
from origin 'http://localhost:5173' has been blocked by CORS policy
|
||
```
|
||
**解决方法**: 这是正常的,说明请求到达了后端,检查后端 CORS 配置
|
||
|
||
#### 错误类型 2: 404 Not Found
|
||
```
|
||
GET http://localhost:5173/api/v1/departments 404 (Not Found)
|
||
```
|
||
**原因**: Vite 代理配置问题
|
||
**解决方法**: 重启前端开发服务器
|
||
|
||
#### 错误类型 3: 500 Internal Server Error
|
||
```
|
||
POST http://localhost:8000/api/v1/auth/login 500 (Internal Server Error)
|
||
```
|
||
**原因**: 后端服务错误
|
||
**解决方法**: 检查后端日志 `backend/logs/error_*.log`
|
||
|
||
#### 错误类型 4: Network Error
|
||
```
|
||
Error: Network Error
|
||
```
|
||
**原因**: 后端服务未运行
|
||
**解决方法**: 启动后端服务 `cd backend && uvicorn app.main:app --reload`
|
||
|
||
### 3. 查看网络请求
|
||
|
||
在 Network 标签中:
|
||
1. 找到失败的请求(红色)
|
||
2. 点击请求查看详情
|
||
3. 查看 **Response(响应)** 标签,查看后端返回的错误信息
|
||
|
||
### 4. 常见接口错误及解决
|
||
|
||
#### 登录失败
|
||
**检查点**:
|
||
- 后端是否运行:访问 http://localhost:8000/health
|
||
- 账号密码是否正确:admin / admin123
|
||
- Content-Type 是否为 `application/x-www-form-urlencoded`
|
||
|
||
#### 科室/员工/指标列表失败
|
||
**检查点**:
|
||
- 是否已登录获取 token
|
||
- token 是否过期
|
||
- 请求头是否包含 `Authorization: Bearer {token}`
|
||
|
||
#### 统计报表失败
|
||
**检查点**:
|
||
- 参数是否正确(period_year, period_month)
|
||
- 数据库中是否有对应数据
|
||
|
||
### 5. 快速测试工具
|
||
|
||
访问 http://localhost:5173/test-api.html 使用内置的 API 测试工具
|
||
|
||
### 6. 清除缓存
|
||
|
||
如果遇到问题:
|
||
1. 清除浏览器缓存:Ctrl+Shift+Delete
|
||
2. 清除 localStorage:
|
||
```javascript
|
||
localStorage.clear()
|
||
```
|
||
3. 硬刷新:Ctrl+F5
|
||
|
||
### 7. 重启服务
|
||
|
||
如果以上都无效:
|
||
```bash
|
||
# 停止所有 Python 进程
|
||
powershell -Command "Get-Process | Where-Object {$_.ProcessName -eq 'python'} | Stop-Process -Force"
|
||
|
||
# 重启后端
|
||
cd D:\医院绩效系统\backend
|
||
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||
|
||
# 重启前端(新终端)
|
||
cd D:\医院绩效系统\frontend
|
||
npm run dev
|
||
```
|
||
|
||
## 当前系统状态
|
||
|
||
### 后端状态
|
||
- 地址:http://localhost:8000
|
||
- 健康检查:http://localhost:8000/health
|
||
- API 文档:http://localhost:8000/api/v1/docs
|
||
- 日志目录:`backend/logs/`
|
||
|
||
### 前端状态
|
||
- 地址:http://localhost:5173
|
||
- Vite 配置:代理 `/api` 到 `http://localhost:8000`
|
||
|
||
### 默认账号
|
||
- 用户名:admin
|
||
- 密码:admin123
|
||
|
||
## 联系支持
|
||
|
||
如果问题仍未解决,请提供:
|
||
1. 控制台错误截图
|
||
2. Network 标签中失败请求的详情
|
||
3. 后端日志内容
|