yuliang_guo
|
41a2f7944a
|
fix: 修复flake8 lint检查错误
continuous-integration/drone/push Build is passing
- 删除废弃的 admin_positions_backup.py 备份文件
- 修复 courses.py 缺失的 select 导入
- 修复 coze_gateway.py 异常变量作用域问题
- 修复 scheduler_service.py 无用的 global 声明
- 添加 TYPE_CHECKING 导入解决模型前向引用警告
|
2026-01-31 17:43:39 +08:00 |
|
yuliang_guo
|
18d6d5aff3
|
refactor: 员工同步复用钉钉免密登录配置
continuous-integration/drone/push Build is failing
- 移除员工同步独立的 API 凭证配置
- 复用 dingtalk 配置组的 CorpId、AppKey、AppSecret
- 简化前端界面,只保留开关和测试连接
|
2026-01-31 17:29:10 +08:00 |
|
yuliang_guo
|
7be1ac1787
|
feat: 员工同步改为钉钉开放API方式
continuous-integration/drone/push Build is passing
- 新增 dingtalk_service.py 调用钉钉开放API
- 支持获取 Access Token、部门列表、员工列表
- employee_sync_service 改为从钉钉API获取员工
- 前端配置界面支持配置 CorpId、ClientId、ClientSecret
- 移除外部数据库表依赖
|
2026-01-31 17:25:44 +08:00 |
|
yuliang_guo
|
cabc3c3442
|
fix: 修复练习结束时的DetachedInstanceError
continuous-integration/drone/push Build is passing
- 在第二次commit后refresh session对象
- 避免异步session管理导致的对象脱离错误
|
2026-01-31 17:13:00 +08:00 |
|
yuliang_guo
|
07638152fc
|
refactor: 员工同步数据库配置改为环境变量
continuous-integration/drone/push Build is passing
- 前端隐藏数据库连接配置输入
- 只保留"启用开关"和"表名"配置
- 数据库连接从 EMPLOYEE_SYNC_DB_URL 环境变量读取
- 显示数据源配置状态
- 保留默认值用于向后兼容
|
2026-01-31 17:07:55 +08:00 |
|
yuliang_guo
|
78e1bb3dc3
|
feat: 员工同步配置支持多租户
continuous-integration/drone/push Build is passing
- 后端新增员工同步配置API(获取/保存/测试连接)
- employee_sync_service 从数据库读取配置
- 前端系统设置页面添加"员工同步"Tab
- 支持配置:数据库主机、端口、库名、用户名、密码、表名
- 保留默认配置用于向后兼容
|
2026-01-31 17:01:30 +08:00 |
|
yuliang_guo
|
d2e6abfc80
|
feat: 完善任务中心全部功能
continuous-integration/drone/push Build is passing
1. 动态加载选项数据
- 从API获取团队、成员、课程列表
- 替换硬编码选项为动态渲染
2. 编辑任务功能
- 复用创建对话框,添加编辑模式
- 填充表单数据并调用updateTask API
3. 查看详情弹窗
- 展示任务基本信息、进度、课程、要求
- 调用getTaskDetail API获取详情
4. 结束任务功能
- 确认后调用updateTask API更新状态为completed
- 刷新列表和统计数据
5. 复制任务功能
- 复制任务内容到表单(标题添加"副本"后缀)
- 打开创建对话框
6. 发送提醒功能
- 后端新增 /tasks/{id}/remind API
- 前端调用API并显示结果
|
2026-01-31 14:05:55 +08:00 |
|
yuliang_guo
|
c3aa4e85e7
|
feat: 添加PPT/PPTX文件类型支持
continuous-integration/drone/push Build is passing
1. upload.py: 添加ppt/pptx到允许上传的文件类型
2. knowledge_analysis_v2.py: 添加PPT内容提取方法_extract_ppt_content
3. requirements.txt: 添加python-pptx依赖
|
2026-01-31 11:49:10 +08:00 |
|
yuliang_guo
|
64a70d5c2c
|
fix: 修复考试API路由冲突和响应验证问题
continuous-integration/drone/push Build is passing
1. 调整路由顺序:将/records和/statistics放在/{exam_id}之前
2. 修复RecentExamItem.start_time允许None值
|
2026-01-31 11:26:54 +08:00 |
|
yuliang_guo
|
e1d10605c9
|
fix: ExamService.start_exam返回ID避免懒加载
continuous-integration/drone/push Build is passing
修改start_exam返回exam.id而不是整个Exam对象,
彻底避免SQLAlchemy异步会话的懒加载问题
|
2026-01-31 11:21:39 +08:00 |
|
yuliang_guo
|
50c511d825
|
fix: 修复考试API的SQLAlchemy懒加载问题
continuous-integration/drone/push Build is passing
在访问current_user属性前先提取到局部变量,避免MissingGreenlet错误
|
2026-01-31 11:20:09 +08:00 |
|
yuliang_guo
|
ae4ba8afd3
|
fix: 修复考试API的ExamService导入缺失
continuous-integration/drone/push Build is passing
考试开始/提交等API因缺少ExamService导入返回500错误
|
2026-01-31 11:14:17 +08:00 |
|
yuliang_guo
|
4a273e627a
|
fix: 成长路径管理API添加权限控制
continuous-integration/drone/push Build is passing
管理端所有成长路径API现在需要管理员或经理权限才能访问:
- GET/POST /manager/growth-paths
- GET/PUT/DELETE /manager/growth-paths/{path_id}
|
2026-01-31 11:06:02 +08:00 |
|
yuliang_guo
|
bdb91aabea
|
fix: SQL执行器仅允许管理员访问
continuous-integration/drone/push Build is passing
- 所有SQL执行器端点改用 require_admin 权限校验
- /sql/execute - 执行SQL
- /sql/validate - 验证SQL
- /sql/tables - 获取表列表
- /sql/table/{name}/schema - 获取表结构
|
2026-01-31 11:01:35 +08:00 |
|
yuliang_guo
|
79b55cfd12
|
fix: 修复权限提升漏洞和添加安全头
continuous-integration/drone/push Build is passing
安全修复:
- 创建 UserSelfUpdate schema,禁止用户修改自己的 role 和 is_active
- /users/me 端点现在使用 UserSelfUpdate 而非 UserUpdate
安全增强:
- 添加 SecurityHeadersMiddleware 中间件
- X-Content-Type-Options: nosniff
- X-Frame-Options: DENY
- X-XSS-Protection: 1; mode=block
- Referrer-Policy: strict-origin-when-cross-origin
- Permissions-Policy: 禁用敏感功能
- Cache-Control: API响应不缓存
|
2026-01-31 10:57:41 +08:00 |
|
yuliang_guo
|
d59a4355a5
|
fix: 修复安全问题 - 登录失败返回401 + XSS过滤
continuous-integration/drone/push Build is passing
- 登录失败返回 HTTP 401 而非 200
- 添加 XSS 输入过滤工具函数
- 课程名称和描述字段添加 XSS 过滤验证器
|
2026-01-31 10:39:07 +08:00 |
|
yuliang_guo
|
0b7c07eb7f
|
feat: 添加请求验证错误详细日志
continuous-integration/drone/push Build is passing
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 10:03:54 +08:00 |
|
yuliang_guo
|
b4906c543b
|
feat: 实现成长路径功能
continuous-integration/drone/push Build is passing
- 新增数据库表: growth_path_nodes, user_growth_path_progress, user_node_completions
- 新增 Model: GrowthPathNode, UserGrowthPathProgress, UserNodeCompletion
- 新增 Service: GrowthPathService(管理端CRUD、学员端进度追踪)
- 新增 API: 学员端获取成长路径、管理端CRUD
- 前端学员端从API动态加载成长路径数据
- 更新管理端API接口定义
|
2026-01-30 15:37:14 +08:00 |
|
yuliang_guo
|
ef7a41ba01
|
fix: 修复 SQLAlchemy case() 语法
continuous-integration/drone/push Build is passing
- admin.py: 使用 case() 替代 func.case()
- task_service.py: 同上
- 已在服务器执行数据库迁移创建 user_course_progress 表
|
2026-01-30 15:11:57 +08:00 |
|
yuliang_guo
|
406efa6f14
|
fix: 修复 endpoints 模块导入路径
continuous-integration/drone/push Build is passing
- progress.py: get_db, get_current_user 从 app.core.deps 导入
- speech.py: 同上
- recommendation.py: 同上
|
2026-01-30 15:04:01 +08:00 |
|
yuliang_guo
|
64f5d567fa
|
feat: 实现 KPL 系统功能改进计划
continuous-integration/drone/push Build is failing
1. 课程学习进度追踪
- 新增 UserCourseProgress 和 UserMaterialProgress 模型
- 新增 /api/v1/progress/* 进度追踪 API
- 更新 admin.py 使用真实课程完成率数据
2. 路由权限检查完善
- 新增前端 permissionChecker.ts 权限检查工具
- 更新 router/guard.ts 实现团队和课程权限验证
- 新增后端 permission_service.py
3. AI 陪练音频转文本
- 新增 speech_recognition.py 语音识别服务
- 新增 /api/v1/speech/* API
- 更新 ai-practice-coze.vue 支持语音输入
4. 双人对练报告生成
- 更新 practice_room_service.py 添加报告生成功能
- 新增 /rooms/{room_code}/report API
- 更新 duo-practice-report.vue 调用真实 API
5. 学习提醒推送
- 新增 notification_service.py 通知服务
- 新增 scheduler_service.py 定时任务服务
- 支持钉钉、企微、站内消息推送
6. 智能学习推荐
- 新增 recommendation_service.py 推荐服务
- 新增 /api/v1/recommendations/* API
- 支持错题、能力、进度、热门多维度推荐
7. 安全问题修复
- DEBUG 默认值改为 False
- 添加 SECRET_KEY 安全警告
- 新增 check_security_settings() 检查函数
8. 证书 PDF 生成
- 更新 certificate_service.py 添加 PDF 生成
- 添加 weasyprint、Pillow、qrcode 依赖
- 更新下载 API 支持 PDF 和 PNG 格式
|
2026-01-30 14:22:35 +08:00 |
|
yuliang_guo
|
dd20bf2e78
|
fix: 合并 get_db 和 get_current_user 的导入到 deps
continuous-integration/drone/push Build is failing
|
2026-01-29 17:09:54 +08:00 |
|
yuliang_guo
|
054375c36c
|
fix: 修复 certificate/dashboard API 的 get_db 导入路径
continuous-integration/drone/push Build is failing
|
2026-01-29 17:08:44 +08:00 |
|
yuliang_guo
|
6f0f2e6363
|
feat: KPL v1.5.0 功能迭代
continuous-integration/drone/push Build is failing
1. 奖章条件优化
- 修复统计查询 SQL 语法
- 添加按类别检查奖章方法
2. 移动端适配
- 登录页、课程中心、课程详情
- 考试页面、成长路径、排行榜
3. 证书系统
- 数据库模型和迁移脚本
- 证书颁发/列表/下载/验证 API
- 前端证书列表页面
4. 数据大屏
- 企业级/团队级数据 API
- ECharts 可视化大屏页面
|
2026-01-29 16:51:17 +08:00 |
|
yuliang_guo
|
0933b936f9
|
feat: 新增等级与奖章系统
continuous-integration/drone/push Build is failing
- 后端: 新增 user_levels, exp_history, badge_definitions, user_badges, level_configs 表
- 后端: 新增 LevelService 和 BadgeService 服务
- 后端: 新增等级/奖章/签到/排行榜 API 端点
- 后端: 考试/练习/陪练完成时触发经验值和奖章检查
- 前端: 新增 LevelBadge, ExpProgress, BadgeCard, LevelUpDialog 组件
- 前端: 新增排行榜页面
- 前端: 成长路径页面集成真实等级数据
- 数据库: 包含迁移脚本和初始数据
|
2026-01-29 16:19:22 +08:00 |
|
yuliang_guo
|
c97a09de35
|
feat: 添加通讯录自动同步功能
continuous-integration/drone/push Build is failing
- 添加 APScheduler 依赖
- 创建定时任务调度模块 scheduler.py
- 增量同步:每30分钟执行
- 完整同步:每天凌晨2点执行
- 添加定时任务管理 API
- 支持环境变量配置同步参数
|
2026-01-29 15:19:20 +08:00 |
|
yuliang_guo
|
662947cd06
|
feat: 添加钉钉扫码登录功能
continuous-integration/drone/push Build is failing
- 后端:钉钉 OAuth 认证服务
- 后端:系统设置 API(钉钉配置)
- 前端:登录页钉钉扫码入口
- 前端:系统设置页面
- 数据库迁移脚本
|
2026-01-29 14:40:00 +08:00 |
|
yuliang_guo
|
c5d460b413
|
feat: 添加双人对练语音通话功能
continuous-integration/drone/push Build is failing
- 后端:扩展 SSE 支持 WebRTC 信令消息转发
- 前端:创建 WebRTC 连接管理模块 (webrtc.ts)
- 前端:创建 useVoiceCall 组合式函数
- 前端:在对练房间添加语音通话 UI
- 集成 Web Speech API 实现语音转文字
|
2026-01-28 15:45:47 +08:00 |
|
yuliang_guo
|
b6aea2e23d
|
feat: 添加双人对练功能
continuous-integration/drone/push Build is failing
- 新增数据库迁移脚本 (practice_rooms, practice_room_messages)
- 新增后端 API: 房间创建/加入/消息同步/报告生成
- 新增前端页面: 入口页/对练房间/报告页
- 新增 AI 双人评估服务和提示词
|
2026-01-28 15:20:03 +08:00 |
|
111
|
442ac78b56
|
sync: 同步服务器最新代码 (2026-01-27)
continuous-integration/drone/push Build is failing
更新内容:
- 后端 AI 服务优化(能力分析、知识点解析等)
- 前端考试和陪练界面更新
- 修复多个 prompt 和 JSON 解析问题
- 更新 Coze 语音客户端
|
2026-01-27 10:03:28 +08:00 |
|
111
|
998211c483
|
feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端
技术栈: Vue3 + TypeScript + FastAPI + MySQL
|
2026-01-24 19:33:28 +08:00 |
|