课程管理-添加和删除小节 | 学习笔记

简介: 简介:快速学习课程管理-添加和删除小节

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程管理-添加和删除小节】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11388


课程管理-添加和删除小节

 

内容介绍

一、添加小节

二、效果测试

三、删除小节

四、最终测试


一、添加小节

1.前端部分

首先在添加小节时,除了小节本身还需要使用到课程 id 和章节 id,所以也要对这俩 id 值做设置。

image.png

(1)openvideo()添加小节弹框方法

设置章节 id:this.video.chapterId = chapterId。

将弹框时已经传过来的章节 id(chapterId),设置给小节中的章节 id。设置完毕后,就能够弹出一个弹框部分。弹框之后能在弹框中输入相关信息,

包括:小节标题、小节排序等等,最后点击弹框中的确定按钮就可以将数据加到数据库中。

l 代码如下:

//添加小节弹框的方法

openvideo(chapterId) {

//弹框

dialogvideoFormvisible = true

//设置章节id

将章节id,在video中交chapterId,将方法中传入的章节id值赋给小节中。

this.video.chapterId = chapterId

},

(2)saveorupdatevideo()确定方法

最后编写确定方法 saveOrUpdateVideo 在其中作最后方法的一个添加,在其中肯定调用的也是 video 中的添加方法。

l 代码如下:

//弹框中的确定方法

saveorupdatevideo() {

//调用addVideo( )方法

this.addVideo( )

},

(3)addvideo() 添加小节方法

考虑其中还有一个修改方法,我们将添加小节方法 addvideo() 写在外面。

首先在其中做个调用,同时传入小节的对象。之后使用.then 加上 response 箭头函数表示添加成功后的操作,添加成功后与章节一样也是关闭弹框、提示信息、刷新页面。

将代码复制过来,弹框更改为小节弹窗 dialogVideoFormvisible;同时更改提示信息为添加小节成功。

l 添加章节借鉴代码:

//添加章节

addChapter() {

//设置课程id到chapter对象里面

This.chapter.courseId =  this.courseIdchapter

addChapter(this.chapter)

then( response => {

//关闭弹框

this.dialogChapterFormVisible = false/提示

this.$message({

type: 'success',

message: ‘添加章节成功!‘});

//刷新页面

this.getchaptervideo( )

})

},

但目前仅设置了一个章节 id 还有一个课程 id。所以在添加小节 addVideo()中再设置一个课程 id。

l 代码如下:

//设置课程 id

this.video.courseId = this.courseId

而课程 id 是在按键设置中:添加小节< /el-button>的 chapter.id 传过来的。

l 添加小节按键设置代码

添加小节< /el-button>

编辑

删除

< /span>

l 122行 methods 中添加代码(完整版)

