Files
012-kaopeilian/backend/app/api/v1/__init__.py
yuliang_guo 64f5d567fa
Some checks failed
continuous-integration/drone/push Build is failing
feat: 实现 KPL 系统功能改进计划
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

130 lines
7.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
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"]