Skip to content

功能模块化与课程开放策略

本方案将平台能力拆分为“通用能力”和“课程专属模块”,用于支持多学科、多课程的统一教学平台。

1. 模块分类

1.1 通用能力(默认全员可用)

  • 课程管理(课程/章节/成员)
  • 作业与测验
  • 资源中心
  • 公告与考勤
  • AI 答疑
  • 代码编辑(若启用)
  • 学情分析(学习统计、学习事件、全局画像)

1.2 课程专属模块(按选课开放)

  • 仿真与数值计算(如物理/工程类课程)
  • 学术写作分析与润色(如写作类课程)
  • 学科知识包(如专业术语、课程教材 RAG)
  • 实验/实训工具(如编程实验、数据分析、语言实验)

课程专属模块仅对“已选修该课程”的用户开放,避免跨课程误用。

2. 开放策略(功能门控)

2.1 核心规则

  • 用户必须属于课程才可访问课程专属模块。
  • 通用能力对所有已登录用户开放(受 RBAC 权限控制)。
  • 课程模块由课程配置决定(课程级开关)。

2.2 课程配置建议

建议在课程层保存模块配置,例如:

json
{
  "enabled_modules": [
    "core.ai",
    "core.analytics",
    "course.simulation",
    "course.domain_pack.emfield"
  ],
  "module_settings": {
    "course.simulation": { "max_runtime_sec": 5 },
    "course.writing": { "min_word_count": 50 }
  }
}

如果暂未扩展数据库字段,可先通过后台配置或课程扩展表实现。

3. 前端与后端门控要求

3.1 前端展示

  • 侧边栏按 enabled_modules 渲染课程菜单。
  • 未开放模块隐藏入口,并在直接访问时提示“课程未开通该功能”。

3.2 后端校验

  • API 层在 RBAC 校验后增加“模块开关校验”。
  • 通用能力仅做权限校验,不做课程模块校验。

4. 示例

  • 物理仿真课程course.simulation + course.domain_pack.physics
  • 研究生英文写作课程course.writing + course.domain_pack.academic_writing
  • 通识课程:仅保留通用能力

5. 落地步骤(建议)

  1. 增加课程模块配置字段或配置表。
  2. 后端 API 添加模块校验中间件。
  3. 前端侧边栏与路由按模块配置渲染。
  4. 文档统一引用本模块化策略。

Released under the MIT License.