Some checks failed
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 格式
130 lines
7.3 KiB
Python
130 lines
7.3 KiB
Python
"""
|
||
API v1 版本模块
|
||
整合所有 v1 版本的路由
|
||
"""
|
||
|
||
from fastapi import APIRouter
|
||
|
||
# 先只导入必要的路由
|
||
from .coze_gateway import router as coze_router
|
||
|
||
# 创建 v1 版本的主路由
|
||
api_router = APIRouter()
|
||
|
||
# 包含各个子路由
|
||
api_router.include_router(coze_router, tags=["coze"])
|
||
|
||
# TODO: 逐步添加其他路由
|
||
from .auth import router as auth_router
|
||
from .courses import router as courses_router
|
||
from .users import router as users_router
|
||
from .training import router as training_router
|
||
from .admin import router as admin_router
|
||
from .positions import router as positions_router
|
||
from .upload import router as upload_router
|
||
from .teams import router as teams_router
|
||
from .knowledge_analysis import router as knowledge_analysis_router
|
||
from .system import router as system_router
|
||
from .sql_executor import router as sql_executor_router
|
||
|
||
from .exam import router as exam_router
|
||
from .practice import router as practice_router
|
||
from .practice_room import router as practice_room_router
|
||
from .course_chat import router as course_chat_router
|
||
from .broadcast import router as broadcast_router
|
||
from .preview import router as preview_router
|
||
from .yanji import router as yanji_router
|
||
from .ability import router as ability_router
|
||
from .statistics import router as statistics_router
|
||
from .team_dashboard import router as team_dashboard_router
|
||
from .team_management import router as team_management_router
|
||
# Manager 模块路由
|
||
from .manager import student_scores_router, student_practice_router
|
||
from .system_logs import router as system_logs_router
|
||
from .tasks import router as tasks_router
|
||
from .endpoints.employee_sync import router as employee_sync_router
|
||
from .notifications import router as notifications_router
|
||
from .scrm import router as scrm_router
|
||
# 管理后台路由
|
||
from .admin_portal import router as admin_portal_router
|
||
|
||
api_router.include_router(auth_router, prefix="/auth", tags=["auth"])
|
||
# courses_router 已在内部定义了 prefix="/courses",此处不再额外添加前缀
|
||
api_router.include_router(courses_router, tags=["courses"])
|
||
api_router.include_router(users_router, prefix="/users", tags=["users"])
|
||
# training_router 已在内部定义了 prefix="/training",此处不再额外添加前缀
|
||
api_router.include_router(training_router, tags=["training"])
|
||
# admin_router 已在内部定义了 prefix="/admin",此处不再额外添加前缀
|
||
api_router.include_router(admin_router, tags=["admin"])
|
||
api_router.include_router(positions_router, tags=["positions"])
|
||
# upload_router 已在内部定义了 prefix="/upload",此处不再额外添加前缀
|
||
api_router.include_router(upload_router, tags=["upload"])
|
||
api_router.include_router(teams_router, tags=["teams"])
|
||
# knowledge_analysis_router 不需要额外前缀,路径已在路由中定义
|
||
api_router.include_router(knowledge_analysis_router, tags=["knowledge-analysis"])
|
||
# system_router 已在内部定义了 prefix="/system",此处不再额外添加前缀
|
||
api_router.include_router(system_router, tags=["system"])
|
||
# sql_executor_router SQL 执行器
|
||
api_router.include_router(sql_executor_router, prefix="/sql", tags=["sql-executor"])
|
||
# exam_router 已在内部定义了 prefix="/exams",此处不再额外添加前缀
|
||
api_router.include_router(exam_router, tags=["exams"])
|
||
# practice_router 陪练功能路由
|
||
api_router.include_router(practice_router, prefix="/practice", tags=["practice"])
|
||
# practice_room_router 双人对练房间路由(prefix在router内部定义为/practice/rooms)
|
||
api_router.include_router(practice_room_router, tags=["practice-room"])
|
||
# course_chat_router 与课程对话路由
|
||
api_router.include_router(course_chat_router, prefix="/course", tags=["course-chat"])
|
||
# broadcast_router 播课功能路由(不添加prefix,路径在router内部定义)
|
||
api_router.include_router(broadcast_router, tags=["broadcast"])
|
||
# preview_router 文件预览路由
|
||
api_router.include_router(preview_router, prefix="/preview", tags=["preview"])
|
||
# yanji_router 言迹智能工牌路由
|
||
api_router.include_router(yanji_router, prefix="/yanji", tags=["yanji"])
|
||
# ability_router 能力评估路由
|
||
api_router.include_router(ability_router, prefix="/ability", tags=["ability"])
|
||
# statistics_router 统计分析路由(不添加prefix,路径在router内部定义)
|
||
api_router.include_router(statistics_router, tags=["statistics"])
|
||
# team_dashboard_router 团队看板路由(不添加prefix,路径在router内部定义为/team/dashboard)
|
||
api_router.include_router(team_dashboard_router, tags=["team-dashboard"])
|
||
# team_management_router 团队成员管理路由(不添加prefix,路径在router内部定义为/team/management)
|
||
api_router.include_router(team_management_router, tags=["team-management"])
|
||
# student_scores_router 学员考试成绩管理路由(不添加prefix,路径在router内部定义为/manager/student-scores)
|
||
api_router.include_router(student_scores_router, tags=["manager-student-scores"])
|
||
# student_practice_router 学员陪练记录管理路由(不添加prefix,路径在router内部定义为/manager/student-practice)
|
||
api_router.include_router(student_practice_router, tags=["manager-student-practice"])
|
||
# system_logs_router 系统日志路由(不添加prefix,路径在router内部定义为/admin/logs)
|
||
api_router.include_router(system_logs_router, tags=["system-logs"])
|
||
# tasks_router 任务管理路由(不添加prefix,路径在router内部定义为/manager/tasks)
|
||
api_router.include_router(tasks_router, tags=["tasks"])
|
||
# employee_sync_router 员工同步路由
|
||
api_router.include_router(employee_sync_router, prefix="/employee-sync", tags=["employee-sync"])
|
||
# notifications_router 站内消息通知路由(不添加prefix,路径在router内部定义为/notifications)
|
||
api_router.include_router(notifications_router, tags=["notifications"])
|
||
# scrm_router SCRM系统对接路由(prefix在router内部定义为/scrm)
|
||
api_router.include_router(scrm_router, tags=["scrm"])
|
||
# admin_portal_router SaaS超级管理后台路由(prefix在router内部定义为/admin)
|
||
api_router.include_router(admin_portal_router, tags=["admin-portal"])
|
||
# system_settings_router 系统设置路由(企业管理员配置)
|
||
from .system_settings import router as system_settings_router
|
||
api_router.include_router(system_settings_router, prefix="/settings", tags=["system-settings"])
|
||
# level_router 等级与奖章路由
|
||
from .endpoints.level import router as level_router
|
||
api_router.include_router(level_router, prefix="/level", tags=["level"])
|
||
# certificate_router 证书管理路由
|
||
from .endpoints.certificate import router as certificate_router
|
||
api_router.include_router(certificate_router, prefix="/certificates", tags=["certificates"])
|
||
# dashboard_router 数据大屏路由
|
||
from .endpoints.dashboard import router as dashboard_router
|
||
api_router.include_router(dashboard_router, prefix="/dashboard", tags=["dashboard"])
|
||
# progress_router 学习进度追踪路由
|
||
from .endpoints.progress import router as progress_router
|
||
api_router.include_router(progress_router, prefix="/progress", tags=["progress"])
|
||
# speech_router 语音识别路由
|
||
from .endpoints.speech import router as speech_router
|
||
api_router.include_router(speech_router, prefix="/speech", tags=["speech"])
|
||
# recommendation_router 智能推荐路由
|
||
from .endpoints.recommendation import router as recommendation_router
|
||
api_router.include_router(recommendation_router, prefix="/recommendations", tags=["recommendations"])
|
||
|
||
__all__ = ["api_router"]
|