forked from wangziqi/ruoyi-vue-pro
feat(education): add module application shell
This commit is contained in:
119
yudao-module-education/README.md
Normal file
119
yudao-module-education/README.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# yudao-module-education
|
||||
|
||||
教育业务模块,提供课程、练习、题库、考试等教育业务功能。
|
||||
|
||||
## 当前状态:应用外壳 (Shell)
|
||||
|
||||
此模块目前处于**应用外壳**阶段,仅提供:
|
||||
- 模块骨架与包结构
|
||||
- 能力探测端点 (`/education/capability`)
|
||||
- 独立的功能开关配置
|
||||
- 错误码常量
|
||||
- 权限与菜单种子数据(角色授权由管理员按租户完成)
|
||||
- 增量 SQL 交付约定
|
||||
|
||||
无业务表,无虚假 CRUD。
|
||||
|
||||
## 功能配置
|
||||
|
||||
在 `application.yaml` 或对应 profile 中配置:
|
||||
|
||||
```yaml
|
||||
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`
|
||||
- 响应示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"module": "education",
|
||||
"enabled": true,
|
||||
"version": "1.0.0",
|
||||
"capabilities": ["shell"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 错误码
|
||||
|
||||
| 错误码 | 说明 |
|
||||
|--------|------|
|
||||
| 1_005_001_000 | 教育模块未启用 |
|
||||
|
||||
## 构建与运行
|
||||
|
||||
### 单独编译测试
|
||||
|
||||
```bash
|
||||
# 编译 education 模块
|
||||
mvn compile -pl yudao-module-education -am
|
||||
|
||||
# 运行 education 模块单元测试
|
||||
mvn test -pl yudao-module-education -am
|
||||
```
|
||||
|
||||
### 整体编译(含 server)
|
||||
|
||||
```bash
|
||||
# 编译全量(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 应用
|
||||
|
||||
```bash
|
||||
# 应用种子数据(菜单 + 权限定义;执行后由管理员为目标租户角色授权)
|
||||
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-描述.sql`(NNN 为三位递增序号)
|
||||
- 每个正向脚本应有对应的回滚脚本
|
||||
- schema 文件仅包含 DDL,seed 文件仅包含 DML
|
||||
- **不修改**项目根目录的 `ruoyi-vue-pro.sql` 巨量全量转储
|
||||
|
||||
## 前端状态
|
||||
|
||||
**当前工作区未检出完整的前端源码。** `yudao-ui/yudao-ui-admin-vue3/` 仅包含部分 MES 相关文件(`src/api/mes/`、`src/views/mes/`),缺少 `package.json`、`router/`、`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 端如需要独立入口,需新建对应前端项目
|
||||
Reference in New Issue
Block a user