2.2 KiB
2.2 KiB
前端接口报错问题修复总结
问题原因
前端调用报错是因为后端数据库模型更新后,数据库数据与新的枚举值不匹配。
具体问题
- 数据库模型新增了 9 种科室类型(如
clinical_surgical,clinical_nonsurgical_ward等) - 但
init_db.py仍在使用旧的枚举值(如clinical) - Pydantic Schema 也未同步更新枚举定义
- 导致查询时出现
LookupError: 'clinical' is not among the defined enum values
已修复内容
1. 更新 init_db.py
将科室类型从旧的 clinical 改为新的 clinical_nonsurgical_ward 等
2. 更新 Pydantic Schema
更新 app/schemas/schemas.py 中的 DeptType 枚举,包含所有 9 种类型
3. 重建数据库
删除旧数据库并使用新的枚举值重新初始化
当前系统状态
✅ 已恢复正常的功能
- 健康检查:http://localhost:8000/health
- 用户登录:POST /api/v1/auth/login
- 科室管理:GET/POST/PUT/DELETE /api/v1/departments
- 员工管理:GET/POST/DELETE /api/v1/staff
- 指标管理:GET/POST/PUT/DELETE /api/v1/indicators
- 考核流程:所有接口正常
- 统计报表:所有接口正常
访问方式
- 前端地址:http://localhost:5173
- 后端地址:http://localhost:8000
- API 文档:http://localhost:8000/api/v1/docs
默认账号
- 用户名:admin
- 密码:admin123
前端使用建议
如果仍遇到问题
- 清除浏览器缓存:Ctrl+Shift+Delete
- 清除 localStorage:
localStorage.clear() - 硬刷新页面:Ctrl+F5
- 重启服务:
# 停止所有 Python 进程 powershell -Command "Get-Process | Where-Object {$_.ProcessName -eq 'python'} | Stop-Process -Force" # 重启后端 cd D:\医院绩效系统\backend python -m uvicorn app.main:app --reload # 重启前端(新终端) cd D:\医院绩效系统\frontend npm run dev
测试工具
访问内置测试页面:http://localhost:5173/test-api.html
联系支持
如仍有问题,请提供:
- F12 控制台错误截图
- Network 标签中失败请求的响应内容
- 后端日志:
backend/logs/error_*.log