任务:
-
完善添加课程基本信息
整合文本编辑器
-
课程大纲管理
课程大纲的列表显示
课程章节的增删改查
课程小节的增删改查 -
课程信息的确认
编写sql语句实现功能
课程的最终发布
1. 课程简介添加文本编辑器
1. 复制文本编辑器组件
2. 课程大纲列表功能
和前面做的分类列表类似。涉及到2个表:小结和章节
- 创建2个实体类:小结实体类 + 章节实体类,章节实体类中包含小结实体类。
- controller
- service
前端
chapter.js调用后端接口
测试:
用element-ui插件改进前端。
需要实现2个接口:查询课程信息接口、修改课程信息接口
- 修改EduCourseServiceImpl.java:
- 修改前端:
- 数据回显
获取到路由课程id;
根据路由id查询接口;
数据显示;
测试:
原因:
回显时,一级id传过去了,只要id穿过去就可以回显,所以一级id被选中。但是二级id没传过去,所以回显不了,所以得重新查找:先查找所有一级列表,然后在所有一级列表中查找选中的一级id,如果有直接返回二级id,即children。
bug:添加信息后,到点击下一页,然后再返回上一页,刚才的信息存在,但是再次点击菜单按钮时,信息没有清空。
修改功能实现
- 填好信息到下一步后,又返回上一页,这时数据已经存到数据库,接下来的操作是进行修改。
- 后台接口已经实现,只需修改前台。
此时该按钮方法就要判断是增加还是修改了,写2个方法,一个添加,一个修改。再写一个saveOrupdate(),该方法里面判断是添加还是修改,然后调用上面2个方法之一。
添加时,无课程信息中无id值,而修改时,课程信息中有id值,可根据这个来判断是添加还是修改。
2. 课程大纲的增删改查
添加章节
- 引入章节element-ui组件;
- 后端开发
关于删除章节
这里采取的方法是:章节下无小节就删除,否则禁止删除。
前端添加章节功能
测试:
原因:courseId没有设置值。
bug:添加后二次添加章节,上次添加时的数据还在。
解决:每次点击添加章节触发事件时,在方法里面先清空数据。
修改章节
- 点击编辑,先根据id进行数据查找,并显示在页面:
- 点击确定,修改数据。
确定按钮有可能是添加也可能是修改,统一调用saveOrUpdate(),由该方法来确定调用哪个方法(根据是否有id进行操作)。
- 删除章节
添加小节
删除小节
查找小节
修改小节(待完成)
3. 信息确认
Controller调用Service,Service调用Mapper,Mapper执行mapper.xml方法中对应的sql语句并返回结果。
-
mapper.xml中手写sql.
-
Controller调用Service
-
Service中调用mapper中的方法
-
mapper.xml执行
这里涉及返回多个表的信息,所以设置一个类,包含这些表中需要返回的信息。
运行:
原因:
解决:
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
properties文件中添加:
测试:
(完)