Files
ruoyi-vue-pro/yudao-module-education/README.md

3.3 KiB
Raw Blame History

yudao-module-education

教育业务模块,提供课程、练习、题库、考试等教育业务功能。

当前状态:应用外壳 (Shell)

此模块目前处于应用外壳阶段,仅提供:

  • 模块骨架与包结构
  • 能力探测端点 (/education/capability)
  • 独立的功能开关配置
  • 错误码常量
  • 权限与菜单种子数据(角色授权由管理员按租户完成)
  • 增量 SQL 交付约定

无业务表,无虚假 CRUD。

功能配置

application.yaml 或对应 profile 中配置:

yudao:
  education:
    enabled: true   # 是否启用教育模块,默认 false
    version: 1.0.0  # 模块版本号
  • yudao.education.enabled=true启用模块Controller 注册、Swagger 分组可见)
  • yudao.education.enabled=false(默认):禁用模块,所有教育端点不可达

API

管理后台 - 能力信息

GET /admin-api/education/capability
  • 权限:education:capability
  • 响应示例:
{
  "code": 0,
  "msg": "成功",
  "data": {
    "module": "education",
    "enabled": true,
    "version": "1.0.0",
    "capabilities": ["shell"]
  }
}

错误码

错误码 说明
1_005_001_000 教育模块未启用

构建与运行

单独编译测试

# 编译 education 模块
mvn compile -pl yudao-module-education -am

# 运行 education 模块单元测试
mvn test -pl yudao-module-education -am

整体编译(含 server

# 编译全量member + education + system + infra + server
mvn compile -pl yudao-server -am

# 打包(跳过测试加速)
mvn package -pl yudao-server -am -DskipTests

启动验证

  1. 确保 yudao.education.enabled=true
  2. 启动 yudao-server
  3. 访问 Swagger UI 查看 education 分组
  4. 调用 GET /admin-api/education/capability

SQL 应用

# 应用种子数据(菜单 + 权限定义;执行后由管理员为目标租户角色授权)
mysql -u root -p ruoyi-vue-pro < sql/mysql/education/000-education-seed.sql

# 回滚
mysql -u root -p ruoyi-vue-pro < sql/mysql/education/000-education-rollback.sql

SQL 交付约定

  • 所有 Education SQL 文件存放在 sql/mysql/education/ 目录下
  • 文件命名:NNN-描述.sqlNNN 为三位递增序号)
  • 每个正向脚本应有对应的回滚脚本
  • schema 文件仅包含 DDLseed 文件仅包含 DML
  • 不修改项目根目录的 ruoyi-vue-pro.sql 巨量全量转储

前端状态

当前工作区未检出完整的前端源码。 yudao-ui/yudao-ui-admin-vue3/ 仅包含部分 MES 相关文件(src/api/mes/src/views/mes/),缺少 package.jsonrouter/store/config/ 等核心框架文件。

因此:

  • 管理后台教育菜单项:仅在后端通过 SQL 种子数据注册了 system_menu 记录ID 6800-6801。前端无路由/页面组件可渲染,菜单在管理后台不会显示。
  • Student Web/H5 应用外壳:前端源码不存在,无法建立。

阻塞项:完整前端源码(含 router、store、package.json是后续前端集成的必要前提。一旦前端源码就位

  1. 在 Vue3 admin 的路由中添加 /education 路由项,绑定 Education 菜单组件
  2. 添加 src/api/education/ API 封装层
  3. Student Web/H5 端如需要独立入口,需新建对应前端项目