# 网上培训课程 — 前端技术方案 > 依据:`网上培训课程功能需求.md`、`网上培训课程技术方案.md`;布局对齐 `techService/practicalTraining/index.vue`(双 `el-card`、只读无写操作);字段 **小驼峰**。 --- ## 1. 页面与路由 | 项 | 说明 | | --- | --- | | **Vue 路径** | `ruoyi-ui/src/views/techService/onlineTrainingCourse/index.vue` | | **组件名** | `OnlineTrainingCourse` | | **菜单配置** | 组件路径:`techService/onlineTrainingCourse/index`(「科技平台与服务」目录下,手工配置) | | **权限前缀** | `techService:onlineTrainingCourse:list`、`techService:onlineTrainingCourse:query` | --- ## 2. API 模块 | 项 | 说明 | | --- | --- | | **文件** | `ruoyi-ui/src/api/techService/onlineTrainingCourse.js` | | **Base** | `/techService/onlineTrainingCourse` | | 方法 | HTTP | 说明 | | --- | --- | --- | | `listOnlineTrainingCourse` | GET | `/list`,Query:`pageNum`、`pageSize`、`courseTitle`、`courseTopic` | | `getOnlineTrainingCourse` | GET | `/{id}` 详情 | | `listInformationCategoryChildren` | GET | `/category/informationCategory/children?parentCode=005&categoryType=8` 课程主题下拉(`code`/`name`) | | `listOnlineTrainingCourseTopics` | GET | `/courseTopics` 可选;返回已发布课程去重编码 | **本期无** POST / PUT / DELETE。 --- ## 3. 页面结构 1. **筛选区**:课程主题(下拉,`value=code`、`label=name`,数据来自资讯类别 `children`);课程标题(模糊);搜索、重置。**无**增删改发布下架。 2. **列表区**:课程标题、课程简介(前 50 字 + 「…」)、课程主题、视频文件(`videoFileName` 或「已上传」)、操作(仅 **查看**)。默认 `pageSize=20`。 3. **空状态**:无筛选时「暂无已发布的培训课程」;有筛选无结果时「未找到符合条件的培训课程」。 4. **查看弹窗**:`el-descriptions` 只读展示课程标题、主题、简介(保留换行)、封面(`image-preview` 或「—」)、视频(`