后台管理系统项目总结(3)
1.课程管理之添加功能
- 1.修改aside.html中课程添加的链接
|
|
- 2.将course/course_add.html更名为create.html
- 3.修改add.html中的文件引入
|
|
- 4.在js文件夹下新建一个course文件夹,并新建create.js模块
- 5.当单击按钮的时候,要把添加的课程内容提交到服务器
|
|
2.课程管理之显示课程基本信息
- 1.将course文件夹中的course_step1.html更名为basic.html
- 2.修改此文件下面的文件引入
|
|
- 3.在js/course文件下创建basic.js模块
- 4.根据地址栏中的cs_id到服务器获取数据,并渲染模板,还要添加富文本编辑器
|
|
- 5.页面中的模板信息如下:
|
|
- 6.在basic.html页面中调用定义好的模块
|
|
- 7.页面信息填写完毕,单击按钮,向服务器提交数据,因此需要给保存按钮注册事件:
|
|
3.提取复用性的代码,封装成工具模块
- 1.在js文件夹下面新建一个utils(实用工具的意思)文件夹,并创建utils.js模块
- 2.把复用性的代码,放在此模块当中,代码 如下:
|
|
4.课程图片
1.将course_add_step2.html文件名修改为pic.html,并修改内部文件引用
|
|
2.在course文件夹里面,新建一个文件pic.js,定义模块,无论是单击课程图片,还是跳转过来,都要执行以下代码:
|
|
3.修改pic.html页面中的模板
|
|
4.在pic.html页面中,调用定义好的模块
|
|
5.图片上传插件的改造及使用
1.在pic.html文件中把选择图片按钮改造一下,改成button并添加id为upload
|
|
2.在pic.js模块中,书写代码,当单击上传图片的按钮的时候,可以使用插件上传图片:
|
|
2.在pic.html页面中调用模块
|
|
6.在pic.html中修改图片的路径,给它一个默认的图片
|
|
7.在页面一开始跳转过来的时候,就要显示图片,因此需要发送ajax请求
|
|
6.图片裁切小demo
1.到jcrop.org网站下载插件,是基于jquery的一个插件
|
|
2.小demo的使用,先引入css,jquery, 及jcrop.js文件
|
|
3.在页面中写js代码调用即可,参数为对象:
|
|
4.常用参数介绍:
|
|
5.如果在想在任意位置显示的话,得使用如下代码:
|
|
6.要想在任意位置显示的话,可以让生成的图片追加到对应的位置上
|
|
7.图片裁切功能的使用
1.在public/assets文件夹下面,添加jquery-jcrop文件夹
2.在libs的config.js文件中,配置路径,并在下面设置依赖项,因为它不支持模块化
|
|
3.在pic.html页面中把裁切图片的a标签修改成按钮,并添加一个类名
|
|
4.在pic.html页面中引入jcrop的css文件,以方便裁切
|
|
5.在pic.js中单击按钮的时候,调用Jcrop(),并将按钮的状态修改为保存,并设置一个自定义属性来存储状态
|
|
6.当第一次点击按钮的时候,完整的代码如下:
|
|
8.课时管理功能
1.修改lesson.html页面中文件路径的引用
|
|
2.在course中新建一个lesson.js的文件,定义模块,一打开这个页面的时候,要显示信息
|
|
3.lesson.html页面中的模块代码如下:
|
|
9.课时管理之添加按钮
- 1.添加按钮的时候,当点击添加按钮的时候,要显示模态框
|
|
- 2.单击添加按钮,要渲染模板(因为添加和编辑是一个模态框)
|
|
- 3.此时的模板数据是这样的:这里面的模板中的input标签是没有value值的。
|
|
- 3.当单击按钮 的时候,要向服务器提交数据,代码如下
|
|
- 4.添加成功之后,刷新当前页面,也就是相当于再次打开当前页面,因此需要 将之前的代码 进行封装:
|
|
- 5.上面的代码都需要改变一下,如上
10.课时管理之编辑按钮
- 1.当单击编辑按钮的时候,要弹出模态框并将当前课时的数据显示在页面上
|
|
- 2.此时的模板中的数据,如下所示: 也是给之前的文本框添加了value属性
|
|
- 3.此时你会发现,课程编辑的按钮和右下角保存的按钮不存在了,需要 我们自己添加对应的属性,来渲染在当前的模板上,完整的代码如下所示:
|
|
- 4.当单击保存按钮 的时候,你会发现,虽然你是重新编辑的内容,但是却当成了添加,因为课时添加和课时编辑是同一个模板,同一个按钮 ,此时需要 进行区分,如何让一个按钮根据不同的功能,分别提交到不同的接口呢,此时就不能用按钮提交数据了,得用表单提交数据,因此给表单添加一个属性
|
|
- 5.那么课程添加的按钮中的代码如下: 其实只增加了一行代码 ,就是第6行
|
|
- 6.那么编辑代码中的代码如下: 其实只增加了一行代码 ,就是第14行
|
|
要当单击编辑按钮的时候,也要显示当前的模态框,而且还要把数据渲染在上面
|
|
3.由于是添加和编辑的按钮,都是同一个模态框,此时编辑按钮功能,再把添加按钮修改一下:
|
4.当我们单击保存按钮的时候,就是下面的代码:
|
|
11.课程列表实现
1.在js/course文件夹下面,新建list.js文件,并定义模块
|
|
2.list.html模板的拼接(下面的很多course是重复的,在模板里面,只需要一个即可)
|
|
3.在list.html页面中调用模板
|
|
12.Echarts
- 1.在js/dashboard下面新建一个index.js文件,新粘进如下代码:
|
|
- 2.在js/libs/config.js文件中添加依赖,代码如下:
|
|
- 3.在页面中调用代码
|
|
13.NProgress 的用法
|
|
- 2.如果想让每一个ajax也有如此的效果的话,则需要 再添加两行代码 :
|
|
- 3.注意一定要添加模块引入,或是清一下缓存,看一下效果