后台管理系统项目总结(2)
1.匿名模块和具名模块以及非模块改造成模块化
1.1匿名模块
- 之前使用的除了jquery之外,其它的都是我们自己定义的,这些都是匿名模块(没有自己真正的字)
1.2具有模块
|
|
1.3将非模块改成模块化
|
|
2.提取公共模块
1.提取公共模块信息 把script.html中的require.config中的信息,提取到单独的文件当中
2.在public里面新建一个libs的文件夹,再新建一个config.js的文件,把之前配置信息放在里面
3.把require.js由原来的public/assets/require文件夹中,剪切到当前libs的文件当中
4.把common文件夹中script.html文件中的路径修改成如下格式:
|
|
3.侧边栏的交互功能
- 1.创建并切换到分支 navs下面,因为要做侧边栏中课程管理和系统设置的交互功能,代码如下:
|
|
- 2.到public->js->dashboard/common.js中,先把此文件上面的代码注释写清楚(登陆,登陆后的用户名和头像的渲染,退出功能等),然后再写侧边栏的交互功能的代码,代码如下:
|
|
- 3.在navs分支中的操作,及时的进行提交并保存操作记录,代码如下:
|
|
- 4.切换到主分支master并合并分支
|
|
4.修改侧边栏的结构
- 1.创建分支asideUpdate
|
|
- 2.修改侧边栏的模块,就是添加一些内容或是删除一些内容
|
|
- 3.及时提交保存
|
|
5.讲师管理之显示讲师列表信息
1.先创建分支teacher_mananger并切换到此分支下面
|
|
2.aside.html中修改讲师管理的链接
|
|
3.在teacher文件夹下,找到list.html文件,修改里面的文件引入
|
|
4.js文件夹下面新建teacher文件夹,再新建list.js文件,书写代码如下:
|
|
5.在teacher文件夹下面的list.html拼接模板,代码如下:
|
|
6.在teacher文件夹下的list.html页面中,调用 模块,代码如下:
|
|
6.讲师管理之查看某个讲师
1.给查看按钮 注册事件
|
|
2.要把之前讲师列表的每一个id都存储起来
|
|
3.要发送ajax请求,获取数据,以下代码 是在list.js中书写:
|
|
4.渲染页面中的模板
|
|
7.讲师的注销和启用
思路:
|
|
1.在list.html页面中给注销的按钮添加一个类.btnHandle
2.在讲师列表渲染的时候,根据返回来的tc_status判断当前的按钮显示的文字,如果是0的话则显示注销,如果是 1的话,则显示启用,在list.html文件当中修改,代码如下:
|
|
3.在list.js文件当中,给按钮注册事件,发送ajax请求,请求回来数据之后,要及时的更新按钮的tc_status值:
|
|
4.保存并提交
8.讲师编辑功能的实现
1.当单击编辑按钮的时候,要跳转到编辑页面,而添加讲师功能的页面和此页面是一致的,因此需要修改此页面的名称为manager.html
2.在list.html页面的模板中,修改编辑按钮的路径,因为跳转之后,需要用当前的id来查询对应的讲师信息,在当前页面渲染出来,因为在路径后面需要拼接字符串,代码为:
|
|
3.在js/teacher的文件夹下面,新建一个manager.js的文件,定义并编辑模块。
4.根据当前的网址信息,获取网址?后面的字符串,拼接成对象,然后根据id,发送ajax请求,获取对应的信息,渲染出来,代码如下:
|
|
5.把manager.html页面的form表单做为模板,进行修改,代码如下:
|
|
6.当单击保存按钮的时候,要发送ajax请求,来保存当前重新编辑过的内容,此时 使用的是.ajaxSubmit(),这个请求的好处,是直接从表单获取数据,不用自己手动获取数据了,代码如下:
|
|
7.保存上述操作,并用git提交到版本仓库。
9.讲师添加功能的实现
1.当单击讲添加按钮的时候,页面会根据里面的链接进行跳转,而此页面会加载 manager.js模块,此模块中的代码需要地址栏中的id号,但是添加按钮的跳转,地址栏中是没有id号的,因此会报错,解决的办法就是在manager.js中做一个判断,如果有id,则说明是编辑按钮的跳转,如果没有,则是添加按钮的跳转。
|
|
2.其中有两个地方的代码是重复的,因此需要封装到函数中,封装完后的代码如下:
|
|
10.日期插件的使用
1.先在需要使用日期插件的页面引入css,也就是在manager.html页面中引入静态文件
|
|
2.在config.js配置文件中,引入其对应的js文件,中文格式的文件一并引入进来
|
|
3.在manager.js模块使用的时候,先引入模块,然后在页面模板渲染完毕之后 ,调用日期插件方法
|
|
4.注意datepickerzh插件不支持模块化,需要添加依赖:
|
|
之前完成 了的任务
|
|