methods:{

//===========================小节操作===============

//添加小节弹框的方法

openvideo(chapterId) {

//弹框

dialogvideoFormvisible = true

//设置章节id

将章节 id,在 video 中交 chapterId,将方法中传入的章节 id 值赋给小节中。

this.video.chapterId = chapterId

},

//在方法中做最后的添加,调用 video 中的添加方法。该方法写在外围,其中还要添加小节。

//添加小节

addvideo() {

//设置课程id

this.video.courseId = this.courseId

//调用,this.video表示传入小节的对象

video.addvideo( this.video)

//.then再加上response箭头函数,表示添加成功

.then( response => {

//之后和章节的一致,关闭弹框并且提示信息添加成功,并且刷新页面,复制chapter 后的代码,要更改 dialogChapterFormvisible为dialogVideoFormvisible表示小节弹框

//关闭弹框

this.dialogVideoFormvisible = false

//提示

this.$message({

type: " success',

//更改提示信息为添加小节成功!

//刷新页面

this.getChaptervideo()

})

//弹框中的确定方法

saveorupdatevideo() {

//调用 addVideo( )方法

this.addVideo( )

},

2.接口部分

对 EduVideo.java72 行代码中创建时间部分进行更改,加上自动填充。

l 更改处代码如下:

@ApiModelProperty(value =“创建时间)

//表示自动填充

@TableField(fill = FieldFill.INSERT)

private Date gmtCreate;

@ApiModelProperty(value = “更新时间")

//表示自动填充

@TableField(fill = FieldFill.INSERT_UPDATE)

private Date gmtModified;

 

二、效果测试

将前端和接口代码都启动,来到前端。首先刷新页面,点击添加小节后,在成功显示的弹框中输入小节内容信息,点击确定后。

1.小问题:第二次添加残留上一次添加的内容信息

可以看见显示添加小节成功同时章节下显示了添加的小节。但此时存在一个小问题,当第二次在章节中添加小节时,出现的弹框仍然留着第一次添加时输入的信息,所以可以在此处添加一个清空,即在刚才写的 openVideo()方法中添加清空其中的值即可。

l 添加章节的弹框代码:

//弹出添加章节页面

openChapterDialog(){

//弹框

this.dialogChapterFormvisible = true

//表单数据清空,小节的弹框内容清空写法与其一致

this.chapter.title= ‘ ’

this.chapter. sort = 0

}

继续测试,再添加一个小节。显示如下,到此成功完成章节中显示小节的功能。

 

三、删除小节

小节中也应有修改和删除功能,此功能与章节显示一致,包括修改和删除。

删除功能,删除和修改都一样,首先要在小节后面添加删除按钮,所以复制之前的添加小节按键代码复制在视频内。

同时更改代码,首先删除多余的添加小节按钮,之后更改绑定事件为 removeVideo(video.id),传入参数 video.id 小节 id。

l 参考章节按键代码如下:

<span class="acts">

//添加小节按钮

<el-button style="" type="text" @click="openVideo(chapter.id)">添加小节< /el-button>

//编辑按钮

<el-button style="" type="text" ac lick="openEditchatper(chapter.id)">编辑</el-button>

//删除按钮

<el-button type="text” aclick="removeChapter(chapter.id)">删除</el-button>

< /span>

l 小节处删除按钮添加如下:

<l--视频-->

<ul class="chanpterList videoList">

<li

v-for="video in chapter.children"

: key="video.id">

<p>{{ video.title }}

//添加代码如下

<span class="acts">

<el-button style="" type="text" >编辑</el-button>

//绑定事件removeVideo(video.id),同时传入参数video.id小节id

<el-button type="text” aclick="removeVideo(video.id)">删除</el-button>

< /span>

</p>

</li>

</ul>

< /li>

< /ul>

完成按钮之后,将 removeVideo()方法在 method 中作个定义。同时删除小节肯定也是需要确认框选择确定和取消,借鉴章节的确认框进行实现。

l 章节确认框代码:

this.$confirm("此操作将删除章节,是否继续?,‘提示',{

confirmButtonText :‘确定',

cancelButtonText: '取消',type: "warning"

}).then(() =>{ //点击确定,执行then方法

//调用删除的方法

chapter.deletechapter(chapterId)

.then( response =>{//删除成功

//提示信息

this.$messageK {

type: " success' ,message:‘删除成功!"});

//刷新页面

this.getchaptervideo( )

})

})//点击取消,执行catch方法

将其中的章节提示都改为小节提示,同时更改点击弹框中确定后调用的方法为video 中的删除小节的方法。

l method 中添加的 removevideo()方法代码:

//======================小节操作=================

//定义删除小节方法,里面传入小节 id

removevideo( id) {

//确认框

this.$confirm("此操作将删除小节,是否继续?,‘提示',{

confirmButtonText :‘确定',

cancelButtonText: '取消',

type: "warning"

}).then(() =>{ //点击确定,执行then方法

//调用video里面删除小节的方法

video.deleteVideo(id)

.then( response =>{//删除小节成功

//提示小节信息

this.$messageK {

type: " success' ,

message:‘删除小节成功!"

});

//刷新页面

this.getchaptervideo( )

})

})//点击取消,执行catch方法

},

到此,删除小节功能的内容全部完成。之后的表单清空和修改小节等功能参考章节部分留给同学自行完成。


四、最终测试

1.测试

假设此时要删除其中的第一节,点击删除按钮,对应成功显示弹框,点击取消,回到原页面。

点击确认之后就会显示删除小节成功!第一节被成功删除。

2.总结

到此章节和小节管理就全部做到了,过程中没有极大难点。先写接口功能,然后在前端调用。

同时前端中要使用弹框,需要注意其中的某些值要手动传递,比方:章节中需要课程 id,小节里需要章节和课程的两个 id,在此都做了传递。

相关文章
|
前端开发 Java Nacos
课程管理-删除课程删除视频(最终测试) | 学习笔记
简介:快速学习课程管理-删除课程删除视频(最终测试)
93 0
课程管理-删除课程删除视频(最终测试) | 学习笔记
|
存储 前端开发 JavaScript
课程管理-修改课程信息(最终实现) | 学习笔记
简介:快速学习课程管理-修改课程信息(最终实现)
168 0
课程管理-修改课程信息(最终实现) | 学习笔记
|
Java Nacos 开发者
课程管理-删除小节删除视频(服务调用) | 学习笔记
简介:快速学习课程管理-删除小节删除视频(服务调用)
82 0
课程管理-删除小节删除视频(服务调用) | 学习笔记
|
JSON 前端开发 JavaScript
课程管理-修改课程信息(前端)| 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
225 0
课程管理-修改课程信息(前端)| 学习笔记
|
开发者 微服务
课程管理-删除章节 | 学习笔记
简介:快速学习课程管理-删除章节
111 0
课程管理-删除章节 | 学习笔记
|
Java 测试技术 应用服务中间件
课程管理-删除小节删除视频(功能测试) | 学习笔记
简介:快速学习课程管理-删除小节删除视频(功能测试)
110 0
课程管理-删除小节删除视频(功能测试) | 学习笔记
|
数据库 开发者 微服务
课程管理-修改章节 | 学习笔记
简介:快速学习课程管理-修改章节
85 0
课程管理-修改章节 | 学习笔记
|
数据建模 Java 开发工具
课程管理-删除视频接口 | 学习笔记
简介:快速学习课程管理-删除视频接口
113 0
课程管理-删除视频接口 | 学习笔记
|
前端开发 API 数据库
课程管理-删除视频前端 | 学习笔记
简介:快速学习课程管理-删除视频前端
106 0
课程管理-删除视频前端 | 学习笔记
|
存储 前端开发 JavaScript
课程管理-修改课程信息(前端) | 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
80 0
课程管理-修改课程信息(前端) | 学习笔记