diff --git a/CHANGELOG-2026-01-29.md b/CHANGELOG-2026-01-29.md index 13374dd..28e362b 100644 --- a/CHANGELOG-2026-01-29.md +++ b/CHANGELOG-2026-01-29.md @@ -180,9 +180,82 @@ pip install Pillow qrcode --- +## 五、错误提示优化(下午更新) + +### 课程名重复错误优化 +**问题**:创建课程时名称重复返回 409 错误,前端提示不明确 + +**修复内容**: +1. **后端** `course_service.py`:课程名重复时返回 `existing_id` 和 `existing_name` +2. **前端** `edit-course.vue`:检测 409 错误后弹出确认框 + - "查看已有课程" → 跳转到已存在的课程 + - "修改名称" → 留在当前页面 + +### 通用错误处理增强 +- `errorHandler.ts` 新增 409 冲突错误处理 +- 新增工具函数:`isConflictError()`, `getConflictDetail()`, `getConflictMessage()` + +### 其他页面错误提示优化 +- `position-management.vue`:岗位创建/编辑错误提取详细信息 +- `user-management.vue`:用户编辑错误提取详细信息 + +### 文件变更 +- `backend/app/services/course_service.py` (修改) +- `frontend/src/utils/errorHandler.ts` (修改) +- `frontend/src/views/manager/edit-course.vue` (修改) +- `frontend/src/views/admin/position-management.vue` (修改) +- `frontend/src/views/admin/user-management.vue` (修改) + +--- + +## 六、部署问题修复(下午更新) + +### 后端导入路径修复 +1. `certificate.py` 模型:`from app.core.database import Base` → `from app.models.base import Base` +2. `certificate.py` API:`from app.core.database import get_db` → `from app.core.deps import get_db` +3. `dashboard.py` API:同上 +4. 合并 `get_current_user` 导入到 `app.core.deps` + +### 依赖安装 +```bash +docker exec kpl-backend-dev pip install Pillow qrcode +``` + +### 前端构建同步问题 +- 问题:构建输出到 `/root/aiedu/frontend/dist/`,但容器挂载的是 `/root/aiedu/dist-test/` +- 解决:构建后需手动同步 `cp -r /root/aiedu/frontend/dist/* /root/aiedu/dist-test/` + +--- + +## 七、钉钉免密登录问题修复(下午更新) + +### 问题现象 +- 钉钉环境打开应用后显示"没有访问此页面的权限" +- 后端日志显示登录实际成功 + +### 问题原因 +登录成功后读取 URL 中的 `redirect` 参数跳转,但该参数指向用户无权限的页面(如 /admin/*) + +### 修复内容 +`login/index.vue`:登录成功后检查 redirect 目标是否有权限 +```javascript +// 检查 redirect 目标是否有权限访问 +if ((redirect.startsWith('/admin') && userRole !== 'admin') || + (redirect.startsWith('/manager') && !['admin', 'manager'].includes(userRole))) { + redirect = defaultRoute // 改为跳转到默认页面 +} +``` + +### 调试工具 +- 钉钉环境自动启用 vConsole(`main.ts` 中根据 UA 判断) +- 依赖:`npm install vconsole` + +--- + ## 待办事项 - [ ] 证书 PDF 生成(需安装 weasyprint) - [ ] 课程完成进度追踪(user_course_progress 表) - [ ] 数据大屏数据缓存优化 - [ ] 钉钉环境下底部导航适配 +- [ ] 移除 vConsole 调试代码(问题确认解决后)