所有分类
  • 所有分类
  • 编程开发
黑马Web前端8大阶段培训课程(全),零基础到高级,视频教程百度云 内容更新

黑马Web前端8大阶段培训课程(全),零基础到高级,视频教程百度云 内容更新

资源大小:220GB
资源发放:百度网盘
更新时间:13/02/2023
发布日期:20/10/2022
资源下载
下载价格26C,VIP免费,请先
唯有不断学习和奋斗 方能实现梦想!
VIP用户免C币下载,下载前请阅读上方文件目录,下载链接为百度云网盘,如链接失效,可在用户中心提交工单。

黑马Web前端8大阶段培训课程(全),零基础到高级,视频教程百度云 内容更新-1
本套课程黑马程序:前端零基础到高级,课程包前端开发基础、移动Web网页开发、JavaScript网页编程、前后端交互、Vue.js 项目实战开发、 微信小程序、React项目实战、面试指导+前端面试题,文件大小共计60G。

本套课程非常适合零基础同学学习,学完本课程可全面掌握Web前端目前主流技术,适合想转行从事前端工作的同学自学,也适合一定基础的同学想进一步提升巩固自己的技术跳槽更好的单位,都可以学习本套课程,文章底部附下载地址。

2022-8-16更新黑马前端V7.6,本次更新分为8大阶段,文件大小共计159.11G

2023-2-14更新前端V7.6+在职加薪课,本次更新的是9-14阶段的内容,更新后文件大小共计239.79G

更多Web前端课程,推荐学习:

1.Web全栈架构师,课程包含6-34期,目标是带大家4个月掌握中高级前端必备技能,冲击高薪;

2.Web前端高级工程师,课程全面覆盖当下主流前端开发所需要的各方面知识,凭借本套课程体系,最终能让学员们开发出基于vue和react的工程级项目为结课标准,并成长为技术过硬的Web前端高级工程师;

3.深入Node.js技术栈:无论你处于前端开发的哪一个阶段,都会带给你更多的成长,提高自己在前端开发中的技术和核心竞争力。

黑马Web前端8大阶段培训课程(全),零基础到高级,视频教程百度云 内容更新-2

黑马前端零基础到高级 视频截图

V-3194:黑马前端零基础到高级V-3771:黑马前端V7.6前端V7.6+在职加薪课
目录
│  
├─01-阶段一 前端开发基础
│  ├─01第一章 前端就业班课程导学
│  │      第一章 前端就业班课程导学.mp4
│  │      
│  ├─02第二章 HTML5 + CSS3课前导学
│  │      第二章 HTML5 + CSS3课前导学.mp4
│  │      
│  ├─03第三章 VSCode编辑器的使用【v6.5】
│  │      00-vscode软件安装.zip
│  │      01vscode基本使用.mp4
│  │      02vscode插件安装.mp4
│  │      
│  ├─04第四章 HTML【v6.5】
│  │  ├─4-1 HTML初识
│  │  │      01-基础班学习路线.mp4
│  │  │      02-HTML简介导读.mp4
│  │  │      03-网页的相关概念.mp4
│  │  │      04-常用浏览器以及内核.mp4
│  │  │      05-web标准.mp4
│  │  │      06-HTML标签导读.mp4
│  │  │      07-HTML语法规范.mp4
│  │  │      08-HTML基本结构标签.mp4
│  │  │      09-VSCode工具创建页面.mp4
│  │  │      10-DOCTYPE和lang以及字符集的作用.mp4
│  │  │      11-标签语义.mp4
│  │  │      12-标题标签.mp4
│  │  │      13-段落标签和换行标签.mp4
│  │  │      14-体育新闻案例.mp4
│  │  │      15-文本格式化标签.mp4
│  │  │      16-div和span标签.mp4
│  │  │      17-图像标签(上).mp4
│  │  │      18-图像标签(下).mp4
│  │  │      19-图像标签注意点.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─4-2 HTML文件路径
│  │  │      20-目录文件夹和根目录.mp4
│  │  │      21-相对路径(上).mp4
│  │  │      22-相对路径(下).mp4
│  │  │      23-绝对路径.mp4
│  │  │      24-链接标签(上).mp4
│  │  │      25-链接标签(下).mp4
│  │  │      26-锚点链接.mp4
│  │  │      27-注释标签和特殊字符.mp4
│  │  │      28-综合案例(上).mp4
│  │  │      29-综合案例(下).mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─4-3 HTML表格和列表
│  │  │      01-HTML标签(下)导读.mp4
│  │  │      02-表格标签基本使用.mp4
│  │  │      03-表头单元格标签.mp4
│  │  │      04-表格相关属性(了解).mp4
│  │  │      05-小说排行榜案例.mp4
│  │  │      06-表格结构标签.mp4
│  │  │      07-合并单元格.mp4
│  │  │      08-表格总结.mp4
│  │  │      09-无序列表.mp4
│  │  │      10-有序列表.mp4
│  │  │      11-自定义列表.mp4
│  │  │      12-列表总结.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  └─4-4 HTML表单
│  │          13-表单使用场景以及分类.mp4
│  │          14-表单域.mp4
│  │          15-input之type属性文本框和密码框.mp4
│  │          16-input之type属性单选按钮和复选框.mp4
│  │          17-input之name和value属性.mp4
│  │          18-input之checked和maxlength属性.mp4
│  │          19-input表单元素四个属性使用场景课堂问答.mp4
│  │          20-input之type属性提交和重置按钮.mp4
│  │          21-input之type属性普通按钮和文件域.mp4
│  │          22-label标签.mp4
│  │          23-select下拉表单.mp4
│  │          24-textarea文本域标签.mp4
│  │          25-表单元素几点总结.mp4
│  │          26-综合案例-注册页面(一).mp4
│  │          27-综合案例-注册页面(二).mp4
│  │          28-综合案例-注册页面(三).mp4
│  │          29-综合案例-注册页面(四).mp4
│  │          30-学会查阅文档.mp4
│  │          单元测试.docx
│  │          课后练习.zip
│  │          
│  ├─05第五章 CSS【v6.5】
│  │  ├─5-1 CSS基本选择器
│  │  │      01-CSS层叠样式表导读.mp4
│  │  │      02-CSS简介.mp4
│  │  │      03-体验CSS语法规范.mp4
│  │  │      04-CSS代码风格.mp4
│  │  │      05-CSS选择器的作用.mp4
│  │  │      06-标签选择器.mp4
│  │  │      07-类选择器.mp4
│  │  │      08-使用类选择器画盒子.mp4
│  │  │      09-类选择器特殊使用-多类名.mp4
│  │  │      10-id选择器.mp4
│  │  │      11-通配符选择器.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-10 清除浮动+PS切图
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  ├─一
│  │  │  │      22-为什么清除浮动.mp4
│  │  │  │      23-清除浮动本质以及额外标签法.mp4
│  │  │  │      24-清除浮动之父元素overflow.mp4
│  │  │  │      25-清除浮动之after伪元素.mp4
│  │  │  │      26-清除浮动之双伪元素.mp4
│  │  │  │      27-清除浮动.mp4
│  │  │  │      
│  │  │  ├─二
│  │  │  │      01-常见的图片格式.mp4
│  │  │  │      02-ps切图-图层切图(上).mp4
│  │  │  │      03-ps切图-图层切图(下).mp4
│  │  │  │      04-ps切图-切片工具.mp4
│  │  │  │      05-ps切图-cutterman安装.mp4
│  │  │  │      06-ps切图-cutterman使用技巧.mp4
│  │  │  │      
│  │  │  └─课后练习
│  │  │      │  课后练习.docx
│  │  │      │  
│  │  │      ├─01-CSS清除浮动-文章推荐信息
│  │  │      │  │  .DS_Store
│  │  │      │  │  01-CSS清除浮动-练习题-文章推荐信息-参考答案.html
│  │  │      │  │  01-CSS清除浮动-练习题-文章推荐信息.docx
│  │  │      │  │  
│  │  │      │  ├─imgs
│  │  │      │  │      banner_n.jpg
│  │  │      │  │      
│  │  │      │  └─__MACOSX
│  │  │      │      └─01-CSS清除浮动-文章推荐信息
│  │  │      │          └─imgs
│  │  │      ├─02-CSS清除浮动-个人相册
│  │  │      │  │  .DS_Store
│  │  │      │  │  02-CSS清除浮动-练习题-个人相册-参考答案.html
│  │  │      │  │  02-CSS清除浮动-练习题-个人相册.docx
│  │  │      │  │  
│  │  │      │  ├─images
│  │  │      │  │      objpic01.jpg
│  │  │      │  │      objpic02.jpg
│  │  │      │  │      objpic03.jpg
│  │  │      │  │      objpic04.jpg
│  │  │      │  │      objpic05.jpg
│  │  │      │  │      objpic06.jpg
│  │  │      │  │      objpic07.jpg
│  │  │      │  │      objpic08.jpg
│  │  │      │  │      objpic09.jpg
│  │  │      │  │      
│  │  │      │  └─__MACOSX
│  │  │      │      └─02-CSS清除浮动-个人相册
│  │  │      │          └─images
│  │  │      ├─images
│  │  │      │  │  objpic01.jpg
│  │  │      │  │  objpic02.jpg
│  │  │      │  │  objpic03.jpg
│  │  │      │  │  objpic04.jpg
│  │  │      │  │  objpic05.jpg
│  │  │      │  │  objpic06.jpg
│  │  │      │  │  objpic07.jpg
│  │  │      │  │  objpic08.jpg
│  │  │      │  │  objpic09.jpg
│  │  │      │  │  
│  │  │      │  └─__MACOSX
│  │  │      │      └─images
│  │  │      └─imgs
│  │  │          │  banner_n.jpg
│  │  │          │  
│  │  │          └─__MACOSX
│  │  │              └─imgs
│  │  ├─5-11 学成网在线项目
│  │  │      07-学成在线案例准备工作.mp4
│  │  │      08-CSS属性书写顺序(重要).mp4
│  │  │      09-页面布局整体思路.mp4
│  │  │      10-学成在线-header区域制作.mp4
│  │  │      11-学成在线-logo区域制作.mp4
│  │  │      12-学成在线-导航栏nav区域制作(上).mp4
│  │  │      13-学成在线-导航栏nav区域制作(中).mp4
│  │  │      14-学成在线-导航栏nav区域制作(下).mp4
│  │  │      15-学成在线-搜索search模块input制作.mp4
│  │  │      16-学成在线-搜索search模块button制作.mp4
│  │  │      17-学成在线-用户user模块制作.mp4
│  │  │      18-学成在线-banner模块制作.mp4
│  │  │      19-学成在线-subnav模块制作(上).mp4
│  │  │      20-学成在线-subnav模块制作(下).mp4
│  │  │      21-学成在线-course模块制作(上).mp4
│  │  │      22-学成在线-course模块制作(中).mp4
│  │  │      23-学成在线-course模块制作(下).mp4
│  │  │      24-学成在线-精品推荐模块(上).mp4
│  │  │      25-学成在线-精品推荐模块(中).mp4
│  │  │      26-学成在线-精品推荐模块(下).mp4
│  │  │      27-学成在线-box-hd模块制作.mp4
│  │  │      28-学成在线-box-bd模块制作.mp4
│  │  │      29-学成在线-box模块完成.mp4
│  │  │      30-学成在线-footer模块制作.mp4
│  │  │      31-学成在线-copyright模块制作.mp4
│  │  │      32-学成在线-links模块制作.mp4
│  │  │      
│  │  ├─5-12 CSS四种定位
│  │  │      01-定位导读.mp4
│  │  │      02-为什么需要定位.mp4
│  │  │      03-定位组成.mp4
│  │  │      04-相对定位.mp4
│  │  │      05-绝对定位-没有父级或者父级无定位情况.mp4
│  │  │      06-绝对定位-父级有定位情况.mp4
│  │  │      07-绝对定位脱标的不占有原来位置.mp4
│  │  │      08-子绝父相的由来.mp4
│  │  │      09-子绝父相案例-hot模块.mp4
│  │  │      10-固定定位.mp4
│  │  │      11-固定定位小技巧-固定到版心右侧.mp4
│  │  │      12-粘性定位(了解).mp4
│  │  │      13-定位总结.mp4
│  │  │      14-定位的叠放顺序.mp4
│  │  │      15-绝对定位的盒子居中算法.mp4
│  │  │      16-定位的特殊特性.mp4
│  │  │      17-浮动元素不会压住标准流的文字定位会.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-13 元素显示和隐藏
│  │  │      18-淘宝焦点图布局分析.mp4
│  │  │      19-淘宝焦点图-大盒子制作.mp4
│  │  │      20-淘宝焦点图-左侧箭头按钮制作.mp4
│  │  │      21-淘宝焦点图-右侧箭头按钮制作.mp4
│  │  │      22-淘宝焦点图-ul盒子模块制作.mp4
│  │  │      23-淘宝焦点图-li小圆点模块制作.mp4
│  │  │      24-网页布局总结.mp4
│  │  │      25-display显示隐藏元素.mp4
│  │  │      26-visibility显示隐藏元素.mp4
│  │  │      27-overflow溢出显示隐藏.mp4
│  │  │      28-土豆案例(上).mp4
│  │  │      29-土豆案例(下).mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-14 精灵图和字体图标
│  │  │      01-CSS高级技巧导读.mp4
│  │  │      02-为什么需要精灵技术.mp4
│  │  │      03-精灵图使用(原理).mp4
│  │  │      04-精灵图使用(代码).mp4
│  │  │      05-精灵图案例-拼出自己名字.mp4
│  │  │      06-字体图标产生和优点.mp4
│  │  │      07-字体图标下载.mp4
│  │  │      08-字体图标的使用.mp4
│  │  │      09-字体图标的追加和加载原理.mp4
│  │  │      10-CSS三角的做法.mp4
│  │  │      11-CSS三角应用-京东效果.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-15 CSS进阶
│  │  │      12-用户界面-鼠标样式.mp4
│  │  │      13-用户界面-取消表单轮廓和防止拖拽文本域.mp4
│  │  │      14-vertical-align实现行内块和文字垂直居中对齐.mp4
│  │  │      15-图片底侧空白缝隙解决方案.mp4
│  │  │      16-单行文字溢出省略号显示.mp4
│  │  │      17-多行文字溢出省略号显示.mp4
│  │  │      18-布局技巧-margin负值巧妙运用(上).mp4
│  │  │      19-布局技巧-margin负值巧妙运用(下).mp4
│  │  │      20-布局技巧-文字围绕浮动元素巧妙运用.mp4
│  │  │      21-布局技巧-行内块的巧妙运用.mp4
│  │  │      22-布局技巧-CSS三角巧妙运用(上).mp4
│  │  │      23-布局技巧-CSS三角巧妙运用(下).mp4
│  │  │      24-CSS初始化.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─5-2 CSS样式
│  │  │      12-font-family设置字体系列.mp4
│  │  │      13-font-size字号大小.mp4
│  │  │      14-font-weight字体粗细.mp4
│  │  │      15-font-style字体样式.mp4
│  │  │      16-font复合属性写法.mp4
│  │  │      17-字体属性总结.mp4
│  │  │      18-文本颜色color.mp4
│  │  │      19-文本对齐text-align.mp4
│  │  │      20-文本装饰text-decoration.mp4
│  │  │      21-文本缩进text-indent.mp4
│  │  │      22-行间距line-height.mp4
│  │  │      23-CSS文本属性总结.mp4
│  │  │      24-内部样式表.mp4
│  │  │      25-行内样式表.mp4
│  │  │      26-外部样式表.mp4
│  │  │      27-CSS引入方式总结.mp4
│  │  │      28-综合案例-新闻页面.mp4
│  │  │      29-综合案例-修改样式(一).mp4
│  │  │      30-综合案例-修改样式(二).mp4
│  │  │      31-综合案例-修改样式(三).mp4
│  │  │      32-chrome调试工具使用.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-3 CSS复合选择器
│  │  │      01-CSS第二天导读.mp4
│  │  │      02-emmet语法生成html标签.mp4
│  │  │      03-emmet语法快速生成css样式.mp4
│  │  │      04-快速格式化代码.mp4
│  │  │      05-复合选择器简介.mp4
│  │  │      06-后代选择器.mp4
│  │  │      07-子元素选择器.mp4
│  │  │      08-课堂练习.mp4
│  │  │      09-并集选择器.mp4
│  │  │      10-链接伪类选择器(上).mp4
│  │  │      11-链接伪类选择器(下).mp4
│  │  │      12-focus伪类选择器.mp4
│  │  │      13-复合选择器总结.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-4 元素显示模式
│  │  │      14-什么是元素显示模式.mp4
│  │  │      15-块元素.mp4
│  │  │      16-行内元素.mp4
│  │  │      17-行内块元素.mp4
│  │  │      18-元素显示模式总结.mp4
│  │  │      19-显示模式的转换.mp4
│  │  │      20-一个小工具snipaste的使用.mp4
│  │  │      21-简洁版小米侧边栏案例.mp4
│  │  │      22-单行文字垂直居中的原理.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-5 CSS背景
│  │  │      23-背景颜色.mp4
│  │  │      24-背景图片.mp4
│  │  │      25-背景平铺.mp4
│  │  │      26-背景位置-方位名词.mp4
│  │  │      27-背景位置案例一.mp4
│  │  │      28-背景位置案例二-王者荣耀背景图片.mp4
│  │  │      29-背景位置-精确单位.mp4
│  │  │      30-背景位置-混合单位.mp4
│  │  │      31-背景固定.mp4
│  │  │      32-背景属性复合写法.mp4
│  │  │      33-背景颜色半透明.mp4
│  │  │      34-背景总结.mp4
│  │  │      35-综合案例-五彩导航(上).mp4
│  │  │      36-综合案例-五彩导航(二).mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-6 CSS三大特性
│  │  │      01-CSS三大特性之层叠性.mp4
│  │  │      02-CSS三大特性之继承性.mp4
│  │  │      03-行高的继承.mp4
│  │  │      04-CSS三大特性之优先级.mp4
│  │  │      05-优先级注意的问题.mp4
│  │  │      06-CSS权重的叠加.mp4
│  │  │      07-权重两个练习题.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-7 CSS盒模型
│  │  │      08-盒子模型导读.mp4
│  │  │      09-看透网页布局本质.mp4
│  │  │      10-盒子模型组成部分.mp4
│  │  │      11-盒子模型边框border.mp4
│  │  │      12-边框的复合写法.mp4
│  │  │      13-表格细线边框.mp4
│  │  │      14-边框会影响盒子实际大小.mp4
│  │  │      15-盒子模型内边距padding.mp4
│  │  │      16-padding复合属性.mp4
│  │  │      17-padding会影响盒子实际大小.mp4
│  │  │      18-padding应用-新浪导航栏(上).mp4
│  │  │      19-padding应用-新浪导航栏(下).mp4
│  │  │      20-小米侧边栏修改.mp4
│  │  │      21-padding不会撑开盒子的情况.mp4
│  │  │      22-盒子模型外边距margin.mp4
│  │  │      23-外边距典型应用-块级盒子水平居中对齐.mp4
│  │  │      24-行内元素和行内块元素水平居中.mp4
│  │  │      25-外边距合并-相邻块元素垂直外边距.mp4
│  │  │      26-外边距合并-嵌套块元素塌陷.mp4
│  │  │      27-清除内外边距.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─5-8 PS基本操作+圆角和阴影
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  ├─一
│  │  │  │      28-ps的基本操作.mp4
│  │  │  │      29-综合案例-产品模块布局分析.mp4
│  │  │  │      30-综合案例-box布局.mp4
│  │  │  │      31-综合案例-图片和段落制作.mp4
│  │  │  │      32-学成在线-links模块制作.mp4
│  │  │  │      32-综合案例-评价和详情制作.mp4
│  │  │  │      33-综合案例-竖线细节制作.mp4
│  │  │  │      34-pink老师解惑.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01-综合案例-快报模块布局分析.mp4
│  │  │          02-综合案例-快报模块头部制作.mp4
│  │  │          03-综合案例-快报模块列表制作.mp4
│  │  │          04-圆角边框原理.mp4
│  │  │          05-圆角边框的使用.mp4
│  │  │          06-盒子阴影.mp4
│  │  │          07-文字阴影.mp4
│  │  │          
│  │  └─5-9 浮动
│  │          08-浮动导读.mp4
│  │          09-传统网页布局三种方式.mp4
│  │          10-为什么需要浮动.mp4
│  │          11-什么是浮动.mp4
│  │          12-浮动特性-脱标.mp4
│  │          13-浮动特性-浮动元素一行显示.mp4
│  │          14-浮动特性-浮动元素具有行内块特性.mp4
│  │          15-浮动元素经常搭配标准流的父元素.mp4
│  │          16-浮动布局练习1.mp4
│  │          17-浮动布局练习2.mp4
│  │          18-浮动练习-手机模块(上).mp4
│  │          19-浮动练习-手机模块(下).mp4
│  │          20-常见的网页布局.mp4
│  │          21-浮动的两个注意点.mp4
│  │          课后练习.zip
│  │          
│  ├─06第六章 HTML5和CSS3【v6.5】
│  │  ├─6-1 HTML5
│  │  │      01-HTML5CSS3提高导读.mp4
│  │  │      02-HTML5提高-新增语义化标签.mp4
│  │  │      03-HTML5-新增视频标签.mp4
│  │  │      04-HTML5新增音频标签.mp4
│  │  │      05-HTML5新增input表单.mp4
│  │  │      06-HTML5新增表单属性.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  └─6-2 CSS3
│  │          07-CSS3新增属性选择器(上).mp4
│  │          08-CSS3新增属性选择器(下).mp4
│  │          09-CSS3新增结构伪类选择器-选择第n个元素.mp4
│  │          10-CSS3新增nth-child选择器(上).mp4
│  │          11-CSS3新增nth-child选择器(下).mp4
│  │          11-nth-child和nth-of-type的区别.mp4
│  │          12-CSS3新增伪元素选择器使用场景和由来.mp4
│  │          13-CSS3新增伪元素选择器基本使用.mp4
│  │          14-伪元素选择器使用场景1-配合字体图标.mp4
│  │          15-伪元素选择器使用场景2-仿土豆效果.mp4
│  │          16-伪元素选择器使用场景3-伪元素清除浮动本质.mp4
│  │          17-CSS3盒子模型border-box.mp4
│  │          18-CSS3图片模糊处理.mp4
│  │          19-计算盒子宽度calc函数.mp4
│  │          20-CSS3新增属性过渡(上).mp4
│  │          21-CSS3新增属性过渡(下).mp4
│  │          22-CSS3过渡练习.mp4
│  │          23-广义的H5(了解).mp4
│  │          课后练习.zip
│  │          
│  ├─07第七章 品优购电商项目【v6.5】
│  │  ├─7-1 品优购项目介绍及准备工作
│  │  │      01-品优购项目导读.mp4
│  │  │      02-网站制作流程.mp4
│  │  │      03-品优购项目规划.mp4
│  │  │      04-品优购项目搭建.mp4
│  │  │      05-品优购项目-样式的模块化开发.mp4
│  │  │      06-品优购项目-favicon图标制作.mp4
│  │  │      07-品优购项目-TDK三大标签SEO优化.mp4
│  │  │      
│  │  ├─7-2 首页Header区域实现
│  │  │      08-品优购首页-快捷导航shortcut结构搭建.mp4
│  │  │      09-品优购首页-快捷导航左侧制作.mp4
│  │  │      10-品优购首页-快捷导航右侧搭建.mp4
│  │  │      11-品优购首页-快捷导航右侧字体图标.mp4
│  │  │      12-品优购首页-header头部模块搭建.mp4
│  │  │      13-品优购首页-logoSEO优化(上).mp4
│  │  │      14-品优购首页-logoSEO优化(下).mp4
│  │  │      15-品优购首页-search搜索模块(上)(1).mp4
│  │  │      15-品优购首页-search搜索模块(上).mp4
│  │  │      16-品优购首页-search搜索模块(下).mp4
│  │  │      17-品优购首页-hotwords热词模块.mp4
│  │  │      18-品优购首页-shopcar模块制作.mp4
│  │  │      index.cfg
│  │  │      
│  │  ├─7-3 首页Footer区域实现
│  │  │      19-品优购首页-count购物车统计模块.mp4
│  │  │      20-品优购首页-nav导航模块搭建.mp4
│  │  │      21-品优购首页-dropdown模块制作.mp4
│  │  │      22-品优购首页-导航详细分类制作(上).mp4
│  │  │      23-品优购首页-导航详细分类制作(下).mp4
│  │  │      24-品优购首页-navitems模块制作.mp4
│  │  │      25-品优购首页-footer底部模块搭建.mp4
│  │  │      26-品优购首页-mod_servecie模块制作(上).mp4
│  │  │      27-品优购首页-mod_servecie模块制作(下).mp4
│  │  │      28-品优购首页-mod_help模块制作.mp4
│  │  │      29-品优购首页-mod_copyright模块制作.mp4
│  │  │      
│  │  ├─7-4 首页Main区域实现
│  │  │      01-品优购首页-main主体盒子搭建.mp4
│  │  │      02-品优购首页-newsflash模块搭建.mp4
│  │  │      03-品优购首页-news-hd模块制作.mp4
│  │  │      04-品优购首页-new-bd模块制作.mp4
│  │  │      05-品优购首页-lifeservice制作(上).mp4
│  │  │      06-品优购首页-lifeservice制作(下).mp4
│  │  │      07-品优购首页-推荐模块recom(上).mp4
│  │  │      08-品优购首页-推荐模块recom(下).mp4
│  │  │      09-品优购首页-家用电器模块搭建.mp4
│  │  │      10-品优购首页-家用电器模块头部制作.mp4
│  │  │      11-tab栏选项卡原理布局需求.mp4
│  │  │      12-品优购首页-tab_list-item布局(上).mp4
│  │  │      13-品优购首页-tab_list-item布局(中).mp4
│  │  │      14-品优购首页-tab_list-item布局(下).mp4
│  │  │      
│  │  └─7-5 列表页和注册页实现+网站上传
│  │          15-品优购列表-结构搭建.mp4
│  │          16-品优购列表页-秒杀模块制作.mp4
│  │          17-品优购列表页-导航模块修改.mp4
│  │          18-品优购列表页-一个小问题.mp4
│  │          20-品优购列表页-结束.mp4
│  │          21-品优购注册页-header制作.mp4
│  │          22-品优购列表页-注册主体模块头部制作.mp4
│  │          23-品优购注册页-注册主体制作(上).mp4
│  │          24-品优购注册页-注册主体制作(下).mp4
│  │          25-品优购注册页-安全程度模块.mp4
│  │          26-品优购注册页-同意模块和完成注册模块.mp4
│  │          27-品优购项目页面相互跳转以及作业安排.mp4
│  │          28-什么是服务器.mp4
│  │          29-申请免费空间以及网站上传.mp4
│  │          30-课程总结.mp4
│  │          
│  └─阶段作业 前端开发基础-试卷
│      │  前端开发基础-第1套试卷.docx
│      │  
│      └─博学谷官网静态页面制作(html+css)
│          │  .DS_Store
│          │  
│          ├─01-视频
│          │      第一阶段:阶段作业分析.mp4
│          │      
│          ├─02-资料
│          │      .DS_Store
│          │      01-题干-博学谷官网静态页面制作(html+css).txt
│          │      HTML5+CSS3阶段-阶段作业分析.pdf
│          │      前端学科-前端基础阶段作业-学生版.docx
│          │      博学谷官网设计图.png
│          │      效果图.png
│          │      
│          └─03-素材
│              │  favicon.ico
│              │  
│              └─images
│                      infos.png
│                      left.png
│                      logo.png
│                      news.png
│                      per.png
│                      pub.png
│                      pub01.png
│                      right.png
│                      search.png
│                      web.jpg
│                      weibo.png
│                      weixin.png
│                      wk.jpg
│                      
├─02-阶段二 移动Web网页开发
│  ├─01第一章 移动web网页开发课前导学
│  │      1-1 移动web网页开发课前导学.mp4
│  │      
│  ├─02第二章 H5C3进阶【v6.5】
│  │  ├─2-1 vscode编辑器基本使用
│  │  │      01vscode 基本使用.mp4
│  │  │      02vscode插件安装.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-2 HTML5新增标签【复习】
│  │  │      01-什么是HTML5.mp4
│  │  │      02-HTML5新增标签.mp4
│  │  │      03-多媒体音频标签.mp4
│  │  │      04-多媒体视频标签.mp4
│  │  │      05-HTML5新增input标签.mp4
│  │  │      06-HTML5新增表单属性-1603472965.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-3 CSS3新增选择器及案例【复习】
│  │  │      07-CSS3属性选择器(上).mp4
│  │  │      08-CSS3属性选择器(下).mp4
│  │  │      09-CSS3结构伪类选择器(上).mp4
│  │  │      10-nth-child(n).mp4
│  │  │      11-nth-child和nth-of-type的区别-1603473018.mp4
│  │  │      12-CSS3伪元素选择器.mp4
│  │  │      13-伪元素选择器案例.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-4 2D转换及相关案例实现
│  │  │  │  单元测试.docx
│  │  │  │  课后练习.zip
│  │  │  │  
│  │  │  ├─一
│  │  │  │      14-2D转换之translate.mp4
│  │  │  │      15-让一个盒子水平垂直居中.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01-2D转换之rotate.mp4
│  │  │          02-CSS3 三角.mp4
│  │  │          03-设置转换中心点.mp4
│  │  │          04-旋转中心点案例.mp4
│  │  │          05-2D转换之scale.mp4
│  │  │          06-图片放大案例.mp4
│  │  │          07-分页按钮案例.mp4
│  │  │          08-2D转换综合写法以及顺序问题.mp4
│  │  │          09-CSS3动画基本使用.mp4
│  │  │          10-动画序列.mp4
│  │  │          11-CSS3动画常见属性.mp4
│  │  │          12-CSS3动画简写.mp4
│  │  │          13-大数据热点图案例(上).mp4
│  │  │          14-大数据热点图案例(下).mp4
│  │  │          15-速度曲线之steps步长.mp4
│  │  │          16-奔跑的熊大案例.mp4
│  │  │          
│  │  └─2-5 3D转换和旋转木马案例
│  │          01-认识3D转换.mp4
│  │          02-3D转换translate3d.mp4
│  │          03-透视perspective.mp4
│  │          04-translateZ.mp4
│  │          05-3D旋转rotateX.mp4
│  │          06-3D旋转rotateY.mp4
│  │          07-3D旋转rotateZ.mp4
│  │          08-3D呈现transform-style.mp4
│  │          09-两面翻转盒子案例.mp4
│  │          10-3D导航栏(上).mp4
│  │          11-3D导航栏(下).mp4
│  │          12-综合案例-旋转木马案例(上).mp4
│  │          13-综合案例-旋转木马案例(下).mp4
│  │          14-浏览器私有前缀以及总结.mp4
│  │          单元测试.docx
│  │          课后练习.zip
│  │          
│  ├─03第三章 Flex 伸缩布局【v6.5】
│  │  ├─3-1 移动端基础知识
│  │  │      00-移动WEB开发流式布局导读.mp4
│  │  │      01-移动端基础.mp4
│  │  │      02-视口.mp4
│  │  │      03-meta视口标签.mp4
│  │  │      04-物理像素与物理像素比(1).mp4
│  │  │      05-二倍图.mp4
│  │  │      06-背景缩放background-size.mp4
│  │  │      07-背景二倍图以及多倍图切图.mp4
│  │  │      08-移动端开发选择.mp4
│  │  │      09-移动端技术解决方案.mp4
│  │  │      10-移动端特殊样式.mp4
│  │  │      11-移动端技术选型.mp4
│  │  │      12-流式布局.mp4
│  │  │      
│  │  ├─3-2 移动端电商首页制作
│  │  │      13-京东移动端首页准备工作.mp4
│  │  │      14-body设置.mp4
│  │  │      15-app布局.mp4
│  │  │      16-app内容填充.mp4
│  │  │      17-搜索模块布局.mp4
│  │  │      18-搜索模块内容制作.mp4
│  │  │      19-二倍精灵图的做法.mp4
│  │  │      20-焦点图制作.mp4
│  │  │      21-品牌日模块制作.mp4
│  │  │      22-导航栏nav模块制作.mp4
│  │  │      23-新闻快报模块.mp4
│  │  │      24-京东移动端首页结束.mp4
│  │  │      
│  │  ├─3-3 Flex伸缩布局基础知识
│  │  │      00-移动WEB开发flex布局导读.mp4
│  │  │      01-flex布局体验.mp4
│  │  │      02-flex布局原理.mp4
│  │  │      03-flex设置主轴方向.mp4
│  │  │      04-justify-content设置主轴子元素排列.mp4
│  │  │      05-flex-wrap子元素是否换行.mp4
│  │  │      06-align-items设置侧轴子元素排列.mp4
│  │  │      07-align-content设置侧轴子元素排列.mp4
│  │  │      08-flex-flow以及总结.mp4
│  │  │      09-子项flex属性使用.mp4
│  │  │      10-align-self和order.mp4
│  │  │      
│  │  └─3-4 移动端携程网首页制作
│  │          11-携程移动端首页准备工作.mp4
│  │          12-首页布局分析以及搜索模块布局.mp4
│  │          13-搜索模块user制作.mp4
│  │          14-搜索模块制search制作.mp4
│  │          15-焦点图focus模块制作.mp4
│  │          16-local-nav布局.mp4
│  │          17-local-nav内容制作.mp4
│  │          18-利用属性选择器更换背景图片.mp4
│  │          19-nav外观布局.mp4
│  │          20-nav内容制作.mp4
│  │          21-背景渐变linear-gradient.mp4
│  │          22-subnav-entry模块制作.mp4
│  │          23-热门活动模块制作.mp4
│  │          24-更多福利模块制作.mp4
│  │          25-sales-bd模块制作.mp4
│  │          
│  ├─04第四章 移动web开发【v6.5】
│  │  ├─4-1 媒体查询
│  │  │      01-移动WEB开发rem适配布局导读.mp4
│  │  │      02-rem单位.mp4
│  │  │      03-媒体查询语法简介.mp4
│  │  │      04-媒体查询案例背景变色.mp4
│  │  │      05-媒体查询+rem实现元素动态大小变化.mp4
│  │  │      06-媒体查询引入资源.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-2 less介绍和使用
│  │  │      07-CSS的弊端.mp4
│  │  │      08-less简介以及安装.mp4
│  │  │      09-less变量.mp4
│  │  │      10-less编译easy less插件.mp4
│  │  │      11-less嵌套.mp4
│  │  │      12-less运算.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-3 rem适配及原理
│  │  │      13-rem适配方案原理.mp4
│  │  │      14-rem最终适配方案.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-4 移动端苏宁首页制作和rem
│  │  │      15-苏宁首页common.less制作.mp4
│  │  │      16-苏宁首页import导入样式.mp4
│  │  │      17-苏宁首页body样式设置.mp4
│  │  │      18-苏宁首页search-content模块布局.mp4
│  │  │      19-苏宁首页search-content内容布局.mp4
│  │  │      20-苏宁首页search模块制作.mp4
│  │  │      21-苏宁首页banner和广告模块制作.mp4
│  │  │      22-苏宁首页nav部分制作.mp4
│  │  │      23-rem适配方案2flexible.js简介.mp4
│  │  │      24-rem适配方案2苏宁首页前期准备工作.mp4
│  │  │      25-rem适配方案2body样式修改.mp4
│  │  │      26-一个神奇的vscode插件cssrem.mp4
│  │  │      27-修改flexible默认html字体大小.mp4
│  │  │      28-rem适配方案2search-content内容制作1.mp4
│  │  │      29-rem适配方案2search-content内容制作2.mp4
│  │  │      
│  │  ├─4-5 响应式开发介绍
│  │  │      01-移动web开发响应式布局导读.mp4
│  │  │      02-响应式开发原理.mp4
│  │  │      03-响应式布局容器.mp4
│  │  │      04-响应式导航案例.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─4-6 Bootstrap介绍和使用
│  │  │      05-Bootstrap简介.mp4
│  │  │      06-Bootstrap使用(上).mp4
│  │  │      07-Bootstrap使用(下).mp4
│  │  │      08-Bootstrap布局容器.mp4
│  │  │      09-Bootstrap栅格系统.mp4
│  │  │      10-Bootstrap栅格系统使用(上).mp4
│  │  │      11-Bootstrap栅格系统使用(下).mp4
│  │  │      12-Bootstrap列嵌套.mp4
│  │  │      13-Bootstarp列偏移.mp4
│  │  │      14-Bootstrap列排序.mp4
│  │  │      15-Bootstrap响应式工具.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  └─4-7 阿里百秀响应式页面制作
│  │          16-阿里百秀需求分析.mp4
│  │          17-阿里百秀前期准备工作.mp4
│  │          18-修改container最大宽度.mp4
│  │          19-阿里百秀logo制作.mp4
│  │          20-阿里百秀nav制作引入字体图标.mp4
│  │          21-阿里百秀news制作(上).mp4
│  │          22-阿里百秀news制作(下).mp4
│  │          23-阿里百秀publish模块制作.mp4
│  │          24-阿里百秀aside模块制作.mp4
│  │          25-阿里百秀logo响应式制作.mp4
│  │          26-阿里百秀nav响应式制作.mp4
│  │          27-阿里百秀news响应式制作.mp4
│  │          28-阿里百秀publish响应式制作.mp4
│  │          29-移动端开发总结.mp4
│  │          
│  └─阶段作业 移动Web网页开发-试卷
│      │  移动Web网页开发-试卷.docx
│      │  
│      └─PC端和移动端响应式网站
│          ├─PC端和移动端响应式网站
│          │  │  .DS_Store
│          │  │  
│          │  ├─01-视频
│          │  │      第二阶段:阶段作业分析.mp4
│          │  │      
│          │  ├─02-资料
│          │  │  │  .DS_Store
│          │  │  │  前端学科-移动web阶段作业-学生版.docx
│          │  │  │  移动Web网页开发阶段-阶段作业分析.pdf
│          │  │  │  
│          │  │  ├─效果图
│          │  │  │      效果图01.png
│          │  │  │      效果图02.png
│          │  │  │      
│          │  │  └─设计图
│          │  │          .DS_Store
│          │  │          设计图01.png
│          │  │          设计图02.png
│          │  │          
│          │  └─03-素材
│          │      │  favicon.ico
│          │      │  
│          │      └─images
│          │              .DS_Store
│          │              banner-qzns.jpg
│          │              logo.png
│          │              psIco-01.png
│          │              psIco-02.png
│          │              psIco-03.png
│          │              
│          └─__MACOSX
│              └─PC端和移动端响应式网站
│                  ├─01-视频
│                  ├─02-资料
│                  │  ├─效果图
│                  │  └─设计图
│                  └─03-素材
│                      └─images
├─03-阶段三 JavaScript网页编程
│  ├─01第一章 JavaScript网页编程课前导学
│  │      1-1 JavaScript网页编程课前导学.mp4
│  │      
│  ├─02第二章 JavaScript 基础语法【v6.5】
│  │  ├─2-1 计算机基础和Javascript介绍
│  │  │      01-计算机基础导读.mp4
│  │  │      02-编程语言.mp4
│  │  │      03-计算机基础.mp4
│  │  │      04-JavaScript初识导读.mp4
│  │  │      05-初始JavaScript.mp4
│  │  │      06-浏览器执行JS过程.mp4
│  │  │      07-JS三部分组成.mp4
│  │  │      08-JS三种书写位置.mp4
│  │  │      09-JS注释.mp4
│  │  │      10-JS输入输出语句.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-10 javascript对象
│  │  │      18-对象导读.mp4
│  │  │      19-什么是对象以及为什么需要对象.mp4
│  │  │      20-利用对象字面量创建对象.mp4
│  │  │      21-变量属性函数方法的区别.mp4
│  │  │      22-利用new Object创建对象.mp4
│  │  │      23-我们为什么需要构造函数.mp4
│  │  │      24-构造函数创建对象(上).mp4
│  │  │      25-构造函数创建对象(下).mp4
│  │  │      26-构造函数和对象区别.mp4
│  │  │      27-new关键字执行过程.mp4
│  │  │      28-遍历对象.mp4
│  │  │      29-小结和作业.mp4
│  │  │      单位测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-11 javascript内置对象及案例
│  │  │      01-内置对象导读.mp4
│  │  │      02-什么是内置对象.mp4
│  │  │      03-学会查阅MDN文档.mp4
│  │  │      04-数学对象Math最大值方法.mp4
│  │  │      05-封装自己的数学对象.mp4
│  │  │      06-Math绝对值和三个取整方法.mp4
│  │  │      07-Math随机数方法.mp4
│  │  │      08-猜数字游戏.mp4
│  │  │      09-Date日期对象的使用.mp4
│  │  │      10-格式化日期年月日星期.mp4
│  │  │      11-格式化日期时分秒.mp4
│  │  │      12-Date总的毫秒数(时间戳).mp4
│  │  │      13-倒计时(上).mp4
│  │  │      14-倒计时(下).mp4
│  │  │      15-数组创建的两种方式.mp4
│  │  │      16-检测是否为数组两种方式.mp4
│  │  │      17-添加数组元素.mp4
│  │  │      18-删除数组元素.mp4
│  │  │      19-筛选数组.mp4
│  │  │      20-数组排序.mp4
│  │  │      21-获取数组元素索引.mp4
│  │  │      22-数组去重案例.mp4
│  │  │      23-数组转换为字符串.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-12 javascript简单类型和复杂类型
│  │  │      24-基本包装类型.mp4
│  │  │      25-字符串不可变.mp4
│  │  │      26-根据字符返回位置.mp4
│  │  │      27-求某个字符出现的位置以及次数.mp4
│  │  │      28-根据位置返回字符.mp4
│  │  │      29-统计出现次数最多的字符(上).mp4
│  │  │      30-统计出现次数最多的字符(下).mp4
│  │  │      31-拼接以及截取字符串.mp4
│  │  │      32-替换字符串以及转换为数组.mp4
│  │  │      33-简单数据类型和复杂数据类型导读.mp4
│  │  │      34-数据类型内存分配.mp4
│  │  │      35-简单数据类型传参.mp4
│  │  │      36-复杂数据类型传参.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-2 Javascript变量
│  │  │      11-变量导读.mp4
│  │  │      12-什么是变量.mp4
│  │  │      13-变量的使用.mp4
│  │  │      14-变量案例.mp4
│  │  │      15-变量案例弹出用户名.mp4
│  │  │      16-变量语法扩展.mp4
│  │  │      17-变量的命名规范.mp4
│  │  │      18-交换2个变量的值.mp4
│  │  │      19-变量小结.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-3 Javascript数据类型
│  │  │      20-数据类型导读.mp4
│  │  │      21-数据类型简介.mp4
│  │  │      22-数字型Number.mp4
│  │  │      23-isNaN.mp4
│  │  │      24-字符串型String.mp4
│  │  │      25-弹出网页警示框.mp4
│  │  │      26-字符串长度以及拼接.mp4
│  │  │      27-字符串拼接加强.mp4
│  │  │      28-显示年龄案例.mp4
│  │  │      29-boolean以及undefined和null.mp4
│  │  │      30-typeof检测变量数据类型.mp4
│  │  │      31-字面量.mp4
│  │  │      32-转换为字符串类型.mp4
│  │  │      33-转换为数字型parseInt和parseFloat.mp4
│  │  │      34-转换为数字型Number和隐式转换.mp4
│  │  │      35-计算年龄案例.mp4
│  │  │      36-简单加法器案例.mp4
│  │  │      37-转换为布尔型.mp4
│  │  │      38-拓展阅读之编译和解释语言的区别.mp4
│  │  │      39-拓展阅读之标识符关键字保留字.mp4
│  │  │      40-课后作业.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-4 Javascript操作符
│  │  │      01-运算符导读.mp4
│  │  │      02-算数运算符.mp4
│  │  │      03-表达式和返回值.mp4
│  │  │      04-前置递增运算符.mp4
│  │  │      05-后置递增运算符.mp4
│  │  │      06-递增运算符练习.mp4
│  │  │      07-前置递增和后置递增小结.mp4
│  │  │      08-比较运算符.mp4
│  │  │      09-逻辑运算符.mp4
│  │  │      10-逻辑运算符练习.mp4
│  │  │      11-逻辑中断逻辑与.mp4
│  │  │      12-逻辑中断逻辑或.mp4
│  │  │      13-赋值运算符.mp4
│  │  │      14-运算符优先级.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-5 Javascript流程控制及案例
│  │  │      15-流程控制分支结构导读.mp4
│  │  │      16-流程控制.mp4
│  │  │      17-if分支语句.mp4
│  │  │      18-进入网吧案例.mp4
│  │  │      19-ifelse双分支语句.mp4
│  │  │      20-判断闰年案例.mp4
│  │  │      21-if else if多分支语句.mp4
│  │  │      22-判断成绩案例.mp4
│  │  │      23-三元表达式.mp4
│  │  │      24-数字补0案例.mp4
│  │  │      25-switch语句.mp4
│  │  │      26-switch 注意事项.mp4
│  │  │      27-查询水果案例.mp4
│  │  │      28-switch和ifelseif 区别.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-6 javascript循环及案例
│  │  │      01-循环导读.mp4
│  │  │      02-循环的目的.mp4
│  │  │      03-for循环语法结构.mp4
│  │  │      04-for循环执行过程.mp4
│  │  │      05-断点调试.mp4
│  │  │      06-for循环重复执行相同代码.mp4
│  │  │      07-for循环重复执行不同代码.mp4
│  │  │      08-for循环重复某些操作.mp4
│  │  │      09-for循环案例.mp4
│  │  │      10-求学生成绩案例(上).mp4
│  │  │      11-求学生成绩案例(下).mp4
│  │  │      12-一行打印五颗星星.mp4
│  │  │      13-双重for循环执行过程.mp4
│  │  │      14-打印5行5列的星星.mp4
│  │  │      15-打印n行n列的星星.mp4
│  │  │      16-打印倒三角形案例.mp4
│  │  │      17-九九乘法表.mp4
│  │  │      18-for循环小结.mp4
│  │  │      19-while循环.mp4
│  │  │      20-while案例.mp4
│  │  │      21-do while循环.mp4
│  │  │      22-do while案例.mp4
│  │  │      23-循环小结.mp4
│  │  │      24-continue关键字.mp4
│  │  │      25-break关键字.mp4
│  │  │      26-命名规范以及语法格式.mp4
│  │  │      27-循环作业.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-7 Javascript数组和冒泡排序
│  │  │      01-数组导读.mp4
│  │  │      02-什么是数组以及创建方式.mp4
│  │  │      03-访问数组元素.mp4
│  │  │      04-遍历数组.mp4
│  │  │      05-数组长度.mp4
│  │  │      06-计算数组的和以及平均值.mp4
│  │  │      07-求数组中的最大值.mp4
│  │  │      08-数组转换为字符串.mp4
│  │  │      09-数组新增元素.mp4
│  │  │      10-数组存放1~10个值.mp4
│  │  │      11-筛选数组方法1.mp4
│  │  │      12-筛选数组方法2.mp4
│  │  │      13-删除数组指定元素(数组去重).mp4
│  │  │      14-翻转数组.mp4
│  │  │      15-复习交换两个变量值.mp4
│  │  │      16-冒泡排序原理.mp4
│  │  │      17-冒泡排序.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-8 Javascript函数及应用
│  │  │      18-函数导读.mp4
│  │  │      19-为什么需要函数.mp4
│  │  │      20-函数的使用.mp4
│  │  │      21-利用函数求1~100累加和.mp4
│  │  │      22-函数的参数.mp4
│  │  │      23-利用函数求任意两个数的和以及累加和.mp4
│  │  │      24-函数形参和实参匹配问题.mp4
│  │  │      25-函数的返回值return.mp4
│  │  │      26-利用函数求两个数的最大值.mp4
│  │  │      27-利用函数求数组中的最大值.mp4
│  │  │      28-return终止函数并且只能返回一个值.mp4
│  │  │      29-函数返回值2个注意事项.mp4
│  │  │      30-通过榨汁机看透函数.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  └─2-9 javascript作用域及预解析
│  │          01-arguments使用.mp4
│  │          02-利用函数求任意个数的最大值.mp4
│  │          03-利用函数翻转数组.mp4
│  │          04-函数封装冒泡排序.mp4
│  │          05-利用函数判断闰年.mp4
│  │          06-函数可以调用另外一个函数.mp4
│  │          07-输出2月份天数.mp4
│  │          08-函数的两种声明方式.mp4
│  │          09-作用域导读.mp4
│  │          10-JavaScript作用域.mp4
│  │          11-全局变量和局部变量.mp4
│  │          12-JavaScript没有块级作用域就.mp4
│  │          13-作用域链.mp4
│  │          14-作用域链案例.mp4
│  │          15-JavaScript预解析导读.mp4
│  │          16-预解析.mp4
│  │          17-预解析案例.mp4
│  │          单元测试.docx
│  │          课后练习.zip
│  │          
│  ├─03第三章 WebAPI编程【v6.5】
│  │  ├─3-1 API 和 Web API
│  │  │      01-Web APIs简介导读.mp4
│  │  │      02-js基础和Web APIs两个阶段的关联性.mp4
│  │  │      03-API 和 Web API.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─3-10 定时器和相关案例
│  │  │      11-定时器之setTimeout.mp4
│  │  │      12-回调函数以及5秒之后自动关闭的广告.mp4
│  │  │      13-清除定时器clearTimeout.mp4
│  │  │      14-定时器之setInterval.mp4
│  │  │      15-倒计时效果.mp4
│  │  │      16-清除定时器clearInterval.mp4
│  │  │      17-发送短信案例.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-11 this指向和js执行机制
│  │  │      18-this指向问题.mp4
│  │  │      19-js 同步和异步.mp4
│  │  │      20-同步任务和异步任务执行过程.mp4
│  │  │      21-js执行机制.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-12 location、navigator、history对象
│  │  │      22-location对象常见属性.mp4
│  │  │      23-5秒钟之后跳转页面.mp4
│  │  │      24-获取URL参数.mp4
│  │  │      25-location常见方法.mp4
│  │  │      26-navigator对象.mp4
│  │  │      27-history对象.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-13 offset、client、scroll三大家族介绍及案例应
│  │  │      01-PC端网页特效导读.mp4
│  │  │      02-offsetLeft和offsetTop获取元素偏移.mp4
│  │  │      03-offsetWidth和offsetHeight获取元素大小.mp4
│  │  │      04-offset与style区别.mp4
│  │  │      05-获取鼠标在盒子内的坐标.mp4
│  │  │      06-拖动模态框(上).mp4
│  │  │      07-拖动模态框(中).mp4
│  │  │      08-拖动模态框(下).mp4
│  │  │      09-仿京东放大镜效果页面结构搭建.mp4
│  │  │      10-仿京东放大镜效果显示隐藏遮挡层和大盒子.mp4
│  │  │      11-仿京东放大镜效果遮挡层跟随鼠标.mp4
│  │  │      12-仿京东放大镜效果限制遮挡层移动范围.mp4
│  │  │      13-仿京东放大镜效果大图片移动.mp4
│  │  │      14-client系列.mp4
│  │  │      15-立即执行函数.mp4
│  │  │      16-淘宝flexibleJS源码分析之核心原理.mp4
│  │  │      17-淘宝flexibleJS源码分析之pageshow事件.mp4
│  │  │      18-scroll系列.mp4
│  │  │      19-仿淘宝固定侧边栏(上).mp4
│  │  │      20-仿淘宝固定侧边栏(下).mp4
│  │  │      21-三大系列总结.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-14 缓动动画的原理和封
│  │  │  │  单元测试.docx
│  │  │  │  课后练习.zip
│  │  │  │  
│  │  │  ├─一
│  │  │  │      22-mouseover和mouseenter区别.mp4
│  │  │  │      23-动画原理.mp4
│  │  │  │      24-简单动画函数封装.mp4
│  │  │  │      25-动画函数-给不同元素记录不同定时器.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01-缓动动画原理.mp4
│  │  │          02-缓动动画基本代码实现.mp4
│  │  │          03-缓动动画多个目标值之间移动.mp4
│  │  │          04-缓动动画添加回调函数.mp4
│  │  │          05-动画函数的使用.mp4
│  │  │          
│  │  ├─3-15 网页轮播图实现
│  │  │      01-缓动动画原理.mp4
│  │  │      02-缓动动画基本代码实现.mp4
│  │  │      03-缓动动画多个目标值之间移动.mp4
│  │  │      04-缓动动画添加回调函数.mp4
│  │  │      05-动画函数的使用.mp4
│  │  │      06-网页轮播图-结构搭建.mp4
│  │  │      07-网页轮播图-鼠标经过显示隐藏左右按钮.mp4
│  │  │      08-网页轮播图-动态生成小圆圈.mp4
│  │  │      09-网页轮播图-小圆圈排他思想.mp4
│  │  │      10-网页轮播图-点击小圆圈滚动图片.mp4
│  │  │      11-网页轮播图-右侧按钮无缝滚动.mp4
│  │  │      12-网页轮播图-克隆第一张图片.mp4
│  │  │      13-网页轮播图小圆圈跟随右侧按钮一起变化.mp4
│  │  │      14-网页轮播图-两个小bug解决方案.mp4
│  │  │      15-网页轮播图-左侧按钮功能制作.mp4
│  │  │      16-网页轮播图-自动播放功能.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-16 节流阀、返回顶部及筋斗云案例
│  │  │      17-节流阀以及逻辑中断应用.mp4
│  │  │      18-带有动画的返回顶部.mp4
│  │  │      19-筋斗云案例.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-17 移动端轮播图实现
│  │  │  │  课后练习.zip
│  │  │  │  
│  │  │  ├─一
│  │  │  │      20-移动端网页特效导读.mp4
│  │  │  │      21-移动端touch触摸事件.mp4
│  │  │  │      22-移动端TouchEvent触摸事件对象.mp4
│  │  │  │      23-移动端拖动元素.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01-移动端轮播图-结构搭建.mp4
│  │  │          02-移动端轮播图-布局分析.mp4
│  │  │          03-移动端轮播图-滚动图片.mp4
│  │  │          04-移动端轮播图-无缝滚动.mp4
│  │  │          05-classList类名操作.mp4
│  │  │          06-移动端轮播图-小圆点跟随变化.mp4
│  │  │          07-移动端轮播图-手指拖动轮播图.mp4
│  │  │          08-移动端轮播图-手指滑动播放上一张下一张图片.mp4
│  │  │          09-移动端轮播图-回弹效果.mp4
│  │  │          10-返回顶部模块制作.mp4
│  │  │          
│  │  ├─3-18 移动端插件使用及轮播图的实现
│  │  │      11-移动端click事件300ms延时问题解决方案.mp4
│  │  │      12-fastclick插件使用.mp4
│  │  │      13-swiper插件使用-引入相关文件.mp4
│  │  │      14-移动端轮播图-按照语法规范使用.mp4
│  │  │      15-swiper插件使用-参数更改.mp4
│  │  │      16-移动端其他插件以及使用总结.mp4
│  │  │      17-视频插件zy.media.js的使用.mp4
│  │  │      18-bootstrap轮播图.mp4
│  │  │      19-阿里百秀轮播图制作.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-19 HTML5本地存储及记住用户名案例
│  │  │      20-本地存储导读.mp4
│  │  │      21-本地存储之sessionStorage.mp4
│  │  │      22-本地存储之localStorage.mp4
│  │  │      23-记住用户名案例.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-2 DOM介绍
│  │  │      04-DOM导读.mp4
│  │  │      05-DOM简介.mp4
│  │  │      06-getElementById获取元素.mp4
│  │  │      07-getElementsByTagName获取某类标签元素.mp4
│  │  │      08-H5新增获取元素方式.mp4
│  │  │      09-获取body和html元素.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─3-3 事件和样式操作及案例
│  │  │      10-事件三要素.mp4
│  │  │      11-执行事件过程.mp4
│  │  │      12-操作元素-修改元素内容.mp4
│  │  │      13-innerText和innerHTML的区别.mp4
│  │  │      14-操作元素-修改元素属性.mp4
│  │  │      15-分时问候案例.mp4
│  │  │      16-操作元素-修改表单属性.mp4
│  │  │      17-仿京东显示隐藏密码明文案例(上).mp4
│  │  │      18-仿京东显示隐藏密码明文案例(下).mp4
│  │  │      19-操作元素-修改样式属性.mp4
│  │  │      20-仿淘宝关闭二维码案例.mp4
│  │  │      21-循环精灵图.mp4
│  │  │      22-显示隐藏文本框内容.mp4
│  │  │      23-使用className修改样式属性.mp4
│  │  │      24-密码框验证信息.mp4
│  │  │      25-操作元素总结以及作业.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-4 百度换肤、表单全选案例
│  │  │      01-排他思想(算法).mp4
│  │  │      02-百度换肤效果.mp4
│  │  │      03-表格隔行变色效果.mp4
│  │  │      04-表单全选取消全选(上).mp4
│  │  │      05-表单全选取消全选(下).mp4
│  │  │      06-获取自定义属性值.mp4
│  │  │      07-设置移除自定义属性.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-5 tab栏切换案例
│  │  │      08-tab栏切换布局分析(重要).mp4
│  │  │      09-tab栏切换制作(上).mp4
│  │  │      10-tab栏切换制作(下).mp4
│  │  │      11-H5自定义属性.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-6 节点操作及发布留言案例
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  ├─一
│  │  │  │      12-为什么学习节点操作以及节点简介.mp4
│  │  │  │      13-节点操作之父节点.mp4
│  │  │  │      14-节点操作之子节点.mp4
│  │  │  │      15-节点操作之第一个子元素和最后一个子元素.mp4
│  │  │  │      16-新浪下拉菜单.mp4
│  │  │  │      17-节点操作之兄弟节点.mp4
│  │  │  │      18-节点操作之创建和添加节点.mp4
│  │  │  │      19-简单版发布留言案例.mp4
│  │  │  │      
│  │  │  ├─二
│  │  │  │      01-节点操作-删除节点.mp4
│  │  │  │      02-删除留言案例.mp4
│  │  │  │      03-节点操作-复制节点.mp4
│  │  │  │      
│  │  │  └─课后练习
│  │  │          节点操作及发布留言案例-练习题-children和childNode的使用.rar
│  │  │          节点操作及发布留言案例-练习题-children和childNode的使用.zip
│  │  │          节点操作及发布留言案例-练习题-当前元素背景颜色改变.rar
│  │  │          节点操作及发布留言案例-练习题-当前元素背景颜色改变.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─3-7 动态创建表格案例
│  │  │      04-动态生成表格-创建学生数据.mp4
│  │  │      05-动态生成表格-创建行.mp4
│  │  │      06-动态生成表格-创建单元格.mp4
│  │  │      07-动态生成表格-单元格填充数据.mp4
│  │  │      08-动态生成表格-创建删除单元格.mp4
│  │  │      09-动态生成表格-添加删除操作.mp4
│  │  │      10-document.write创建元素(了解).mp4
│  │  │      11-innerHTML和createElement效率对比.mp4
│  │  │      12-DOM重点核心.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─3-8 事件详解及案例
│  │  │  │  单元测试.docx
│  │  │  │  课后练习.zip
│  │  │  │  
│  │  │  ├─一
│  │  │  │      13-事件高级导读.mp4
│  │  │  │      14-注册事件两种方式.mp4
│  │  │  │      15-attachEvent注册事件.mp4
│  │  │  │      16-删除事件.mp4
│  │  │  │      17-DOM事件流理论.mp4
│  │  │  │      18-DOM事件流代码验证.mp4
│  │  │  │      19-什么是事件对象.mp4
│  │  │  │      20-e.target和this区别.mp4
│  │  │  │      21-阻止默认行为.mp4
│  │  │  │      22-阻止事件冒泡.mp4
│  │  │  │      23-事件委托.mp4
│  │  │  │      24-禁止选中文字和禁止右键菜单.mp4
│  │  │  │      25-获得鼠标在页面中的坐标.mp4
│  │  │  │      26-跟随鼠标的天使.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01-常用的键盘事件.mp4
│  │  │          02-keyCode判断用户按下哪个键.mp4
│  │  │          03-模拟京东按键输入内容案例.mp4
│  │  │          04-模拟京东快递单号查询(上).mp4
│  │  │          05-模拟京东快递单号查询(下).mp4
│  │  │          
│  │  └─3-9 BOM介绍及应用
│  │          06-BOM导读.mp4
│  │          07+08-BOM概述.mp4
│  │          09-页面加载事件.mp4
│  │          10-调整窗口大小事件.mp4
│  │          单元测试.docx
│  │          课后练习.zip
│  │          
│  ├─04第四章 jQuery 编程【v6.5】
│  │  ├─4-1 jQuery介绍及常用API导读
│  │  │      01-jQuery入门导读.mp4
│  │  │      02-JavaScript库.mp4
│  │  │      03-jQuery概述.mp4
│  │  │      04-jQuery基本使用-入口函数.mp4
│  │  │      05-jQuery顶级对象$.mp4
│  │  │      06-DOM对象和jQuery对象.mp4
│  │  │      07-DOM对象和jQuery对象相互转换.mp4
│  │  │      08-jQuery常用API导读.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─4-2 jQuery选择器及案例
│  │  │      09-jQuery基本和层级选择器.mp4
│  │  │      10-jQuery隐式迭代.mp4
│  │  │      11-jQuery筛选选择器.mp4
│  │  │      12-jQuery筛选方法-选取父子元素.mp4
│  │  │      13-新浪下拉菜单.mp4
│  │  │      14-jQuery其他筛选方法.mp4
│  │  │      15-jQuery排他思想.mp4
│  │  │      16-淘宝服饰精品案例.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-3 jQuery链式编程及样式操作
│  │  │      17-jQuery链式编程(修复).mp4
│  │  │      18-jQuery修改样式css方法.mp4
│  │  │      19-jQuery修改样式操作类.mp4
│  │  │      20-tab栏切换案例.mp4
│  │  │      21-jQuery类操作和className区别.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-4 jQuery动画及王者荣耀手风琴案例
│  │  │      22-jQuery显示与隐藏效果.mp4
│  │  │      23-jQuery滑动效果以及事件切换.mp4
│  │  │      24-jQuery停止动画排队stop.mp4
│  │  │      25-jQuery淡入淡出以及突出显示案例.mp4
│  │  │      26-jQuery自定义动画animate方法.mp4
│  │  │      27-王者荣耀手风琴案例布局分析.mp4
│  │  │      28-王者荣耀手风琴案例制作.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-5 jQuery实现购物车案例
│  │  │      01-jQuery属性操作.mp4
│  │  │      02-购物车模块-全选(上).mp4
│  │  │      03-购物车模块-全选(下).mp4
│  │  │      04-jQuery内容文本值.mp4
│  │  │      05-购物车模块-增减商品数量.mp4
│  │  │      06-购物车模块-修改商品小计(上).mp4
│  │  │      07-购物车模块-修改商品小计(中).mp4
│  │  │      08-购物车模块-修改商品小计(下).mp4
│  │  │      09-jQuery遍历对象each方法.mp4
│  │  │      10-jQuery遍历数据$.each.mp4
│  │  │      11-购物车模块-计算总件数和总额.mp4
│  │  │      12-创建、添加、删除元素.mp4
│  │  │      13-购物车模块-清理购物车.mp4
│  │  │      14-购物车模块-选中商品添加背景颜色.mp4
│  │  │      15-jQuery尺寸方法.mp4
│  │  │      16-jQuery位置方法.mp4
│  │  │      17-jQuery被卷去头部方法.mp4
│  │  │      18-带有动画的返回顶部.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-6 jQuery实现电梯导航案例
│  │  │      19-电梯导航案例-显示隐藏电梯导航.mp4
│  │  │      20-电梯导航案例-点击滚动目标位置.mp4
│  │  │      21-电梯导航案例-点击当前li添加current类.mp4
│  │  │      22-电梯导航案例-滑动页面电梯导航自动添加current类.mp4
│  │  │      23-电梯导航案例节流阀(互斥锁)(修复).mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-7 jQuery事件绑定和解绑
│  │  │      01-jQuery事件导读.mp4
│  │  │      02-事件处理on绑定一个或者多个事件.mp4
│  │  │      03-on实现事件委派和给动态元素绑定事件.mp4
│  │  │      04-微博发布案例.mp4
│  │  │      05-off解绑事件.mp4
│  │  │      06-jQuery自动触发事件.mp4
│  │  │      07-jQuery事件对象.mp4
│  │  │      08-jQuery其他方法导读.mp4
│  │  │      09-jQuery对象拷贝extend.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─4-8 jQuery插件的使用
│  │  │      10-jQuery多库共存.mp4
│  │  │      11-瀑布流插件使用.mp4
│  │  │      12-图片懒加载技术.mp4
│  │  │      13-全屏滚动插件使用.mp4
│  │  │      14-bootstrap组件.mp4
│  │  │      15-bootstrapJS插件.mp4
│  │  │      16-阿里百秀.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  └─4-9 jQuery实现todolist案例
│  │          17-todolist布局功能需求分析.mp4
│  │          18-todolist核心思路以及本地存储格式.mp4
│  │          19-todolist按下回车读取本地存储数据.mp4
│  │          20-todolist按下回车保存最新数据到本地存储.mp4
│  │          21-todolist本地存储数据渲染加载到页面中.mp4
│  │          22-todolist点击删除按钮获取当前索引号.mp4
│  │          23-todolist点击删除按钮完成删除操作.mp4
│  │          24-点击复选框修改相应数据done属性.mp4
│  │          25-todolist正在进行和已经完成事项制作.mp4
│  │          26-todolist统计正在进行和已经完成事项个数.mp4
│  │          课后练习.zip
│  │          
│  ├─05第五章 基于ECharts数据可视化项目【v6.5】
│  │  ├─5-1 ECharts介绍和配置
│  │  │      01-数据可视化项目导读.mp4
│  │  │      02-什么是数据可视化.mp4
│  │  │      03-数据可视化项目概述.mp4
│  │  │      04-ECharts简介.mp4
│  │  │      05-ECharts基本使用.mp4
│  │  │      06-选择不同类型图表.mp4
│  │  │      07-ECharts相关配置(上).mp4
│  │  │      08-ECharts-grid配置.mp4
│  │  │      09-ECharts相关配置(中).mp4
│  │  │      10-ECharts相关配置(下)series.mp4
│  │  │      11-折线图生成以及配置项总结.mp4
│  │  │      
│  │  ├─5-2 数据可视化项目适配方案
│  │  │      12-数据可视化项目适配方案分析.mp4
│  │  │      13-数据可视化项目适配方案.mp4
│  │  │      14-项目准备以及按照自动刷新浏览器插件.mp4
│  │  │      
│  │  ├─5-3 数据可视化项目-监控区域实现
│  │  │      15-可视化项目-body和viewport制作.mp4
│  │  │      16-可视化项目column列容器.mp4
│  │  │      17-边框图片使用场景以及切割原理.mp4
│  │  │      18-边框图片使用语法.mp4
│  │  │      19-公共面板样式制作(上).mp4
│  │  │      20-公共面板样式制作(下).mp4
│  │  │      21-通过类名调用字体图标.mp4
│  │  │      22-数据可视化项目-概览区域模块制作.mp4
│  │  │      23-数据可视化项目-监控区域布局分析.mp4
│  │  │      24-数据可视化项目-监控区域tab栏切换分析.mp4
│  │  │      
│  │  ├─5-4 饼形图和用户统计模块实现
│  │  │      01-点位分布point模块-布局.mp4
│  │  │      02-点位分布point-引入图表.mp4
│  │  │      03-ECharts饼形图-tooltip参数含义.mp4
│  │  │      04-ECharts饼形图-series参数含义.mp4
│  │  │      05-点位分布模块-定制配置(上).mp4
│  │  │      06-点位分布模块-定制配置(下).mp4
│  │  │      07-EChart图表适配浏览器缩放.mp4
│  │  │      08-地图模块map布局-预留.mp4
│  │  │      09-用户统计users模块-布局.mp4
│  │  │      10-用户统计模块users-引入图表.mp4
│  │  │      
│  │  ├─5-5 柱形图定制区域实现
│  │  │      11-柱形图修改柱子颜色和提示框组件.mp4
│  │  │      12-柱形图定制grid相关配置.mp4
│  │  │      13-柱形图定制X轴相关配置.mp4
│  │  │      14-柱形图定制Y轴相关配置.mp4
│  │  │      15-柱形图定制-单独定制某个柱形(上).mp4
│  │  │      16-柱形图定制-单独定制某个柱形(下).mp4
│  │  │      
│  │  ├─5-6 销售统计模块实现
│  │  │      17-订单模块布局.mp4
│  │  │      18-销售统计模块布局.mp4
│  │  │      19-销售统计模块-折线图引入.mp4
│  │  │      20-销售统计模块-配置定制(上).mp4
│  │  │      21-销售统计模块-配置定制(中).mp4
│  │  │      22-销售统计模块-配置定制(下).mp4
│  │  │      23-01销售统计模块-tab栏切换原理.mp4
│  │  │      23-02销售统计模块-tab栏切换效果.mp4
│  │  │      24-销售统计模块-点击切换找到对应数据.mp4
│  │  │      25-销售统计模块-点击切换渲染图表.mp4
│  │  │      26-销售统计模块-自动切换功能.mp4
│  │  │      
│  │  ├─5-7 渠道分布模块实现
│  │  │      27-渠道分布和季度进度模块布局.mp4
│  │  │      28-渠道分布模块-雷达图引入.mp4
│  │  │      29-渠道分布模块-雷达图定制(上).mp4
│  │  │      30-渠道分布模块-雷达图定制(中).mp4
│  │  │      31-渠道分布模块-雷达图定制(下).mp4
│  │  │      
│  │  ├─5-8 季度进度模块实现
│  │  │      32-季度进度模块-饼形图引入.mp4
│  │  │      33-季度进度模块-饼形图定制(上).mp4
│  │  │      34-季度进度模块-饼形图定制(下).mp4
│  │  │      
│  │  └─5-9 全国热榜模块实现
│  │          35-全国热榜模块布局.mp4
│  │          36-全国热榜模块tab栏切换思路分析.mp4
│  │          37-铺垫知识ES6模板字符.mp4
│  │          38-全国热榜模块-渲染sup模块(上).mp4
│  │          39-全国热榜模块-渲染sup模块(下).mp4
│  │          40-全国热榜模块-鼠标经过操作.mp4
│  │          41-全国热榜模块-渲染sub模块.mp4
│  │          42-全国热榜模块-定时器引起的问题.mp4
│  │          43-全国热榜模块-定时器问题解决方案.mp4
│  │          44-ECharts社区简介.mp4
│  │          45-模拟飞行模块引入.mp4
│  │          46-ECharts总结.mp4
│  │          
│  ├─06第六章 面向对象编程【v6.5】
│  │  ├─6-1 面向对象编程介绍
│  │  │      01-JavaScript面向对象导读.mp4
│  │  │      02-面向对象编程介绍.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─6-10 递归及应用
│  │  │      19-什么是递归函数.mp4
│  │  │      20-利用递归求阶乘.mp4
│  │  │      21-利用递归求斐波那契数列.mp4
│  │  │      22-利用递归遍历数据(上).mp4
│  │  │      23-利用递归遍历数据(下).mp4
│  │  │      24-浅拷贝.mp4
│  │  │      25-深拷贝.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-11 正则表达式及应用
│  │  │      01-正则表达式导读.mp4
│  │  │      02-正则表达式概述.mp4
│  │  │      03-正则表达式在JavaScript中使用.mp4
│  │  │      04-边界符.mp4
│  │  │      05-字符类(上).mp4
│  │  │      06-字符类(下).mp4
│  │  │      07-量词符.mp4
│  │  │      08-量词重复某个模式的次数.mp4
│  │  │      09-用户名表单验证.mp4
│  │  │      10-括号总结以及正则验证工具.mp4
│  │  │      11-预定义类以及座机号码验证.mp4
│  │  │      12-表单验证(上).mp4
│  │  │      13-表单验证(中).mp4
│  │  │      14-表单验证(下).mp4
│  │  │      15-正则替换.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-12 ES6中的let和const
│  │  │      01-什么是ES6、为什么要学习ES6.mp4
│  │  │      02-let关键字(一).mp4
│  │  │      03-let关键字(二).mp4
│  │  │      04-let关键字(三).mp4
│  │  │      05-经典面试题(一).mp4
│  │  │      05-经典面试题(二).mp4
│  │  │      06-const关键字(一).mp4
│  │  │      07-const关键字(二).mp4
│  │  │      08-const关键字(三).mp4
│  │  │      09-let、const、var关键字的区别.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-13 ES6解构赋值
│  │  │      10-数组解构赋值.mp4
│  │  │      11-对象解构(一).mp4
│  │  │      12-对象解构(二).mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-14 ES6箭头函数
│  │  │      13-箭头函数(一).mp4
│  │  │      14-箭头函数中的this关键字.mp4
│  │  │      15-箭头函数面试题.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-15 剩余参数和拓展运算符
│  │  │      16-剩余参数.mp4
│  │  │      17-剩余参数和解构配合使用.mp4
│  │  │      18-扩展运算符.mp4
│  │  │      19-扩展运算符应用:合并数组.mp4
│  │  │      20-扩展运算符应用:将伪数组转换为真正的数组.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-16 Array实例方法
│  │  │      21-Array扩展方法:Array.from方法.mp4
│  │  │      22-Array实例方法:find.mp4
│  │  │      23-Array实例方法:findIndex.mp4
│  │  │      24-Array实例方法:includes.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-17 ES6模板字符串和set数据结构
│  │  │      25-模板字符串.mp4
│  │  │      26-startsWith方法和endsWith方法.mp4
│  │  │      27-repeat方法介绍.mp4
│  │  │      28-创建set数据结构.mp4
│  │  │      29-利用set数据结构做数组去重.mp4
│  │  │      30-set对象实例方法.mp4
│  │  │      31-遍历set.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-2 类和对象
│  │  │      03-类和对象.mp4
│  │  │      04-创建类和生成实例.mp4
│  │  │      05-类中添加共有方法.mp4
│  │  │      06-类继承extends和super关键字.mp4
│  │  │      07-super调用父类普通函数以及继承中属性方法查找原则.mp4
│  │  │      08-super必须放到子类this之前.mp4
│  │  │      09-使用类2个注意点(1).mp4
│  │  │      09-使用类2个注意点.mp4
│  │  │      10-类里面this指向问题.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-3 面向对象tab栏切换案例
│  │  │      11-面向对象tab栏-思路分析以及布局介绍.mp4
│  │  │      12-面向对象tab栏-模块划分.mp4
│  │  │      13-面向对象tab栏-切换功能模块.mp4
│  │  │      14-面向对象tab栏-添加功能模块(上).mp4
│  │  │      15-面向对象tab栏-添加功能模块(中).mp4
│  │  │      16-面向对象tab栏-添加功能模块(下).mp4
│  │  │      17-面向对象tab栏-删除功能模块(上).mp4
│  │  │      18-面向对象tab栏-删除功能模块(中).mp4
│  │  │      19-面向对象tab栏-删除功能模块(下).mp4
│  │  │      20-面向对象tab栏-编辑功能模块(上).mp4
│  │  │      21-面向对象tab栏-编辑功能模块(中).mp4
│  │  │      22-面向对象tab栏-编辑功能模块(下).mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-4 构造函数和原型对象
│  │  │      01-构造函数和原型导读.mp4
│  │  │      02-利用构造函数创建对象.mp4
│  │  │      03-实例成员和静态成员.mp4
│  │  │      04-构造函数原型对象prototype.mp4
│  │  │      05-对象原型__proto__.mp4
│  │  │      06-原型constructor构造函数.mp4
│  │  │      07-构造函数实例和原型对象三角关系.mp4
│  │  │      08-原型链.mp4
│  │  │      09-对象成员查找规则.mp4
│  │  │      10-原型对象this指向.mp4
│  │  │      11-利用原型对象扩展内置对象方法.mp4
│  │  │      12-call方法的作用.mp4
│  │  │      13-利用父构造函数继承属性.mp4
│  │  │      14-利用原型对象继承方法(上).mp4
│  │  │      15-利用原型对象继承方法(下).mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-5 forEach、some、filter方法及查询商品案例
│  │  │      16-迭代(遍历数组)forEach.mp4
│  │  │      17-筛选数组filter方法.mp4
│  │  │      18-查找数组中是否有满足条件的元素some方法.mp4
│  │  │      19-查询商品案例-渲染页面数据.mp4
│  │  │      20-查询商品案例-根据价格筛选商品(上).mp4
│  │  │      21-查询商品案例-根据价格筛选商品(下).mp4
│  │  │      22-查询商品案例-根据商品名称筛选商品.mp4
│  │  │      23-some和forEach区别.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-6 Object.defineProperty方法
│  │  │      24-trim方法去除字符串两侧空格.mp4
│  │  │      25-Object.keys获取对象属性名.mp4
│  │  │      26-Object.defineProperty方法(上).mp4
│  │  │      27-Object.defineProperty方法(下).mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-7 函数进阶
│  │  │      01-函数进阶导读.mp4
│  │  │      02-函数的定义方式.mp4
│  │  │      03-函数的调用方式.mp4
│  │  │      04-函数内部的this指向.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─6-8 call、apply、bind的使用
│  │  │      05-call方法及其应用.mp4
│  │  │      06-apply方法及其应用.mp4
│  │  │      07-bind方法基本使用.mp4
│  │  │      08-bind方法应用.mp4
│  │  │      09-call和apply以及bind总结.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  └─6-9 闭包及应用
│  │          10-什么是严格模式以及如何开启严格模块.mp4
│  │          11-严格模式的变化.mp4
│  │          12-高阶函数.mp4
│  │          13-什么是闭包.mp4
│  │          14-闭包的作用.mp4
│  │          15-闭包应用-点击li打印当前索引号.mp4
│  │          16-闭包应用-3秒钟之后打印li内容.mp4
│  │          17-闭包应用-计算打车价格.mp4
│  │          18-思考题(选讲).mp4
│  │          单元测试.docx
│  │          课后练习.zip
│  │          
│  └─阶段作业 JavaScript网页编程试卷
│          JavaScript网页编程-试卷.docx
│          腾讯电脑管家首页JS效果实现.zip
│          
├─04-阶段四 前后端交互
│  ├─010第十章 NodeAPI接口项目【v6.5】
│  │  ├─9-1 注册新用户
│  │  │      28.项目概述.mp4
│  │  │      29.项目初始化 - 创建项目.mp4
│  │  │      30.项目初始化 - 配置cors跨域和解析表单数据的中间件.mp4
│  │  │      31.项目初始化 - 新建router和router_handler文件夹.mp4
│  │  │      32.项目初始化 - 初始化用户路由模块.mp4
│  │  │      33.项目初始化 - 抽离用户路由模块中的处理函数.mp4
│  │  │      34.注册新用户 - 新建ev_users表.mp4
│  │  │      35.注册新用户 - 安装并配置mysql模块.mp4
│  │  │      36.注册新用户 - 检测表单数据是否合法.mp4
│  │  │      37.注册新用户 - 检测用户名是否被占用.mp4
│  │  │      38.注册新用户 - 介绍为何需要对密码进行加密处理以及bcryptjs的优点.mp4
│  │  │      39.注册新用户 - 使用bcryptjs对密码进行加密处理.mp4
│  │  │      40.注册新用户 - 插入新用户.mp4
│  │  │      41.优化 - 封装res.cc函数.mp4
│  │  │      42.优化 - 了解数据验证的原则.mp4
│  │  │      43.优化 - 介绍如何定义验证规则对象.mp4
│  │  │      44.优化 - 了解如何使用数据验证的中间件.mp4
│  │  │      45.优化 - 定义验证规则模块.mp4
│  │  │      46.优化 - 实现对表单数据验证方式的改造.mp4
│  │  │      47.优化 - 解决终端报错的问题.mp4
│  │  │      
│  │  ├─9-2 登录
│  │  │      01.登录 - 检测登录表单数据是否合法.mp4
│  │  │      02.登录 - 根据用户名查询用户的数据.mp4
│  │  │      03.登录 - 判断用户输入的密码是否正确.mp4
│  │  │      04.登录 - 分析生成Token字符串的实现步骤.mp4
│  │  │      05.登录 - 生成JWT的Token字符串.mp4
│  │  │      06.登录 - 配置解析Token的中间件.mp4
│  │  │      
│  │  ├─9-3 获取和更新用户信息
│  │  │      07.获取用户的基本信息 - 初始化路由模块.mp4
│  │  │      08.获取用户的基本信息 - 初始化路由处理函数模块.mp4
│  │  │      09.获取用户的基本信息 - 实现获取用户信息的功能.mp4
│  │  │      10.更新用户的基本信息 - 定义路由和处理函数.mp4
│  │  │      11.更新用户的基本信息 - 定义验证规则对象.mp4
│  │  │      12.更新用户的基本信息 - 验证表单数据的合法性.mp4
│  │  │      13.更新用户的基本信息 - 实现更新用户基本信息的功能.mp4
│  │  │      
│  │  ├─9-4 重置密码
│  │  │      14.重置密码 - 定义路由和处理函数.mp4
│  │  │      15.重置密码 - 验证表单数据.mp4
│  │  │      16.重置密码 - 根据id查询用户是否存在.mp4
│  │  │      17.重置密码 - 判断提交的旧密码是否正确.mp4
│  │  │      18.重置密码 - 实现重置密码的功能.mp4
│  │  │      
│  │  ├─9-5 更改头像
│  │  │      19.更换头像 - 定义路由和处理函数.mp4
│  │  │      20.更换头像 - 验证表单数据.mp4
│  │  │      21.更换头像 - 实现更新用户头像的功能.mp4
│  │  │      22.总结.mp4
│  │  │      
│  │  ├─9-6 获取文章分类列表
│  │  │      01.新建ev_article_cate数据表.mp4
│  │  │      02.获取文章分类列表 - 初始化路由模块.mp4
│  │  │      03.获取文章分类列表 - 初始化路由处理函数模块.mp4
│  │  │      04.获取文章分类列表 - 实现获取文章分类列表数据的功能.mp4
│  │  │      
│  │  ├─9-7 新增文章分类
│  │  │      05.新增文章分类 - 定义路由和处理函数.mp4
│  │  │      06.新增文章分类 - 验证表单数据.mp4
│  │  │      07.新增文章分类 - 分析分类名和别名被占用的四种情况.mp4
│  │  │      08.新增文章分类 - 写代码判断分类名称与别名是否被占用.mp4
│  │  │      09.新增文章分类 - 实现新增文章分类的功能.mp4
│  │  │      
│  │  ├─9-8 根据Id删除、获取,更新文章分类
│  │  │      10.根据Id删除文章分类 - 定义路由和处理函数.mp4
│  │  │      11.根据Id删除文章分类 - 验证客户端提交到服务器的Id值.mp4
│  │  │      12.根据Id删除文章分类 - 实现删除文章分类的功能.mp4
│  │  │      13.根据Id获取文章分类 - 定义路由和处理函数.mp4
│  │  │      14.根据Id获取文章分类 - 验证客户端提交到服务器的数据.mp4
│  │  │      15.根据Id获取文章分类 - 实现获取文章分类的功能.mp4
│  │  │      16.根据Id更新文章分类 - 定义路由和处理函数.mp4
│  │  │      17.根据Id更新文章分类 - 验证表单数据.mp4
│  │  │      18.根据Id更新文章分类 - 查询分类名称与别名是否被占用.mp4
│  │  │      19.根据Id更新文章分类 - 实现更新文章分类的功能.mp4
│  │  │      
│  │  └─9-9 发布新文章
│  │          20.新建ev_articles文章表.mp4
│  │          21.发布新文章 - 初始化路由模块.mp4
│  │          22.发布新文章 - 初始化路由处理函数模块.mp4
│  │          23.发布新文章 - 了解multer的作用.mp4
│  │          24.发布新文章 - 安装和配置multer.mp4
│  │          25.发布新文章 - 使用multer解析FormData格式的表单数据.mp4
│  │          26.发布新文章 - 对req.body中的数据进行验证.mp4
│  │          27.发布新文章 - 对req.file中的数据进行验证.mp4
│  │          28.发布新文章 - 处理文章信息对象.mp4
│  │          29.发布新文章 - 实现发布文章的功能.mp4
│  │          30.发布新文章 - 托管静态资源文件.mp4
│  │          31.演示API接口的使用.mp4
│  │          
│  ├─01第一章 前后端交互课前导学
│  │      前后端交互课前导学.mp4
│  │      
│  ├─02第二章 Ajax+HTTP【v6.5】
│  │  ├─2-1 ajax介绍
│  │  │      00.学习目标.mp4
│  │  │      01.客户端与服务器.mp4
│  │  │      02.URL地址的概念及组成部分.mp4
│  │  │      03.图解客户端与服务器通信的过程.mp4
│  │  │      04.基于开发者工具查看客户端与服务器的通信过程.mp4
│  │  │      05.数据也是一种资源.mp4
│  │  │      06.网页中如何请求数据.mp4
│  │  │      07.资源的请求方式.mp4
│  │  │      08.介绍Ajax的概念.mp4
│  │  │      09.Ajax的典型应用场景.mp4
│  │  │      10.了解jQuery中的Ajax.mp4
│  │  │      11.$.get()函数的语法.mp4
│  │  │      12.$.get()发起不带参数的请求.mp4
│  │  │      13.$.get()发起带参数的请求.mp4
│  │  │      14.$.post函数的语法.mp4
│  │  │      15.$.post()向服务器提交数据.mp4
│  │  │      16.$.ajax()函数的语法.mp4
│  │  │      17.$.ajax()发起GET请求.mp4
│  │  │      18.$.ajax发起POST请求.mp4
│  │  │      19.接口的概念.mp4
│  │  │      20.分析接口的请求过程.mp4
│  │  │      21.了解接口测试工具.mp4
│  │  │      22.使用PostMan测试GET接口.mp4
│  │  │      23.使用PostMan测试POST接口.mp4
│  │  │      24.接口文档.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-10 XHR Level2的新特性
│  │  │      23.XHR Level2的新特性-了解新版xhr中支持的新功能.mp4
│  │  │      24.XHR Level2的新特性-设置HTTP请求时限.mp4
│  │  │      25.XHR Level2的新特性-使用FormData对象管理表单数据.mp4
│  │  │      26.XHR Level2的新特性-使用FormData快速获取表单中的数据.mp4
│  │  │      27.XHR Level2的新特性-定义上传文件页面的UI结构.mp4
│  │  │      28.XHR Level2的新特性-验证是否选择了待上传的文件.mp4
│  │  │      29.XHR Level2的新特性-向FormData中追加文件.mp4
│  │  │      30.XHR Level2的新特性-使用xhr发起上传文件的请求.mp4
│  │  │      31.XHR Level2的新特性-完成上传文件的功能.mp4
│  │  │      32.XHR Level2的新特性-计算文件的上传进度.mp4
│  │  │      33.XHR Level2的新特性-基于bootstrap绘制进度条效果.mp4
│  │  │      34.XHR Level2的新特性-动态设置进度条.mp4
│  │  │      35.XHR Level2的新特性-监听上传完成的事件.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-11 jQuery高级用法
│  │  │      36.jQuery高级用法-渲染页面结构并验证是否选择了文件.mp4
│  │  │      37.jQuery高级用法-使用jQuery发起上传文件的请求.mp4
│  │  │      38.jQuery高级用法-通过jQuery实现loading效果.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-12 axios
│  │  │      39.axios-什么是axios.mp4
│  │  │      40.axios-使用axios发起GET请求.mp4
│  │  │      41.axios-使用axios发起POST请求.mp4
│  │  │      42.axios-直接使用axios发起GET和POST数据请求.mp4
│  │  │      
│  │  ├─2-13 同源策略
│  │  │      00.学习目标-1603518228.mp4
│  │  │      01.同源策略-什么是同源.mp4
│  │  │      02.同源策略-什么是同源策略.mp4
│  │  │      
│  │  ├─2-14 跨域
│  │  │      03.跨域-什么是跨域.mp4
│  │  │      04.跨域-浏览器对跨域请求的拦截.mp4
│  │  │      05.跨域-如何实现跨域数据请求.mp4
│  │  │      
│  │  ├─2-15 Jsonp
│  │  │      06.JSONP-了解JSONP的概念以及实现原理.mp4
│  │  │      07.JSONP-演示跨域Ajax数据请求存在的问题.mp4
│  │  │      08.剖析JSONP的实现原理-将函数的定义和调用分离为两个script标签.mp4
│  │  │      09.剖析JSONP的实现原理-将函数的调用抽离为单独的JS文件.mp4
│  │  │      10.剖析JSONP的实现原理-通过callback指定回调函数的名称.mp4
│  │  │      11.JSONP-自己实现一个简单的JSONP.mp4
│  │  │      12.JSONP-了解JSONP的缺点.mp4
│  │  │      13.JSONP-使用jQuery发起JSONP数据请求.mp4
│  │  │      14.JSONP-jQuery中自定义JSONP参数以及回调函数名称.mp4
│  │  │      15.JSONP-jQuery中JSONP的实现过程.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-16 淘宝搜索案例
│  │  │      16.淘宝搜索案例-介绍案例效果.mp4
│  │  │      17.淘宝搜索案例-获取用户输入的搜索关键词.mp4
│  │  │      18.淘宝搜索案例-封装getSuggestList函数.mp4
│  │  │      19.淘宝搜索案例-在页面中定义搜索建议列表.mp4
│  │  │      20.淘宝搜索案例-定义模板结构(1).mp4
│  │  │      20.淘宝搜索案例-定义模板结构.mp4
│  │  │      21.淘宝搜索案例-定义渲染模板结构的函数.mp4
│  │  │      22.淘宝搜索案例-搜索关键词为空时隐藏搜索建议列表.mp4
│  │  │      23.淘宝搜索案例-美化搜索建议列表.mp4
│  │  │      
│  │  ├─2-17 防抖和节流
│  │  │      24.输入框的防抖-什么是防抖.mp4
│  │  │      25.输入框的防抖-防抖的应用场景.mp4
│  │  │      26.输入框的防抖-实现输入框的防抖.mp4
│  │  │      27.缓存搜索的建议列表.mp4
│  │  │      28.防抖和节流-什么是节流.mp4
│  │  │      29.防抖和节流-节流的应用场景.mp4
│  │  │      30.防抖和节流-渲染UI效果.mp4
│  │  │      31.防抖和节流-不使用节流实现鼠标跟随效果.mp4
│  │  │      32.防抖和节流-节流阀的概念.mp4
│  │  │      33.防抖和节流-使用节流优化鼠标跟随效果.mp4
│  │  │      34.防抖和节流-总结防抖和节流的区别.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-18 HTTP协议简介
│  │  │      00.学习目标-1603518452.mp4
│  │  │      01.HTTP协议简介-什么是通信.mp4
│  │  │      02.HTTP协议简介-什么是通信协议.mp4
│  │  │      03.HTTP协议简介-什么是HTTP协议.mp4
│  │  │      04.HTTP协议简介-HTTP协议的交互模型.mp4
│  │  │      
│  │  ├─2-19 HTTP请求消息
│  │  │      05.HTTP请求消息-什么是HTTP请求消息.mp4
│  │  │      06.HTTP请求消息-HTTP请求消息的4个组成部分.mp4
│  │  │      07.HTTP请求消息-请求行.mp4
│  │  │      08.HTTP请求消息-请求头部.mp4
│  │  │      09.HTTP请求消息-空行.mp4
│  │  │      10.HTTP请求消息-请求体.mp4
│  │  │      11.HTTP请求消息-总结HTTP请求消息的组成部分.mp4
│  │  │      
│  │  ├─2-2 图书列表案例
│  │  │      25.案例-基于Bootstrap渲染页面UI结构.mp4
│  │  │      26.案例-了解渲染图书列表的实现思路.mp4
│  │  │      27.案例-获取图书列表数据.mp4
│  │  │      28.案例-渲染图书列表.mp4
│  │  │      29.案例-为删除链接绑定单击事件处理函数.mp4
│  │  │      30.案例-实现删除图书的功能.mp4
│  │  │      31.案例-为添加按钮绑定点击事件处理函数.mp4
│  │  │      32.案例-实现添加图书的功能.mp4
│  │  │      
│  │  ├─2-20 HTTP响应消息
│  │  │      12.HTTP响应消息-响应消息的概念以及组成部分.mp4
│  │  │      13.HTTP响应消息-状态行.mp4
│  │  │      14.HTTP响应消息-响应头部.mp4
│  │  │      15.HTTP响应消息-空行.mp4
│  │  │      16.HTTP响应消息-响应体.mp4
│  │  │      17.HTTP响应消息-总结HTTP响应消息的组成部分.mp4
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-21 HTTP响应状态码
│  │  │      18.HTTP请求方法.mp4
│  │  │      19.HTTP响应状态码-什么是HTTP响应状态码.mp4
│  │  │      20.HTTP响应状态码-HTTP响应状态码的组成及分类.mp4
│  │  │      21.HTTP响应状态码-2xx成功相关的响应状态码.mp4
│  │  │      22.HTTP响应状态码-3xx重定向相关的响应状态码.mp4
│  │  │      23.HTTP响应状态码-4xx客户端错误相关的响应状态码.mp4
│  │  │      24.HTTP响应状态码-5xx服务端错误相关的响应状态码.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-3 聊天机器人
│  │  │      33.聊天机器人-演示案例要完成的效果.mp4
│  │  │      34.聊天机器人-梳理案例的代码结构.mp4
│  │  │      35.聊天机器人-将用户输入的内容渲染到聊天窗口.mp4
│  │  │      36.聊天机器人-发起请求获取聊天消息.mp4
│  │  │      37.聊天机器人-将机器人的聊天内容转换为语音.mp4
│  │  │      38.聊天机器人-通过回车键发送消息.mp4
│  │  │      【补充说明】聊天机器人接口更新通知.mp4
│  │  │      
│  │  ├─2-4 form表单+案例
│  │  │      00.学习目标-1603517751.mp4
│  │  │      01.表单的基本使用-什么是表单.mp4
│  │  │      02.表单的基本使用-表单的组成部分.mp4
│  │  │      03.form标签的属性-action.mp4
│  │  │      04.form标签的属性-target.mp4
│  │  │      05.form标签的属性-method.mp4
│  │  │      06.form标签的属性-enctype.mp4
│  │  │      07.表单的同步提交及缺点.mp4
│  │  │      08.通过Ajax提交表单数据-监听表单的提交事件.mp4
│  │  │      09.通过Ajax提交表单数据-阻止表单的默认提交行为.mp4
│  │  │      10.通过Ajax提交表单数据-快速获取表单中的数据.mp4
│  │  │      11.案例-基于bootstrap渲染评论列表的UI结构.mp4
│  │  │      12.案例-获取评论列表数据.mp4
│  │  │      13.案例-渲染评论列表.mp4
│  │  │      14.案例-改造form表单.mp4
│  │  │      15.案例-实现发表评论的功能.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-5 模板引擎+案例
│  │  │      16.模板引擎-模板引擎的基本概念.mp4
│  │  │      17.模板引擎-了解并安装art-template.mp4
│  │  │      18.模板引擎-使用传统方式渲染UI结构.mp4
│  │  │      19.模板引擎-介绍模板引擎的使用步骤.mp4
│  │  │      20.标准语法-输出.mp4
│  │  │      21.标准语法-原文输出.mp4
│  │  │      22.标准语法-条件输出.mp4
│  │  │      23.标准语法-循环输出.mp4
│  │  │      24.标准语法-什么是过滤器.mp4
│  │  │      25.标准语法-定义过滤器和调用过滤器的基本语法.mp4
│  │  │      26.标准语法-定义格式化时间的过滤器.mp4
│  │  │      27.案例-介绍新闻列表案例要实现的效果.mp4
│  │  │      28.案例-获取新闻列表数据.mp4
│  │  │      29.案例-定义新闻Item项的模板.mp4
│  │  │      30.案例-编译模板渲染新闻列表结构.mp4
│  │  │      31.案例-定义时间过滤器.mp4
│  │  │      32.案例-定义补零函数.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-6 正则与字符串操作
│  │  │      33.正则与字符串操作-介绍正则的exec函数.mp4
│  │  │      34.正则与字符串操作-提取分组.mp4
│  │  │      35.正则与字符串操作-字符串的replace函数.mp4
│  │  │      36.正则与字符串操作-对字符串进行多次replace操作.mp4
│  │  │      37.正则与字符串操作-使用while循环进行字符串的replace操作.mp4
│  │  │      38.正则与字符串操作-将正则匹配到的内容替换为真值.mp4
│  │  │      39.实现简易的模板引擎.mp4
│  │  │      单元测试.docx
│  │  │      课后练习.zip
│  │  │      
│  │  ├─2-7 xhr的基本使用
│  │  │      00.学习目标-1603517986.mp4
│  │  │      01.xhr的基本使用-什么是XMLHttpRequest.mp4
│  │  │      02.xhr的基本使用-使用xhr发起GET请求.mp4
│  │  │      03.xhr的基本使用-了解xhr对象的readyState属性.mp4
│  │  │      04.xhr的基本使用-使用xhr发起带参数的GET请求.mp4
│  │  │      05.xhr的基本使用-了解查询字符串的概念.mp4
│  │  │      06.xhr的基本使用-GET请求携带参数的本质.mp4
│  │  │      07.xhr的基本使用-什么是URL编码.mp4
│  │  │      08.xhr的基本使用-如何对URL进行编码与解码.mp4
│  │  │      09.xhr的基本使用-使用xhr发起POST请求.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  ├─2-8 数据交换格式
│  │  │      10.数据交换格式-什么是数据交换格式.mp4
│  │  │      11.数据交换格式-XML.mp4
│  │  │      12.数据交换格式-什么是JSON.mp4
│  │  │      13.数据交换格式-JSON的两种结构.mp4
│  │  │      14.数据交换格式-JSON语法注意事项.mp4
│  │  │      15.数据交换格式-JSON和JS对象的关系.mp4
│  │  │      16.数据交换格式-JSON和JS对象的互转.mp4
│  │  │      17.数据交换格式-序列化和反序列化.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  └─2-9 封装自己的Ajax函数
│  │          18.封装自己的Ajax函数-介绍要实现的效果以及options参数选项.mp4
│  │          19.封装自己的Ajax函数-处理data参数.mp4
│  │          20.封装自己的Ajax函数-定义itheima函数.mp4
│  │          21.封装自己的Ajax函数-判断请求的类型.mp4
│  │          22.封装自己的Ajax函数-测试itheima函数的可用性.mp4
│  │          课后练习.zip
│  │          
│  ├─03第三章 Git和github基本使用【v6.5】
│  │  ├─2-1 关于版本控制
│  │  │      00.Git学习目标.mp4
│  │  │      01.关于版本控制 - 使用版本控制软件的好处.mp4
│  │  │      02.关于版本控制 - 版本控制系统的分类.mp4
│  │  │      03.关于版本控制 - 了解三大类版本控制系统各自的特点.mp4
│  │  │      
│  │  ├─2-2 Git基础概念
│  │  │      04.Git基础概念 - 什么是Git.mp4
│  │  │      05.Git基础概念 - Git直接记录快照而非差异比较.mp4
│  │  │      06.Git基础概念 - 近乎所有操作都是本地执行的.mp4
│  │  │      07.Git基础概念 - Git中的三个区域.mp4
│  │  │      08.Git基础概念 - Git中的三种状态.mp4
│  │  │      09.Git基础概念 - Git的基本工作流程.mp4
│  │  │      
│  │  ├─2-3 安装并配置Git
│  │  │      10.安装并配置Git - 在Windows中下载并安装Git.mp4
│  │  │      11.安装并配置Git-配置用户信息.mp4
│  │  │      12.安装并配置Git - Git的全局配置文件.mp4
│  │  │      13.安装并配置Git - 使用Git命令检查全局配置信息.mp4
│  │  │      14.安装并配置Git - 获取帮助信息.mp4
│  │  │      
│  │  ├─2-4 Git的基本操作
│  │  │      15.Git的基本操作 - 获取Git仓库的两种方式.mp4
│  │  │      16.Git的基本操作 - 在现有目录中初始化仓库.mp4
│  │  │      17.Git的基本操作 - 工作区中文件的4种状态.mp4
│  │  │      18.Git的基本操作 - 检查文件的状态.mp4
│  │  │      19.Git的基本操作 - 以精简的方式显示文件的状态.mp4
│  │  │      20.Git的基本操作 - 跟踪新文件.mp4
│  │  │      21.Git的基本操作 - 提交更新.mp4
│  │  │      22.Git的基本操作 - 对已提交的文件进行修改.mp4
│  │  │      23.Git的基本操作 - 暂存已修改的文件.mp4
│  │  │      24.Git的基本操作 - 提交已暂存的文件.mp4
│  │  │      25.Git的基本操作 - 撤销对文件的修改.mp4
│  │  │      26.Git的基本操作 - 向暂存区中一次性添加多个文件.mp4
│  │  │      27.Git的基本操作 - 取消暂存的文件.mp4
│  │  │      28.Git的基本操作 - 跳过使用暂存区域.mp4
│  │  │      29.Git的基本操作 - 移除文件.mp4
│  │  │      30.Git的基本操作 - Git忽略文件和glob匹配模式.mp4
│  │  │      31.Git的基本操作 - .gitignore使用示例.mp4
│  │  │      32.Git的基本操作 - 查看提交历史.mp4
│  │  │      33.Git的基本操作 - 回退到指定的版本.mp4
│  │  │      34.Git的基本操作 - 小结.mp4
│  │  │      
│  │  ├─2-5 开源相关的概念
│  │  │      01.开源相关的概念 - 了解开源和闭源的概念.mp4
│  │  │      02.开源相关的概念 - 开源许可协议.mp4
│  │  │      03.开源相关的概念 - 为什么要拥抱开源.mp4
│  │  │      04.开源相关的概念 - 了解什么是开源项目托管平台.mp4
│  │  │      05.开源相关的概念 - 什么是GitHub.mp4
│  │  │      
│  │  ├─2-6 github
│  │  │      06.github - 注册GitHub账号.mp4
│  │  │      07.github - 新建空白远程仓库.mp4
│  │  │      08.github - 远程仓库的两种访问方式.mp4
│  │  │      09.github - 基于HTTPS将本地仓库上传到GitHub.mp4
│  │  │      10.github - 了解git push命令的作用.mp4
│  │  │      11.github - 生成SSH key.mp4
│  │  │      12.github - 配置SSH key.mp4
│  │  │      13.github - 检测SSH key是否配置成功.mp4
│  │  │      14.github - 基于SSH将本地仓库上传到GitHub.mp4
│  │  │      15.github - 将远程仓库克隆到本地.mp4
│  │  │      
│  │  └─2-7 分支
│  │          16.分支 - 了解分支的概念以及分支在实际开发中的作用.mp4
│  │          17.分支 - master主分支.mp4
│  │          18.分支 - 功能分支.mp4
│  │          19.分支 - 查看分支列表.mp4
│  │          20.分支 - 创建新分支.mp4
│  │          21.分支 - 切换分支.mp4
│  │          22.分支 - 快速创建和切换分支.mp4
│  │          23.分支 - 合并分支.mp4
│  │          24.分支 - 删除分支.mp4
│  │          25.分支 - 遇到冲突时的分支合并.mp4
│  │          26.分支 - 将本地分支推送到远程分支.mp4
│  │          27.分支 - 查看远程分支列表.mp4
│  │          28.分支 - 跟踪分支.mp4
│  │          29.分支 - 拉取远程分支的最新代码.mp4
│  │          30.分支 - 删除远程分支.mp4
│  │          31.总结.mp4
│  │          
│  ├─04第四章 大事件后台管理系统项目【v6.5】
│  │  ├─3-1 准备工作
│  │  │      01.准备工作 - 项目介绍.mp4
│  │  │      02.准备工作 - 初始化项目结构.mp4
│  │  │      03.准备工作 - 使用GitHub管理大事件的项目.mp4
│  │  │      04.准备工作 - 安装VSCode的Live Server插件辅助开发.mp4
│  │  │      
│  │  ├─3-10 删除文章
│  │  │      21.删除文章 - 实现删除文章的功能.mp4
│  │  │      22.删除文章 - 分析删除文章时存在的问题.mp4
│  │  │      23.删除文章 - 判断页面中是否还有剩余数据.mp4
│  │  │      24.删除文章 - 实现页码值-1的操作.mp4
│  │  │      
│  │  ├─3-11 发布文章
│  │  │      25.发布文章 - 创建文章发布页面的基本结构.mp4
│  │  │      26.发布文章 - 新建基本的表单结构.mp4
│  │  │      27.发布文章 - 渲染文章类别对应的下拉选择框结构.mp4
│  │  │      28.发布文章 - 渲染富文本编辑器.mp4
│  │  │      29.发布文章 - 渲染封面裁剪区域.mp4
│  │  │      30.发布文章 - 渲染提交按钮区域.mp4
│  │  │      31.发布文章 - 点击选择封面按钮打开文件选择框.mp4
│  │  │      32.发布文章 - 将选择的图片设置到裁剪区域中.mp4
│  │  │      33.发布文章 - 分析发布文章的实现步骤.mp4
│  │  │      34.发布文章 - 基于Form表单创建FormData对象.mp4
│  │  │      35.发布文章 - 将裁剪后的封面追加到FormData对象中.mp4
│  │  │      36.发布文章 - 发起Ajax请求实现发布文章的功能.mp4
│  │  │      37.将开发完成的项目代码推送到GitHub.mp4
│  │  │      
│  │  ├─3-2 登录注册
│  │  │      05.登录注册 - 绘制login页面的基本结构.mp4
│  │  │      06.登录注册 - 实现登录和注册的按需切换.mp4
│  │  │      07.登录注册 - 绘制登录表单的基本结构.mp4
│  │  │      08.登录注册 - 美化登录表单的样式.mp4
│  │  │      09.登录注册 - 绘制文本框前面的小图标.mp4
│  │  │      10.登录注册 - 快速绘制注册的表单.mp4
│  │  │      11.登录注册 - 为表单项添加验证规则.mp4
│  │  │      12.登录注册 - 自定义校验规则.mp4
│  │  │      13.登录注册 - 为注册表单设置校验规则.mp4
│  │  │      14.登录注册 - 调用接口发起注册用户的请求.mp4
│  │  │      15.登录注册 - 使用layer提示消息.mp4
│  │  │      16.登录注册 - 调用接口发起登录的请求.mp4
│  │  │      17.登录注册 - 在ajaxPrefilter中统一拼接请求的根路径.mp4
│  │  │      18.登录注册 - 提交login分支的代码到GitHub.mp4
│  │  │      
│  │  ├─3-3 后台主页
│  │  │      19.后台主页 - 快速实现后台主页的布局效果.mp4
│  │  │      20.后台主页 - 修改侧边栏的结构.mp4
│  │  │      21.后台主页 - 使用lay-shrink实现左侧菜单互斥效果.mp4
│  │  │      22.后台主页 - 为菜单项添加图标.mp4
│  │  │      23.后台主页 - 了解iframe标签如何使用.mp4
│  │  │      24.后台主页 - 使用iframe标签在内容主体区域显示网页内容.mp4
│  │  │      25.后台主页 - 解决3个小问题.mp4
│  │  │      26.后台主页 - 渲染图片头像和文字头像.mp4
│  │  │      
│  │  ├─3-4 基本资料
│  │  │      01.后台主页 - 获取用户的基本信息.mp4
│  │  │      02.后台主页 - 渲染用户头像.mp4
│  │  │      03.后台主页 - 统一为有权限的接口设置headers请求头.mp4
│  │  │      04.后台主页 - 实现退出功能.mp4
│  │  │      05.后台主页 - 控制用户的访问权限.mp4
│  │  │      06.后台主页 - 优化权限控制的代码.mp4
│  │  │      07.后台主页 - 将本地仓库中的代码合并到GitHub仓库.mp4
│  │  │      08.基本资料 - 创建基本资料对应的页面.mp4
│  │  │      09.基本资料 - 绘制基本资料对应的表单.mp4
│  │  │      10.基本资料 - 获取用户的基本信息.mp4
│  │  │      11.基本资料 - 使用form.val方法快速为表单赋值.mp4
│  │  │      12.基本资料 - 实现表单的重置效果.mp4
│  │  │      13.基本资料 - 发起请求更新用户的信息.mp4
│  │  │      
│  │  ├─3-5 重置密码
│  │  │      14.重置密码 - 渲染重置密码的页面结构.mp4
│  │  │      15.重置密码 - 为密码框定义校验规则.mp4
│  │  │      16.重置密码 - 发起请求实现重置密码的功能.mp4
│  │  │      
│  │  ├─3-6 更换头像
│  │  │      17.更换头像 - 初步渲染更换头像页面的结构.mp4
│  │  │      18.更换头像 - 快速初始化头像裁剪区域.mp4
│  │  │      19.更换头像 - 实现选择文件的功能.mp4
│  │  │      20.更换头像 - 实现裁剪区域图片的替换.mp4
│  │  │      21.更换头像 - 将裁剪后的头像上传到服务器.mp4
│  │  │      22.更换头像 - 了解base64格式的图片.mp4
│  │  │      23.更换头像 - 设置头部区域的快捷方式.mp4
│  │  │      24.更换头像 - 将本地的代码推送到GitHub.mp4
│  │  │      
│  │  ├─3-7 文章类别
│  │  │      25.文章类别 - 创建并显示文章类别页面.mp4
│  │  │      26.文章类别 - 快速绘制文章类别页面的基本结构.mp4
│  │  │      27.文章类别 - 获取并使用模板引擎渲染表格的数据.mp4
│  │  │      28.文章类别 - 使用layer.open实现弹出层效果.mp4
│  │  │      29.文章类别 - 在弹出层中渲染form表单结构.mp4
│  │  │      30.文章类别 - 实现添加文章分类的功能.mp4
│  │  │      
│  │  ├─3-8 文章列表
│  │  │      01.文章类别 - 点击编辑按钮展示修改文章分类的弹出层.mp4
│  │  │      02.文章类别 - 为修改文章分类的弹出层填充表单数据.mp4
│  │  │      03.文章类别 - 更新文章分类的数据.mp4
│  │  │      04.文章类别 - 删除文章分类.mp4
│  │  │      05.文章列表 - 创建文章列表页面.mp4
│  │  │      06.文章列表 - 定义查询参数对象q.mp4
│  │  │      07.文章列表 - 请求文章列表数据并使用模板引擎渲染列表结构.mp4
│  │  │      08.文章列表 - 定义美化时间格式的过滤器.mp4
│  │  │      09.文章列表 - 绘制筛选区域的UI结构.mp4
│  │  │      10.文章列表 - 发起请求获取并渲染文章分类的下拉选择框.mp4
│  │  │      11.文章列表 - 使用form.render方法重新渲染表单区域的UI结构.mp4
│  │  │      12.文章列表 - 实现筛选的功能.mp4
│  │  │      
│  │  └─3-9 分页
│  │          13.分页 - 定义渲染分页的renderPage方法.mp4
│  │          14.分页 - 调用laypage.render方法渲染分页的基本结构.mp4
│  │          15.分页 - 在jump回调函数中通过obj.curr获取到最新的页码值.mp4
│  │          16.分页 - 演示直接调用initTable方法时死循环的问题.mp4
│  │          17.分页 - 分析jump回调函数发生死循环的原因.mp4
│  │          18.分页 - 解决jump回调函数发生死循环的问题.mp4
│  │          19.分页 - 自定义分页的功能项.mp4
│  │          20.分页 - 实现切换每页展示多少条数据的功能.mp4
│  │          
│  ├─05第五章 Node基础【v6.5】
│  │  ├─4-1 node介绍和环境安装
│  │  │      00.学习目标-.mp4
│  │  │      01.初识Node - 为什么JavaScript可以在浏览器中被执行.mp4
│  │  │      02.初识Node - 为什么JavaScript可以操作DOM和BOM.mp4
│  │  │      03.初识Node - 浏览器中的JavaScript运行环境.mp4
│  │  │      04.初识Node - JavaScript能否做后端开发.mp4
│  │  │      05.初识Node - 什么是Node.js.mp4
│  │  │      06.初识Node - Node.js中的JavaScript运行环境.mp4
│  │  │      07.初识Node - 了解Node.js的学习路径.mp4
│  │  │      08.初识Node - 下载并安装Node.mp4
│  │  │      09.初识Node - 查看已安装的Node.js的版本号.mp4
│  │  │      10.初识Node - 了解终端的概念.mp4
│  │  │      11.初识Node - 在Node.js环境中执行JavaScript代码.mp4
│  │  │      12.初识Node - 使用更方便的形式执行Node命令.mp4
│  │  │      13.初识Node - 了解常用的终端快捷键.mp4
│  │  │      
│  │  ├─4-10 node-模块化
│  │  │      18.模块化 - 学习目标.mp4
│  │  │      19.模块化 - 什么是模块化.mp4
│  │  │      20.模块化 - 模块化规范相关的概念.mp4
│  │  │      21.Node中的模块化 - 了解Node中模块的3大分类.mp4
│  │  │      22.Node中的模块化 - 使用require方法加载模块.mp4
│  │  │      23.Node中的模块化 - 使用require的小注意点.mp4
│  │  │      24.Node中的模块化 - 了解模块作用域的概念以及好处.mp4
│  │  │      25.Node中的模块化 - 了解module对象.mp4
│  │  │      26.Node中的模块化 - 了解module.exports对象的作用.mp4
│  │  │      27.Node中的模块化 - 使用module.exports向外共享成员.mp4
│  │  │      28.Node中的模块化 - 共享成员是的注意点.mp4
│  │  │      29.Node中的模块化 - exports对象.mp4
│  │  │      30.exports和module.exports的使用误区 - 案例1.mp4
│  │  │      31.exports和module.exports的使用误区 - 案例2.mp4
│  │  │      32.exports和module.exports的使用误区 - 案例3.mp4
│  │  │      33.exports和module.exports的使用误区 - 案例4.mp4
│  │  │      34.Node中的模块化 - CommonJS模块化规范.mp4
│  │  │      
│  │  ├─4-2 node-fs模块
│  │  │      14.fs - 了解什么是fs文件系统模块.mp4
│  │  │      15.fs - 使用fs.readFile方法读取文件.mp4
│  │  │      16.fs - 判断文件是否读取成功.mp4
│  │  │      17.fs - 使用fs.writeFile方法写入文件.mp4
│  │  │      18.fs - 判断文件是否写入成功.mp4
│  │  │      19.fs案例 - 分析核心的实现步骤.mp4
│  │  │      20.fs案例 - 读取成绩文件.mp4
│  │  │      21.fs案例 - 处理成绩.mp4
│  │  │      22.fs案例 - 将整理好的成绩写入到新文件.mp4
│  │  │      23.fs路径问题 - 演示路径动态拼接的问题.mp4
│  │  │      24.fs路径问题 - 使用完整路径替代相对路径.mp4
│  │  │      25.fs路径问题 - 使用__dirname完美解决路径动态拼接的问题.mp4
│  │  │      
│  │  ├─4-3 node-path模块
│  │  │      26.path - 了解path路径模块的作用.mp4
│  │  │      27.path - 使用path.join方法进行路径的拼接.mp4
│  │  │      28.path - 使用path.basename方法获取路径中的文件名.mp4
│  │  │      29.path - 使用path.extname方法获取路径中的扩展名.mp4
│  │  │      
│  │  ├─4-4 node-时钟案例
│  │  │      30.时钟案例 - 介绍需求并分析案例的实现步骤.mp4
│  │  │      31.时钟案例 - 定义正则表达式.mp4
│  │  │      32.时钟案例 - 使用fs.readFile方法读取HTML文件的内容.mp4
│  │  │      33.时钟案例 - 自定义resolveCSS方法提取样式表文件.mp4
│  │  │      34.时钟案例 - 自定义resolveJS方法提取JS脚本文件.mp4
│  │  │      35.时钟案例 - 自定义resolveHTML方法提取html文件.mp4
│  │  │      36.时钟案例 - 时钟案例的两个注意点.mp4
│  │  │      
│  │  ├─4-5 node-http模块
│  │  │      01.http模块 - 什么是http模块.mp4
│  │  │      02.http模块 - 进一步理解http模块的作用.mp4
│  │  │      
│  │  ├─4-6 node-服务器概念
│  │  │      03.服务器相关的概念 - IP地址.mp4
│  │  │      04.服务器相关的概念 - 域名和域名服务器.mp4
│  │  │      05.服务器相关的概念 - 端口号.mp4
│  │  │      
│  │  ├─4-7 node-创建基本web服务器
│  │  │      06.创建最基本的web服务器 - 了解实现的核心步骤和代码.mp4
│  │  │      07.创建最基本的web服务器 - 通过4个核心步骤创建基本的web服务器.mp4
│  │  │      08.创建最基本的web服务器 - req请求对象.mp4
│  │  │      09.创建最基本的web服务器 - res响应对象.mp4
│  │  │      10.创建最基本的web服务器 - 解决中文乱码问题.mp4
│  │  │      
│  │  ├─4-8 node-根据不同的url响应不同的html内容
│  │  │      11.根据不同的url响应不同的html内容 - 分析核心的实现步骤.mp4
│  │  │      12.根据不同的url响应不同的html内容 - 按照分析的步骤写代码实现功能.mp4
│  │  │      
│  │  └─4-9 node-时钟web服务器案例
│  │          13.时钟web服务器案例 - 介绍核心实现思路.mp4
│  │          14.时钟web服务器案例 - 导入需要的模块并创建基本的web服务器.mp4
│  │          15.时钟web服务器案例 - 将资源的请求url映射为文件的存放路径.mp4
│  │          16.时钟web服务器案例 - 读取文件的内容并响应给客户端.mp4
│  │          17.时钟web服务器案例 - 优化资源的请求路径.mp4
│  │          
│  ├─06第六章 npm+模块加载机制【v6.5】
│  │  ├─5-1 包
│  │  │      35.包 - 什么是包.mp4
│  │  │      36.包 - 包的来源.mp4
│  │  │      37.包 - 为什么需要包.mp4
│  │  │      38.包 - 从哪里下载包.mp4
│  │  │      
│  │  ├─5-2 npm
│  │  │      40.npm初体验 - 格式化时间的传统做法.mp4
│  │  │      41.npm初体验 - 了解如何使用第三方的包对时间进行格式化.mp4
│  │  │      42.npm初体验 - 介绍如何使用npm install命令安装具体的包.mp4
│  │  │      43.npm初体验 - 参考moment官方文档进行时间的格式化.mp4
│  │  │      44.npm初体验 - 了解node_modules文件夹和package-lock.json文件的作用.mp4
│  │  │      45.npm初体验 - 安装指定版本的包.mp4
│  │  │      46.npm初体验 - 包的语义化版本规范.mp4
│  │  │      
│  │  ├─5-3 包管理配置文件及解决下包慢的问题
│  │  │      01.包管理配置文件 - 概念.mp4
│  │  │      02.包管理配置文件 - 进一步理解package.json配置文件的作用.mp4
│  │  │      03.包管理配置文件 - 通过命令快速创建package.json文件.mp4
│  │  │      04.包管理配置文件 - 了解dependencies节点的作用.mp4
│  │  │      05.包管理配置文件 - 一次性安装所有的包.mp4
│  │  │      06.包管理配置文件 - 卸载包.mp4
│  │  │      07.包管理配置文件 - 了解devDependencies节点的作用.mp4
│  │  │      08.解决下包慢的问题 - 分析下包速度慢的原因.mp4
│  │  │      09.解决下包慢的问题 - 了解淘宝npm镜像服务器的作用.mp4
│  │  │      10.解决下包慢的问题 - 切换npm的下包镜像源.mp4
│  │  │      11.解决下包慢的问题 - 使用nrm切换下包的服务器.mp4
│  │  │      
│  │  ├─5-4 包的分类
│  │  │      12.包的分类  -项目包.mp4
│  │  │      13.包的分类 - 全局包.mp4
│  │  │      14.包的分类 - 演示i5ting_toc的安装和使用.mp4
│  │  │      15.规范的包结构.mp4
│  │  │      
│  │  ├─5-5 开发属于自己的包
│  │  │      16.开发属于自己的包 - 了解需要实现的功能.mp4
│  │  │      17.开发属于自己的包 - 初始化包的基本结构.mp4
│  │  │      18.开发属于自己的包 - 初始化package.json配置文件.mp4
│  │  │      19.开发属于自己的包 - 在index.js中定义格式化时间的方法.mp4
│  │  │      20.开发属于自己的包 - 了解package.json中main属性的作用.mp4
│  │  │      21.开发属于自己的包 - 在index.js中定义转义HTML的方法.mp4
│  │  │      22.开发属于自己的包 - 在index.js中定义还原HTML的方法.mp4
│  │  │      23.开发属于自己的包 - 将不同的功能进行模块化的拆分.mp4
│  │  │      24.开发属于自己的包 - 编写包的使用说明文档.mp4
│  │  │      
│  │  ├─5-6 发布包
│  │  │      25.发布包 - 注册npm账号.mp4
│  │  │      26.发布包 - 登录npm账号.mp4
│  │  │      27.发布包 - 演示如何把包发布到npm上.mp4
│  │  │      28.发布包 - 演示如何删除已发布的包.mp4
│  │  │      
│  │  └─5-7 模块的加载机制
│  │          29.模块的加载机制 - 优先从缓存中加载.mp4
│  │          30.模块的加载机制 - 内置模块的加载机制.mp4
│  │          31.模块的加载机制 - 自定义模块的加载机制.mp4
│  │          32.模块的加载机制 - 第三方模块的加载机制.mp4
│  │          33.模块的加载机制 - 目录作为模块时的加载机制.mp4
│  │          
│  ├─07第七章 Express【v6.5】
│  │  ├─6-1 express
│  │  │  ├─一
│  │  │  │      34.express - 学习目标.mp4
│  │  │  │      35.初识express - express简介.mp4
│  │  │  │      36.初识express - 使用express创建基本的web服务器.mp4
│  │  │  │      37.初识express - 监听GET和POST请求以及响应客户端.mp4
│  │  │  │      38.初识express - 获取URL中携带的查询参数.mp4
│  │  │  │      39.初识express - 获取URL中的动态参数.mp4
│  │  │  │      40.初识express - 补充动态参数的两个注意点.mp4
│  │  │  │      41.初识express - 使用express.static托管静态资源.mp4
│  │  │  │      42.初识express - 托管多个静态资源目录.mp4
│  │  │  │      43.初识express - 挂载路径前缀.mp4
│  │  │  │      44.初识express - 安装nodemon.mp4
│  │  │  │      45.初识express - 使用nodemon实现项目的自动重启.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01.express路由 - 路由的概念.mp4
│  │  │          02.express路由 - 了解express中路由的概念及组成部分.mp4
│  │  │          03.express路由 - 路由的匹配过程.mp4
│  │  │          04.express路由 - 路由最简单的用法.mp4
│  │  │          05.express路由 - 创建路由模块.mp4
│  │  │          06.express路由 - 注册路由模块.mp4
│  │  │          07.express路由 - 为路由模块添加访问前缀.mp4
│  │  │          
│  │  ├─6-2 中间件
│  │  │      08.中间件 - 中间件的概念.mp4
│  │  │      09.中间件 - express中间件的调用流程.mp4
│  │  │      10.中间件 - express中间件的格式.mp4
│  │  │      11.中间件 - next函数的作用.mp4
│  │  │      12.中间件 - 定义中间件函数.mp4
│  │  │      13.中间件 - 全局生效的中间件.mp4
│  │  │      14.中间件 - 定义全局中间件的简化形式.mp4
│  │  │      15.中间件 - 中间件的作用.mp4
│  │  │      16.中间件 - 定义多个全局中间件.mp4
│  │  │      17.中间件 - 局部生效的中间件.mp4
│  │  │      18.中间件 - 使用多个局部中间件.mp4
│  │  │      19.中间件 - 了解中间件的5个注意事项.mp4
│  │  │      20.中间件的分类 - 了解什么是应用级别和路由级别的中间件.mp4
│  │  │      21.中间件的分类 - 错误级别的中间件.mp4
│  │  │      22.中间件的分类 - 了解3个内置的中间件.mp4
│  │  │      23.中间件的分类 - 演示express.static中间件的使用.mp4
│  │  │      24.中间件的分类 - 演示express.urlencoded中间件的使用.mp4
│  │  │      25.中间件的分类 - 演示body-parser第三方中间件的使用.mp4
│  │  │      26.自定义中间件 - 介绍需求及实现步骤.mp4
│  │  │      27.自定义中间件 - 监听req的data事件.mp4
│  │  │      28.自定义中间件 - 监听req的end事件.mp4
│  │  │      29.自定义中间件 - 使用querystring模块解析请求体数据.mp4
│  │  │      30.自定义中间件 - 为req挂载自定义的body属性.mp4
│  │  │      31.自定义中间件 - 将自定义中间件封装为独立的模块.mp4
│  │  │      
│  │  └─6-3 基于express写接口
│  │          32.基于express写接口 - 创建基本的服务器.mp4
│  │          33.基于express写接口 - 创建API路由模块.mp4
│  │          34.基于express写接口 - 编写GET接口.mp4
│  │          35.基于express写接口 - 编写POST接口.mp4
│  │          
│  ├─08第八章 MySQL数据库【v6.5】
│  │  ├─7-1 cors+jsonp
│  │  │      36.cors - 接口的跨域问题.mp4
│  │  │      37.cors - 使用cors中间件解决跨域问题.mp4
│  │  │      38.cors - 了解cors的概念以及注意事项.mp4
│  │  │      39.cors - 了解Access-Control-Allow-Origin的作用.mp4
│  │  │      40.cors - 了解Access-Control-Allow-Headers的作用.mp4
│  │  │      41.cors - 了解Access-Control-Allow-Methods的作用.mp4
│  │  │      42.cors - 简单请求的概念.mp4
│  │  │      43.cors - 预检请求的概念.mp4
│  │  │      44.cors - 简单请求和预检请求的区别.mp4
│  │  │      45.jsonp - 回顾jsonp的概念与特点.mp4
│  │  │      46.jsonp - 创建jsonp接口的注意事项.mp4
│  │  │      47.jsonp - 实现jsonp的接口.mp4
│  │  │      48.jsonp - 测试jsonp接口.mp4
│  │  │      
│  │  ├─7-2 数据库的基本概念
│  │  │      00.学习目标-1603520545.mp4
│  │  │      01.数据库的基本概念 - 什么是数据库.mp4
│  │  │      02.数据库的基本概念 - 常见的数据库及分类.mp4
│  │  │      03.数据库的基本概念 - 了解传统型数据库的数据组织结构.mp4
│  │  │      04.数据库的基本概念 - 实际开发中库、表、行、字段之间的关系.mp4
│  │  │      05.安装MySQL - 了解需要安装哪些MySQL相关的软件.mp4
│  │  │      06.安装MySQL - 介绍在Mac下如何安装MySQL.mp4
│  │  │      07.安装MySQL - 演示如何在Windows10系统上安装MySQL.mp4
│  │  │      08.MySQL的基本使用 - 使用MySQL Workbench连接数据库.mp4
│  │  │      09.MySQL的基本使用 - 了解MySQL Workbench主界面的组成部分.mp4
│  │  │      10.MySQL的基本使用 - 创建数据库.mp4
│  │  │      11.MySQL的基本使用 - 创建数据表.mp4
│  │  │      12.MySQL的基本使用 - 设计表的字段名称和数据类型.mp4
│  │  │      13.MySQL的基本使用 - 设置字段的特殊标识.mp4
│  │  │      14.MySQL的基本使用 - 向表中写入数据.mp4
│  │  │      
│  │  ├─7-3 sql
│  │  │      15.sql - 介绍什么是SQL.mp4
│  │  │      16.sql - 了解SQL能够做什么以及SQL的学习目标.mp4
│  │  │      17.sql - 介绍SELECT语句的语法格式.mp4
│  │  │      18.sql - 演示SELECT语句的两种用法.mp4
│  │  │      19.sql - 演示INSERT INTO语句的使用.mp4
│  │  │      20.sql - 演示UPDATE语句的使用.mp4
│  │  │      21.sql - 演示DELETE语句的使用.mp4
│  │  │      22.sql - 演示WHERE子句的使用.mp4
│  │  │      23.sql - 演示AND和OR运算符的使用.mp4
│  │  │      24.sql - 演示ORDER BY子句的基本使用.mp4
│  │  │      25.sql - 演示ORDER BY的多重排序.mp4
│  │  │      26.sql - 演示COUNT函数的使用.mp4
│  │  │      27.sql - 演示如何使用AS关键字为列设置别名.mp4
│  │  │      28.sql - 演示如何保存和打开.sql的文件.mp4
│  │  │      
│  │  └─7-4 mysql模块
│  │          29.mysql模块 - 了解在项目中操作MySQL数据库的3个步骤.mp4
│  │          30.mysql模块 - 安装与配置mysql模块.mp4
│  │          31.mysql模块 - 测试mysql模块能否正常工作.mp4
│  │          32.mysql模块 - 使用SELECT语句查询数据.mp4
│  │          33.mysql模块 - 使用INSERT INTO语句插入数据.mp4
│  │          34.mysql模块 - 说明id的唯一性.mp4
│  │          35.mysql模块 - 演示插入数据的便捷方式.mp4
│  │          36.mysql模块 - 使用UPDATE语句更新数据.mp4
│  │          37.mysql模块 - 演示更新数据的便捷方式.mp4
│  │          38.mysql模块 - 使用DELETE语句删除数据.mp4
│  │          39.mysql模块 - 演示如何实现标记删除.mp4
│  │          
│  ├─09第九章 身份认证【v6.5】
│  │  ├─8-1 web开发模式
│  │  │      01.web开发模式 - 了解服务端渲染的概念及优缺点.mp4
│  │  │      02.web开发模式 - 了解前后端分离的概念及优缺点.mp4
│  │  │      03.web开发模式 - 如何选择web开发模式.mp4
│  │  │      
│  │  ├─8-2 身份认证+session
│  │  │      04.身份认证 - 什么是身份认证.mp4
│  │  │      05.身份认证 - 了解为什么需要身份认证以及身份认证的方案.mp4
│  │  │      06.session - 了解HTTP协议的无状态性.mp4
│  │  │      07.session - 如何突破HTTP无状态的限制.mp4
│  │  │      08.session - 什么是cookie.mp4
│  │  │      09.session - cookie在身份认证中的作用.mp4
│  │  │      10.session - cookie不具有安全性.mp4
│  │  │      11.session - 提高身份认证的安全性.mp4
│  │  │      12.session - 介绍session的工作原理.mp4
│  │  │      13.session - 安装并配置express-session中间件.mp4
│  │  │      14.session - 向session中存数据.mp4
│  │  │      15.session - 从session中取数据.mp4
│  │  │      16.session - 清空session.mp4
│  │  │      17.session - 演示session案例的效果并梳理实现的步骤.mp4
│  │  │      
│  │  └─8-3 jwt
│  │          18.jwt - 了解session认证的局限性以及jwt的概念.mp4
│  │          19.jwt - 了解jwt的工作原理.mp4
│  │          20.jwt - 了解jwt的三个组成部分以及各自代表的含义.mp4
│  │          21.jwt - 了解jwt的使用方式.mp4
│  │          22.jwt - 安装并导入jwt相关的包.mp4
│  │          23.jwt - 定义secret秘钥.mp4
│  │          24.jwt - 调用jsonwebtoken提供的sign方法生成token字符串.mp4
│  │          25.jwt - 将jwt字符串还原为json对象.mp4
│  │          26.jwt - 使用req.user获取用户信息.mp4
│  │          27.jwt - 捕获解析jwt失败后产生的错误.mp4
│  │          
│  └─阶段作业  前后端交互-试卷
│      │  前后端交互-试卷.docx
│      │  
│      └─前后端分离模式移动web网站开发
│          │  .DS_Store
│          │  
│          ├─01-视频
│          │      第四阶段:阶段作业分析.mp4
│          │      
│          ├─02-资料
│          │  │  .DS_Store
│          │  │  Node.js与Ajax阶段-阶段作业分析.pdf
│          │  │  前后端交互阶段作业题提示【必看】.docx
│          │  │  前端学科-前后端交互阶段-要求.docx
│          │  │  
│          │  ├─设计图
│          │  │      设计图1.png
│          │  │      设计图2.png
│          │  │      
│          │  └─阶段作业题效果图
│          │          效果图1.png
│          │          效果图2.png
│          │          效果图3.png
│          │          阶段作业题效果图演示.gif
│          │          
│          └─03-素材
│              │  .DS_Store
│              │  
│              ├─api_server
│              │  │  .DS_Store
│              │  │  app.js
│              │  │  package.json
│              │  │  后端目录结构说明文档.txt
│              │  │  
│              │  ├─constroler
│              │  │      controler.js
│              │  │      
│              │  ├─db
│              │  │      data.json
│              │  │      
│              │  ├─images
│              │  │      .DS_Store
│              │  │      FE.png
│              │  │      js.jpg
│              │  │      quickAPP.jpg
│              │  │      wx.jpg
│              │  │      
│              │  └─router
│              │          router.js
│              │          
│              └─web
│                  │  .DS_Store
│                  │  favicon.ico
│                  │  web.js
│                  │  
│                  └─views
│                      │  .DS_Store
│                      │  category.html
│                      │  index.html
│                      │  
│                      ├─css
│                      │      .DS_Store
│                      │      
│                      ├─images
│                      │      .DS_Store
│                      │      data.png
│                      │      fe-list.png
│                      │      FE.png
│                      │      headerLogo.png
│                      │      java.png
│                      │      logo.png
│                      │      python.png
│                      │      ui.png
│                      │      web_fe.png
│                      │      邮件.png
│                      │      
│                      └─js
│                              .DS_Store
│                              
├─05-阶段五 Vue.js 项目实战开发
│  ├─01第一章 Vue.js项目实战课前导学
│  │      第五阶段课前导学.mp4
│  │      
│  ├─02第二章 Vue基础【v6.5】
│  │  ├─2-1 Vue指令及案例
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  ├─一
│  │  │  │      00-学习目标.mp4
│  │  │  │      01-Vue概述.mp4
│  │  │  │      02-Vue之HelloWorld.mp4
│  │  │  │      03-模板语法概述.mp4
│  │  │  │      04-指令概念与v-cloak指令用法.mp4
│  │  │  │      05-数据填充相关3个指令的用法.mp4
│  │  │  │      06-数据响应式概念与v-once用法.mp4
│  │  │  │      07-双向数据绑定与v-model指令用法.mp4
│  │  │  │      08-MVVM设计思想分析.mp4
│  │  │  │      09-事件绑定基本用法.mp4
│  │  │  │      10-事件函数参数传递方式.mp4
│  │  │  │      11-事件修饰符的用法.mp4
│  │  │  │      12-按键修饰符的用法.mp4
│  │  │  │      13-自定义按键修饰符.mp4
│  │  │  │      14-简单计算器案例.mp4
│  │  │  │      15-属性绑定基本用法.mp4
│  │  │  │      16-指令v-model底层原理分析.mp4
│  │  │  │      17-样式绑定之class绑定对象用法.mp4
│  │  │  │      18-样式绑定之class绑定数组用法.mp4
│  │  │  │      19-样式绑定之class绑定3个细节用法.mp4
│  │  │  │      20-样式绑定之style绑定用法.mp4
│  │  │  │      21-分支结构用法.mp4
│  │  │  │      22-循环结构遍历数组与key的作用分析.mp4
│  │  │  │      23-循环结构遍历对象.mp4
│  │  │  │      24-案例选项卡-需求分析与UI概览.mp4
│  │  │  │      25-案例选项卡-实现模板布局.mp4
│  │  │  │      26-案例选项卡-切换样式处理.mp4
│  │  │  │      27-案例选项卡-事件处理.mp4
│  │  │  │      
│  │  │  ├─二
│  │  │  │      01-常用特性概述与表单效果概览.mp4
│  │  │  │      02-表单基本操作-上.mp4
│  │  │  │      03-表单基本操作-下.mp4
│  │  │  │      04-表单域修饰符用法.mp4
│  │  │  │      05-自定义指令基本用法.mp4
│  │  │  │      06-自定义指令-带参数.mp4
│  │  │  │      07-自定义局部指令用法.mp4
│  │  │  │      08-计算属性基本用法.mp4
│  │  │  │      09-计算属性与方法的区别.mp4
│  │  │  │      10-侦听器基本用法.mp4
│  │  │  │      11-侦听器案例.mp4
│  │  │  │      12-过滤器基本用法.mp4
│  │  │  │      13-带参数的过滤器案例.mp4
│  │  │  │      14-实例的生命周期.mp4
│  │  │  │      
│  │  │  └─课后练习
│  │  │          02-Vue指令-指令练习-参考答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-10 路由案例
│  │  │  │  11.路由案例-抽离并渲染App根组件.mp4
│  │  │  │  12.路由案例-将左侧菜单改造为路由链接.mp4
│  │  │  │  13.路由案例-创建左侧菜单对应的路由组件并添加路由占位符.mp4
│  │  │  │  14.路由案例-添加子路由规则并实现路由重定向.mp4
│  │  │  │  15.路由案例-渲染用户列表数据.mp4
│  │  │  │  16.路由案例-编程式导航跳转到详情页并实现后退功能.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          Vue路由案例答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-2 图书管理综合案例
│  │  │  │  15-综合案例-图书管理功能概述.mp4
│  │  │  │  16-综合案例-Vue数组处理相关概念.mp4
│  │  │  │  17-综合案例-Vue动态处理响应式数据.mp4
│  │  │  │  18-综合案例-图书列表展示.mp4
│  │  │  │  19-综合案例-添加图书.mp4
│  │  │  │  20-综合案例-修改图书-上.mp4
│  │  │  │  21-综合案例-修改图书-下.mp4
│  │  │  │  22-综合案例-删除图书.mp4
│  │  │  │  23-综合案例-常用特性应用场景-上.mp4
│  │  │  │  24-综合案例-常用特性应用场景-下.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          用户管理案例答案1.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-3 Vue组件
│  │  │  │  00-学习目标-1603527886.mp4
│  │  │  │  01-组件化开发概述.mp4
│  │  │  │  02-组件基本使用.mp4
│  │  │  │  03-组件注册注意事项-上.mp4
│  │  │  │  04-组件注册注意事项-下.mp4
│  │  │  │  05-局部组件注册方式.mp4
│  │  │  │  06-Vue调试工具安装与使用.mp4
│  │  │  │  07-父组件向子组件传值-基本用法.mp4
│  │  │  │  08-父组件向子组件传值-props属性命名规则(1).mp4
│  │  │  │  09-父组件向子组件传值-props属性值类型.mp4
│  │  │  │  10-子组件向父组件传值-基本用法.mp4
│  │  │  │  11-子组件向父组件传值-携带参数.mp4
│  │  │  │  12-兄弟组件之间数据交互.mp4
│  │  │  │  13-组件插槽基本用法.mp4
│  │  │  │  14-具名插槽用法.mp4
│  │  │  │  15-作用域插槽用法.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          02-Vue组件-图片列表-参考答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-4 购物车案例
│  │  │  │  16-购物车案例-功能概述.mp4
│  │  │  │  17-购物车案例-实现组件化布局(1).mp4
│  │  │  │  18-购物车案例-实现标题和结算组件功能.mp4
│  │  │  │  19-购物车案例-实现列表组件删除商品功能.mp4
│  │  │  │  20-购物车案例-实现列表组件更新商品功能-上.mp4
│  │  │  │  21-购物车案例-实现列表组件更新商品功能-下.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          个人信息案例答案1.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-5 Promise
│  │  │  │  00-学习目标-.mp4
│  │  │  │  01-前后端交互概述与URL地址格式.mp4
│  │  │  │  02-异步编程问题与Promise概述-fixed.mp4
│  │  │  │  03-Promise基本用法.mp4
│  │  │  │  04-Promise发送Ajax请求并处理回调地狱问题.mp4
│  │  │  │  05-Promise的then方法参数中的函数的返回值.mp4
│  │  │  │  06-Promise常用API-实例方法.mp4
│  │  │  │  07-Promise常用API-对象方法.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          基于promise实现获取笑话案例答案1.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-6 Fetch
│  │  │  │  08-FetchAPI概述与基本使用.mp4
│  │  │  │  09-FetchAPI的GET和DELETE请求传参.mp4
│  │  │  │  10-FetchAPI的POST和PUT请求传参(1).mp4
│  │  │  │  11-FetchAPI响应数据格式.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          基于fetch实现获取笑话案例答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-7 axios
│  │  │  │  12-axios概述与基本用法.mp4
│  │  │  │  13-axios的GET和DELETE请求传参.mp4
│  │  │  │  14-axios的POST和PUT请求传参.mp4
│  │  │  │  15-axios响应结果与全局配置.mp4
│  │  │  │  16-axios拦截器用法.mp4
│  │  │  │  17-async函数基本用法.mp4
│  │  │  │  18-async函数处理多个异步请求.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          基于axios实现获取笑话案例答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─2-8 基于后台接口的图书管理案例
│  │  │  │  19-基于后台接口的案例-业务需求概述.mp4
│  │  │  │  20-基于后台接口的案例-图书列表加载_fixed.mp4
│  │  │  │  21-基于后台接口的案例-添加图书.mp4
│  │  │  │  22-基于后台接口的案例-验证图书名称存在性.mp4
│  │  │  │  23-基于后台接口的案例-编辑图书.mp4
│  │  │  │  24-基于后台接口的案例-删除图书.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          素材.zip
│  │  │          英雄列表案例答案.zip
│  │  │          课后练习.docx
│  │  │          
│  │  └─2-9 vue路由
│  │      │  00.vue路由的学习目标.mp4
│  │      │  01.路由-路由的基本概念.mp4
│  │      │  02.路由-实现简易的前端路由.mp4
│  │      │  03.路由-介绍vue-router.mp4
│  │      │  04.路由-vue-router的基本使用.mp4
│  │      │  05.路由-路由重定向.mp4
│  │      │  06.路由-嵌套路由.mp4
│  │      │  07.路由-动态路由匹配1.mp4
│  │      │  08.路由-动态路由匹配2.mp4
│  │      │  09.路由-命名路由.mp4
│  │      │  10.路由-编程式导航.mp4
│  │      │  
│  │      └─课后练习
│  │              01-Vue路由-导航使用-参考答案.zip
│  │              02-Vue路由-导航切换-参考答案.html.zip
│  │              素材 (1).zip
│  │              素材.zip
│  │              课后练习.docx
│  │              
│  ├─03第三章 webpack【v6.5】
│  │  ├─3-1 前端工程化和模块化
│  │  │      00.前端工程化-学习目标.mp4
│  │  │      01.前端工程化-模块化的相关规范.mp4
│  │  │      02.前端工程化-Node.js中通过babel体验ES6模块化.mp4
│  │  │      03.ES6模块化语法-默认导出与默认导入.mp4
│  │  │      04.ES6模块化语法-按需导出与按需导入.mp4
│  │  │      05.ES6模块化语法-直接导入并执行模块代码.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  └─3-2 webpack
│  │          06.webpack-介绍webpack的作用(1).mp4
│  │          07.webpack-创建列表隔行变色项目.mp4
│  │          08.webpack-在项目中安装和配置webpack.mp4
│  │          09.webpack-配置打包的入口与出口.mp4
│  │          10.webpack-配置webpack的自动打包功能.mp4
│  │          11.webpack-配置html-webpack-plugin生成预览页面.mp4
│  │          12.webpack-配置自动打包相关的参数.mp4
│  │          13.webpack加载器-介绍加载器以及加载器的调用过程.mp4
│  │          14.webpack加载器-打包处理css文件(1).mp4
│  │          15.webpack加载器-打包处理less文件.mp4
│  │          16.webpack加载器-打包处理scss文件.mp4
│  │          17.webpack加载器-配置postCSS.mp4
│  │          18.webpack加载器-打包样式表中的图片和字体文件.mp4
│  │          19.webpack加载器-打包处理js文件中的高级语法.mp4
│  │          20.单文件组件-单文件组件的组成结构.mp4
│  │          21.单文件组件-配置.vue文件的loader加载器.mp4
│  │          22.单文件组件-在webpack项目中使用vue.mp4
│  │          23.单文件组件-webpack打包发布.mp4
│  │          单元测试.docx
│  │          
│  ├─04第四章 Vue-cli3和Element-UI【v6.5】
│  │  ├─4-1 Vue-cli3(Vue脚手架)
│  │  │      24.vue脚手架-介绍并安装3.x版本的vue脚手架.mp4
│  │  │      25.vue脚手架-基于交互式命令行创建新版vue项目.mp4
│  │  │      26.vue脚手架-基于图形化界面创建新版vue项目.mp4
│  │  │      27.vue脚手架-基于2.x的旧模板创建旧版vue项目.mp4
│  │  │      28.vue脚手架-分析项目结构.mp4
│  │  │      29.vue脚手架-对vue脚手架项目进行自定义配置的两种方式.mp4
│  │  │      单元测试.docx
│  │  │      
│  │  └─4-2 Element-UI组件库
│  │          30.组件库-介绍element-ui并基于命令行方式手动安装.mp4
│  │          31.组件库-基于图形化界面自动安装element-ui.mp4
│  │          单元测试.docx
│  │          
│  ├─05第五章 Vue电商后台管理系统【v6.5】
│  │  ├─5-1 项目初始化
│  │  │      00.项目实战的学习目标.mp4
│  │  │      01.项目概述-电商项目基本业务概述.mp4
│  │  │      02.项目概述-电商后台管理系统的功能划分.mp4
│  │  │      03.项目概述-项目的开发模式以及技术选型.mp4
│  │  │      04.项目初始化-前端项目初始化.mp4
│  │  │      05.项目初始化-创建码云账号并配置SSH公钥.mp4
│  │  │      06.项目初始化-将本地项目托管到码云中.mp4
│  │  │      07.项目初始化-安装MySQL.mp4
│  │  │      08.项目初始化-配置API接口服务器并使用PostMan调试接口.mp4
│  │  │      
│  │  ├─5-10 分类参数
│  │  │  ├─一
│  │  │  │      18.分类参数-介绍分类参数功能的作用.mp4
│  │  │  │      19.分类参数-通过路由加载分类参数组件页面.mp4
│  │  │  │      20.分类参数-渲染分类参数页面的基本UI结构.mp4
│  │  │  │      21.分类参数-调用API获取商品分类列表数据.mp4
│  │  │  │      22.分类参数-渲染商品分类的级联选择框.mp4
│  │  │  │      23.分类参数-控制级联选择框的选中范围.mp4
│  │  │  │      24.分类参数-渲染分类参数的Tabs页签.mp4
│  │  │  │      25.分类参数-渲染添加参数按钮并控制按钮的禁用状态.mp4
│  │  │  │      26.分类参数-获取参数列表数据.mp4
│  │  │  │      27.分类参数-切换Tabs面板后重新获取参数列表数据.mp4
│  │  │  │      28.分类参数-将获取到的参数数据挂载到不同的数据源上.mp4
│  │  │  │      29.分类参数-渲染动态参数和静态属性的Table表格.mp4
│  │  │  │      30.添加参数-渲染添加参数的对话框.mp4
│  │  │  │      31.添加参数-完成动态参数和静态属性的添加操作.mp4
│  │  │  │      32.修改参数-渲染修改参数的对话框.mp4
│  │  │  │      33.修改参数-完成修改参数的操作.mp4
│  │  │  │      34.删除参数-完成删除参数的业务逻辑.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01.分类参数-渲染参数下的可选项.mp4
│  │  │          02.分类参数-解决attr_vals为空字符串时候的小问题.mp4
│  │  │          03.分类参数-控制按钮与文本框的切换显示.mp4
│  │  │          04.分类参数-为每一行数据提供单独的inputVisible和inputValue.mp4
│  │  │          05.分类参数-让文本框自动获得焦点.mp4
│  │  │          06.分类参数-实现文本框与按钮的切换显示.mp4
│  │  │          07.分类参数-完成参数可选项的添加操作.mp4
│  │  │          08.分类参数-删除参数下的可选项.mp4
│  │  │          10.分类参数-清空表格数据.mp4
│  │  │          11.分类参数-完成静态属性表格中的展开行效果.mp4
│  │  │          12.分支操作-将本地goods_params分支的代码提交并推送到码云.mp4
│  │  │          13.分支操作-创建goods_list子分支并推送到码云.mp4
│  │  │          
│  │  ├─5-11 商品列表
│  │  │      14.商品列表-通过路由加载商品列表组件.mp4
│  │  │      15.商品列表-获取商品列表数据.mp4
│  │  │      16.商品列表-渲染商品表格数据.mp4
│  │  │      17.商品列表-自定义格式化时间的全局过滤器.mp4
│  │  │      18.商品列表-实现商品列表的分页功能.mp4
│  │  │      19.商品列表-实现搜索与清空的功能.mp4
│  │  │      20.商品列表-根据Id删除商品数据.mp4
│  │  │      21.商品列表-通过编程式导航跳转到商品添加页面.mp4
│  │  │      
│  │  ├─5-12 商品添加
│  │  │  ├─一
│  │  │  │      22.商品添加-渲染添加页面的基本结构.mp4
│  │  │  │      23.商品添加-美化步骤条组件.mp4
│  │  │  │      24.商品添加-渲染tab栏区域.mp4
│  │  │  │      25.商品添加-实现步骤条和tab栏的数据联动效果.mp4
│  │  │  │      26.商品添加-分析表单的组成部分.mp4
│  │  │  │      27.商品添加-绘制基本信息面板的UI结构.mp4
│  │  │  │      28.商品添加-获取商品分类数据.mp4
│  │  │  │      29.商品添加-绘制商品分类的级联选择器.mp4
│  │  │  │      30.商品添加-只允许选中三级商品分类.mp4
│  │  │  │      31.商品添加-阻止页签切换.mp4
│  │  │  │      32.商品添加-获取动态参数列表数据.mp4
│  │  │  │      33.商品添加-绘制商品参数面板中的复选框组.mp4
│  │  │  │      34.商品添加-优化复选框的样式.mp4
│  │  │  │      35.商品添加-获取静态属性列表数据.mp4
│  │  │  │      36.商品添加-渲染商品属性面板的UI结构.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01.商品添加-初步使用upload上传组件.mp4
│  │  │          02.商品添加-手动为upload组件绑定headers请求头.mp4
│  │  │          03.商品添加-监听upload组件的on-success事件.mp4
│  │  │          04.商品添加-监听upload组件的on-remove事件.mp4
│  │  │          05.商品添加-实现图片的预览效果.mp4
│  │  │          06.商品添加-安装并配置vue-quill-editor.mp4
│  │  │          07.商品添加-实现表单数据的预验证.mp4
│  │  │          08.商品添加-把goods_cat从数组转换为字符串.mp4
│  │  │          09.商品添加-处理attrs数组.mp4
│  │  │          10.商品添加-完成商品添加操作.mp4
│  │  │          11.分支操作-将goods_list分支的代码合并且推送到码云.mp4
│  │  │          12.分支操作-创建order子分支.mp4
│  │  │          
│  │  ├─5-13 订单列表
│  │  │      13.订单列表-通过路由渲染订单列表页面.mp4
│  │  │      14.订单列表-根据分页获取订单数据列表.mp4
│  │  │      15订单列表-渲染订单table表格.mp4
│  │  │      16.订单列表-实现分页功能.mp4
│  │  │      17.订单列表-实现省市区县数据联动效果.mp4
│  │  │      18.订单列表-展示物流进度对话框并获取物流信息.mp4
│  │  │      19.5【补充视频】-关于第19个视频的时间线组件说明.mp4
│  │  │      19.订单列表-手动导入并使用Timeline组件.mp4
│  │  │      20.分支操作-将本地order分支的代码合并且推送到码云.mp4
│  │  │      21.分支操作-创建report子分支.mp4
│  │  │      
│  │  ├─5-14 Echarts数据统计
│  │  │      22.数据统计-通过路由加载数据报表组件.mp4
│  │  │      23.数据统计-安装Echarts并渲染Demo图表.mp4
│  │  │      24.数据统计-获取折线图数据并渲染图表.mp4
│  │  │      25.分支操作-将本地的report分支合并且推送到码云.mp4
│  │  │      
│  │  ├─5-15 项目优化
│  │  │      00.学习目标.mp4
│  │  │      01.优化-介绍项目优化的策略.mp4
│  │  │      02.优化-通过nprogress添加进度条效果.mp4
│  │  │      03.优化-解决serve命令中提示的ESLint语法错误.mp4
│  │  │      04.优化-在执行build命令期间移除所有的console.mp4
│  │  │      05.优化-只在发布阶段移除所有的console.mp4
│  │  │      06.优化-生成打包报告.mp4
│  │  │      07.优化-通过vue.config.js修改webpack的默认配置.mp4
│  │  │      08.优化-介绍configureWebpack与chainWebpack.mp4
│  │  │      09.优化-通过chainWebpack自定义打包入口.mp4
│  │  │      10.优化-通过externals加载外部CDN资源.mp4
│  │  │      11.优化-演示externals的效果.mp4
│  │  │      12.优化-通过CDN优化ElementUI的打包.mp4
│  │  │      13.优化-自定制首页内容.mp4
│  │  │      14.优化-实现路由懒加载.mp4
│  │  │      
│  │  ├─5-16 项目部署上线
│  │  │      15.5【补充内容】解决打包之后角色列表数据不显示的Bug.mp4
│  │  │      15.上线-通过node创建web服务器.mp4
│  │  │      16.上线-开启文件的Gzip网络传输压缩.mp4
│  │  │      17.上线-配置HTTPS服务.mp4
│  │  │      18.上线-使用pm2管理应用.mp4
│  │  │      
│  │  ├─5-2 登录和退出功能 5-3 主页布局和
│  │  │      09.登录退出-分析登录过程以及token的原理.mp4
│  │  │      10.登录退出-分析登录页面的布局结构并创建login子分支.mp4
│  │  │      11.登录退出-梳理项目结构.mp4
│  │  │      12.登录退出-渲染Login组件并实现路由重定向.mp4
│  │  │      13.登录退出-设置背景色并在屏幕中央绘制登录盒子.mp4
│  │  │      14.登录退出-绘制默认头像.mp4
│  │  │      15.登录退出-绘制登录表单区域.mp4
│  │  │      16.登录退出-绘制带icon的input输入框.mp4
│  │  │      17.登录退出-实现表单的数据绑定.mp4
│  │  │      18.登录退出-实现表单数据验证.mp4
│  │  │      19.登录退出-实现表单的重置功能.mp4
│  │  │      20.登录退出-实现登录前表单数据的预验证.mp4
│  │  │      21.登录退出-配置axios发起登录请求.mp4
│  │  │      22.登录退出-配置Message全局弹框组件.mp4
│  │  │      23.登录退出-完善登录之后的操作.mp4
│  │  │      24.登录退出-路由导航守卫控制页面访问权限.mp4
│  │  │      25.登录退出-实现退出功能.mp4
│  │  │      26.语法处理-处理项目中的ESLint语法报错问题.mp4
│  │  │      27.语法处理-修改element-ui组件的按需导入形式.mp4
│  │  │      28.登录退出-将本地代码提交代码到码云中.mp4
│  │  │      
│  │  ├─5-3 主页布局和功能实现
│  │  │      01.主页-实现基本的主页布局.mp4
│  │  │      02.主页-美化主页的header区域.mp4
│  │  │      03.主页-实现导航菜单的基本结构.mp4
│  │  │      04.主页-通过axios拦截器添加token验证.mp4
│  │  │      05.主页-获取左侧菜单数据.mp4
│  │  │      06.主页-通过双层for循环渲染左侧菜单.mp4
│  │  │      07.主页-为选中项设置字体颜色并添加分类图标.mp4
│  │  │      08.主页-每次只能打开一个菜单项并解决边框问题.mp4
│  │  │      09.主页-实现侧边栏的折叠与展开效果.mp4
│  │  │      10.主页-实现首页路由的重定向效果.mp4
│  │  │      11.主页-实现侧边栏路由链接的改造.mp4
│  │  │      
│  │  ├─5-4 用户列表布局和功能实现
│  │  │      12.用户列表-通过路由的形式展示用户列表组件.mp4
│  │  │      13.用户列表-在sessionStorage中保存左侧菜单的激活状态.mp4
│  │  │      14.用户列表-绘制用户列表组件的基础布局结构.mp4
│  │  │      15.用户列表-获取用户列表数据.mp4
│  │  │      16.用户列表-使用el-table组件渲染基本的用户列表.mp4
│  │  │      17.用户列表-为表格添加索引列.mp4
│  │  │      18.用户列表-自定义状态列的显示效果.mp4
│  │  │      19.用户列表-通过作用域插槽渲染操作列.mp4
│  │  │      20.用户列表-实现分页效果.mp4
│  │  │      21.用户列表-修改用户状态.mp4
│  │  │      22.用户列表-实现搜索功能(1).mp4
│  │  │      22.用户列表-实现搜索功能.mp4
│  │  │      
│  │  ├─5-5 用户添加、修改、删除功能
│  │  │  ├─一
│  │  │  │      23.添加用户-渲染添加用户的对话框.mp4
│  │  │  │      24.添加用户-渲染添加用户的表单.mp4
│  │  │  │      25.添加用户-自定义邮箱和手机号的校验规则.mp4
│  │  │  │      26.添加用户-实现添加表单的重置操作.mp4
│  │  │  │      27.添加用户-实现添加用户前的表单预校验.mp4
│  │  │  │      28.添加用户-调用API接口完成添加用户的操作.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01.修改用户-展示修改用户的对话框.mp4
│  │  │          02.修改用户-根据Id查询对应的用户信息.mp4
│  │  │          03.修改用户-渲染修改用户的表单.mp4
│  │  │          04.修改用户-实现修改用户表单的重置操作.mp4
│  │  │          05.修改用户-完成提交修改之前的表单预验证.mp4
│  │  │          06.修改用户-提交表单完成用户信息的修改.mp4
│  │  │          07.删除用户-弹框询问用户是否确认删除数据.mp4
│  │  │          08.删除用户-调用API完成删除用户的操作.mp4
│  │  │          09.提交代码-创建user子分支并把代码推送到码云仓库中.mp4
│  │  │          10.新建分支-创建rights子分支并推送到码云.mp4
│  │  │          
│  │  ├─5-6 权限列表
│  │  │      11.权限列表-通过路由展示权限列表组件.mp4
│  │  │      12.权限列表-绘制面包屑导航和卡片视图.mp4
│  │  │      13.权限列表-调用API获取权限列表的数据.mp4
│  │  │      14.权限列表-渲染权限列表UI结构.mp4
│  │  │      15.介绍 用户-角色-权限 三者之间的关系.mp4
│  │  │      
│  │  ├─5-7 角色列表
│  │  │      16.角色列表-通过路由展示角色列表组件.mp4
│  │  │      17.角色列表-绘制基本布局结构并获取列表数据.mp4
│  │  │      18.角色列表-渲染角色列表数据.mp4
│  │  │      19.角色列表-说明角色列表需要完成的功能模块.mp4
│  │  │      20.角色列表-分析角色下权限渲染的实现思路.mp4
│  │  │      21.角色列表-通过第一层for循环渲染一级权限.mp4
│  │  │      22.角色列表-美化一级权限的UI结构.mp4
│  │  │      23.角色列表-通过第二层for循环渲染二级权限.mp4
│  │  │      24.角色列表-通过第三层for循环渲染三级权限.mp4
│  │  │      25.角色列表-美化角色下权限的UI结构.mp4
│  │  │      26.角色列表-点击删除权限按钮弹出确认提示框.mp4
│  │  │      27.角色列表-完成删除角色下指定权限的功能.mp4
│  │  │      
│  │  ├─5-8 分配权限、角色
│  │  │      28.分配权限-弹出分配权限对话框并请求权限数据.mp4
│  │  │      29.分配权限-初步配置并使用el-tree树形控件.mp4
│  │  │      30.分配权限-优化树形控件的展示效果.mp4
│  │  │      31.分配权限-分析已有权限默认勾选的实现思路.mp4
│  │  │      32.分配权限-加载当前角色已有的权限.mp4
│  │  │      33.分配权限-在关闭对话框时重置defKeys数组.mp4
│  │  │      34.分配权限-调用API完成分配权限的功能.mp4
│  │  │      35.分配角色-渲染分配角色的对话框并请求角色列表数据.mp4
│  │  │      36.分配角色-渲染角色列表的select下拉菜单.mp4
│  │  │      37.分配角色-完成分配角色的功能.mp4
│  │  │      38.分支操作-提交本地代码到Git仓库并推送到码云.mp4
│  │  │      
│  │  └─5-9 商品分类
│  │          01.商品分类-介绍商品分类功能的作用.mp4
│  │          02.商品分类-创建goods_cate子分支并push到码云中.mp4
│  │          03.商品分类-通过路由加载商品分类组件.mp4
│  │          04.商品分类-绘制商品分类组件的基本页面布局.mp4
│  │          05.商品分类-调用API获取商品分类列表数据.mp4
│  │          06.商品分类-初步使用vue-table-with-tree-grid树形表格组件.mp4
│  │          07.商品分类-使用自定义模板列渲染表格数据.mp4
│  │          08.商品分类-渲染排序和操作对应的UI结构.mp4
│  │          09.商品分类-实现分页功能.mp4
│  │          10.商品分类-渲染添加分类的对话框和表单.mp4
│  │          11.商品分类-获取父级分类数据列表.mp4
│  │          12.商品分类-渲染级联选择器.mp4
│  │          13.商品分类-根据父分类的变化处理表单中的数据.mp4
│  │          14.商品分类-在对话框的close事件中重置表单数据.mp4
│  │          15.商品分类-完成添加分类的操作.mp4
│  │          16.分支操作-将goods_cate分支上的代码提交到Git仓库中.mp4
│  │          17.分支操作-创建goods_params分支.mp4
│  │          
│  ├─06第六章 Vuex【v6.5】
│  │  ├─6-1 Vuex基础
│  │  │  │  00.学习目标-.mp4
│  │  │  │  01.vuex基础-vuex概述.mp4
│  │  │  │  02.vuex基础-vuex的基本使用.mp4
│  │  │  │  03.vuex基础-初始化计数器项目的基本结构.mp4
│  │  │  │  04.vuex基础-定义并访问全局共享的数据.mp4
│  │  │  │  05.vuex基础-组件访问state中数据的第二种方式.mp4
│  │  │  │  06.vuex基础-学习mutation的基本使用.mp4
│  │  │  │  07.vuex基础-在触发mutation的时候携带参数.mp4
│  │  │  │  08.vuex基础-触发mutation的第二种方式.mp4
│  │  │  │  09.vuex基础-action的基本使用.mp4
│  │  │  │  10.vuex基础-在触发action的时候携带参数.mp4
│  │  │  │  11.vuex基础-触发action的第二种方式.mp4
│  │  │  │  12.vuex基础-介绍getter的使用.mp4
│  │  │  │  
│  │  │  └─课后练习
│  │  │          vuex案例答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  └─6-2 基于Vuex的todos案例
│  │      │  12.vuex基础-介绍getter的使用.mp4
│  │      │  13.vuex案例-新建项目并初始化基本结构.mp4
│  │      │  14.vuex案例-动态加载任务列表数据.mp4
│  │      │  15.vuex案例-实现文本框与store数据的双向同步.mp4
│  │      │  16.vuex案例-完成添加事项的操作.mp4
│  │      │  17.vuex案例-完成删除任务事项的操作.mp4
│  │      │  18.vuex案例-动态绑定复选框的选中状态.mp4
│  │      │  19.vuex案例-修改任务事项的完成状态.mp4
│  │      │  20.vuex案例-使用getters统计未完成的任务条数.mp4
│  │      │  21.vuex案例-清除已完成的任务.mp4
│  │      │  22.vuex案例-动态切换按钮的高亮效果.mp4
│  │      │  23.vuex案例-实现列表数据的动态切换.mp4
│  │      │  
│  │      └─课后练习
│  │              vuex购物车案例答案.zip
│  │              课后练习.docx
│  │              
│  ├─07第七章 社交媒体-黑马头条项目【v6.5】
│  │  ├─7-1 项目初始化
│  │  │      00-项目演示.mp4
│  │  │      01 项目初始化-模块介绍.mp4
│  │  │      02 项目初始化-使用VueCLI创建项目.mp4
│  │  │      03 项目初始化-加入Git版本管理.mp4
│  │  │      04 项目初始化-调整初始目录结构.mp4
│  │  │      05 项目初始化-导入图标素材.mp4
│  │  │      06 项目初始化-引入Vant组件库.mp4
│  │  │      07 项目初始化-移动端REM适配.mp4
│  │  │      08 项目初始化-移动端REM适配(关于PostCSS配置文件).mp4
│  │  │      09 项目初始化-封装请求模块.mp4
│  │  │      10 项目初始化-模块总结.mp4
│  │  │      
│  │  ├─7-2 登录注册
│  │  │  ├─一
│  │  │  │      11 登录注册-模块介绍.mp4
│  │  │  │      12 登录注册-准备-创建组件并配置路由.mp4
│  │  │  │      13 登录注册-准备-布局结构.mp4
│  │  │  │      14 登录注册-准备-布局样式.mp4
│  │  │  │      15 登录注册-实现基本登录功能.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01 登录注册-登录状态提示.mp4
│  │  │          02 登录注册-表单验证.mp4
│  │  │          03 登录注册-发送验证码-验证手机号.mp4
│  │  │          04 登录注册-发送验证码-使用倒计时组件.mp4
│  │  │          05 登录注册-验证码处理-发送验证码.mp4
│  │  │          06 登录注册-处理用户Token.mp4
│  │  │          07 登录注册-封装本地存储操作模块.mp4
│  │  │          08 登录注册-关于Token过期问题.mp4
│  │  │          
│  │  ├─7-3 个人中心
│  │  │      01 登录注册-登录状态提示.mp4
│  │  │      02 登录注册-表单验证.mp4
│  │  │      03 登录注册-发送验证码-验证手机号.mp4
│  │  │      04 登录注册-发送验证码-使用倒计时组件.mp4
│  │  │      05 登录注册-验证码处理-发送验证码.mp4
│  │  │      06 登录注册-处理用户Token.mp4
│  │  │      07 登录注册-封装本地存储操作模块.mp4
│  │  │      08 登录注册-关于Token过期问题.mp4
│  │  │      09 个人中心-模块介绍.mp4
│  │  │      10 个人中心-TabBar处理.mp4
│  │  │      11 个人中心-页面布局-顶部未登录.mp4
│  │  │      12 个人中心-页面布局-顶部已登录状态.mp4
│  │  │      13 个人中心-页面布局-宫格导航.mp4
│  │  │      14 个人中心-处理页面显示状态.mp4
│  │  │      15 个人中心-用户退出.mp4
│  │  │      16 个人中心-展示当前登录用户信息.mp4
│  │  │      17 个人中心-优化设置Token.mp4
│  │  │      
│  │  ├─7-4 首页-展示文章列表
│  │  │  ├─一
│  │  │  │      01 首页-页面布局-头部导航栏.mp4
│  │  │  │      02 首页-处理文章频道列表-使用Tab标签页组件.mp4
│  │  │  │      03 首页-处理文章频道列表-样式调整(基础样式).mp4
│  │  │  │      04-首页-处理文章频道列表-样式调整(处理汉堡按钮).mp4
│  │  │  │      05 首页-处理文章频道列表-获取展示数据.mp4
│  │  │  │      06 首页-文章列表-创建列表组件.mp4
│  │  │  │      07 首页 展示文章列表-使用List列表组件.mp4
│  │  │  │      08 首页-展示文章列表-请求获取数据.mp4
│  │  │  │      09 首页-展示文章列表-处理响应结果.mp4
│  │  │  │      10 首页-展示文章列表-请求失败的处理.mp4
│  │  │  │      11 首页-展示文章列表-下拉刷新.mp4
│  │  │  │      12 首页-展示文章列表-头部固定定位.mp4
│  │  │  │      13 首页-展示文章列表-记住列表的滚动位置.mp4
│  │  │  │      14 首页-文章列表项-准备组件.mp4
│  │  │  │      15 首页-文章列表项-展示列表项内容.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01 首页-文章列表项-样式调整.mp4
│  │  │          02 首页-文章列表项-关于第三方图片资源403问题.mp4
│  │  │          03 首页-文章列表项-处理相对时间(初始化DayJS配置).mp4
│  │  │          04 首页-文章列表项-处理相对时间(处理完成).mp4
│  │  │          
│  │  ├─7-5 频道编辑
│  │  │  ├─一
│  │  │  │      05 频道编辑-模块介绍.mp4
│  │  │  │      06 频道编辑-使用弹出层组件.mp4
│  │  │  │      07 频道编辑-创建频道编辑组件.mp4
│  │  │  │      08 频道编辑-页面布局.mp4
│  │  │  │      09 频道编辑-样式调整.mp4
│  │  │  │      10 频道编辑-展示我的频道.mp4
│  │  │  │      11 频道编辑-处理激活频道高亮.mp4
│  │  │  │      12 频道编辑-展示推荐频道-获取所有频道.mp4
│  │  │  │      13 频道编辑-展示推荐频道-处理完成.mp4
│  │  │  │      14 频道编辑-添加频道.mp4
│  │  │  │      15 频道编辑-处理编辑状态.mp4
│  │  │  │      16 频道编辑-切换频道.mp4
│  │  │  │      17 频道编辑-删除频道.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01 频道编辑-数据持久化-业务分析.mp4
│  │  │          02 频道编辑-数据持久化-添加频道.mp4
│  │  │          03 频道编辑-数据持久化-删除频道.mp4
│  │  │          04 频道编辑-正确的获取展示首页频道列表.mp4
│  │  │          
│  │  ├─7-6 文章搜索
│  │  │  ├─一
│  │  │  │      05 文章搜索-模块介绍.mp4
│  │  │  │      06 文章搜索-创建组件并配置路由.mp4
│  │  │  │      07 文章搜索-页面布局-搜索栏.mp4
│  │  │  │      08 文章搜索-页面布局-完成.mp4
│  │  │  │      09 文章搜索-处理页面展示逻辑.mp4
│  │  │  │      10 文章搜索-联想建议-获取并监视输入框内容的变化.mp4
│  │  │  │      11 文章搜索-联想建议-请求获取展示数据.mp4
│  │  │  │      12 文章搜索-联想建议-优化防抖.mp4
│  │  │  │      13 文章搜索-联想建议-搜索关键字高亮-思路分析.mp4
│  │  │  │      14 文章搜索-联想建议-搜索关键字高亮.mp4
│  │  │  │      15 文章搜索-搜索结果-传递搜索内容.mp4
│  │  │  │      16 文章搜索-搜索结果-处理完成.mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01 文章搜索-历史记录-添加历史记录-_.vep
│  │  │          02 文章搜索-历史记录-展示历史记录-_.vep
│  │  │          03 文章搜索-历史记录-处理删除显示状态-_.vep
│  │  │          04 文章搜索-历史记录-处理删除操作-_.vep
│  │  │          05 文章搜索-历史记录-数据持久化-_.vep
│  │  │          
│  │  ├─7-7 文章详情
│  │  │  ├─一
│  │  │  │      06 文章详情-模块介绍.mp4
│  │  │  │      07 文章详情-创建组件并配置路由.mp4
│  │  │  │      08 文章详情-使用组件Props解耦路由参数.mp4
│  │  │  │      09 文章详情-页面布局.mp4
│  │  │  │      10 文章详情-请求获取文章数据(404).mp4
│  │  │  │      11 文章详情-关于后端返回数据中的大数字问题(为什么404).mp4
│  │  │  │      12 文章详情-关于后端返回数据中的大数字问题(json-bigint的使用).mp4
│  │  │  │      13 文章详情-关于后端返回数据中的大数字问题(处理完成).mp4
│  │  │  │      14 文章详情-展示文章详情.mp4
│  │  │  │      15 文章详情-处理内容加载状态.mp4
│  │  │  │      16 文章详情-关于文章正文的样式.mp4
│  │  │  │      17 文章详情-图片点击预览(使用ImagePreview 组件).mp4
│  │  │  │      18 文章详情-图片点击预览(处理完成).mp4
│  │  │  │      
│  │  │  └─二
│  │  │          01 文章详情-关注用户(视图处理).mp4
│  │  │          02 文章详情-关注用户(实现基本功能).mp4
│  │  │          03 文章详情-关注用户(loading处理).mp4
│  │  │          04 文章详情-关注用户(组件封装).mp4
│  │  │          05 文章详情-关注用户(在组件上使用v-model).mp4
│  │  │          06 文章详情-文章收藏(准备组件).mp4
│  │  │          07 文章详情-文章收藏(视图处理).mp4
│  │  │          08 文章详情-文章收藏(处理完成).mp4
│  │  │          09 文章详情-文章点赞(准备组件).mp4
│  │  │          10 文章详情-文章点赞(处理完成).mp4
│  │  │          
│  │  ├─7-8 文章评论
│  │  │  └─一
│  │  │          11 文章评论-模块介绍.mp4
│  │  │          12 文章评论-展示文章评论列表-准备组件.mp4
│  │  │          13 文章评论-展示文章评论列表-获取数据并展示.mp4
│  │  │          14 文章评论-展示文章评论总数量.mp4
│  │  │          15 文章评论-评论列表项组件.mp4
│  │  │          16 文章评论-评论点赞-视图处理.mp4
│  │  │          17 文章评论-评论点赞-处理完成.mp4
│  │  │          18 文章评论-发布文章评论-准备弹出层.mp4
│  │  │          19 文章评论-发布文章评论-准备组件.mp4
│  │  │          20 文章评论-发布文章评论-请求发布.mp4
│  │  │          21 文章评论-发布文章评论-发布成功处理.mp4
│  │  │          22 文章评论-发布文章评论-空内容处理.mp4
│  │  │          
│  │  └─7-9 编辑用户资料
│  │      ├─一
│  │      │      13 编辑用户资料-模块介绍.mp4
│  │      │      14 编辑用户资料-创建页面组件并配置路由.mp4
│  │      │      15 编辑用户资料-页面布局.mp4
│  │      │      16 编辑用户资料-展示用户信息.mp4
│  │      │      17 编辑用户资料-修改昵称-处理弹出层.mp4
│  │      │      18 编辑用户资料-修改昵称-内容组件.mp4
│  │      │      19 编辑用户资料-修改昵称-内容布局.mp4
│  │      │      20 编辑用户资料-修改昵称-数据处理.mp4
│  │      │      21 编辑用户资料-修改昵称-处理完成.mp4
│  │      │      22 编辑用户资料-修改性别.mp4
│  │      │      23 编辑用户资料-修改生日-准备.mp4
│  │      │      24 编辑用户资料-修改生日-处理完成.mp4
│  │      │      
│  │      └─二
│  │              01 编辑用户资料-修改头像-功能介绍.mp4
│  │              02 编辑用户资料-修改头像-图片上传预览(处理file-input).mp4
│  │              03 编辑用户资料-修改头像-图片上传预览(功能处理).mp4
│  │              04编辑用户资料-修改头像-图片上传预览(样式处理).mp4
│  │              05 编辑用户资料-修改头像-图片裁切(初始化).mp4
│  │              06 编辑用户资料-修改头像-图片裁切(配置说明).mp4
│  │              07 编辑用户资料-修改头像-图片裁切(获取结果的两种方式).mp4
│  │              08 编辑用户资料-修改头像-图片裁切(处理完成).mp4
│  │              
│  ├─08第八章 HR-saas中台管理项目【v6.5】
│  │  │  HR-saas中台管理项目资料.zip
│  │  │  
│  │  ├─7-1 Vuex
│  │  │      1.Vuex基础-介绍.mp4
│  │  │      10.1设计categtory和newlist的vuex模块.mp4
│  │  │      10.2分类模块下设置分类数组和当前激活分类.mp4
│  │  │      10.3遍历分类数据并判断激活class.mp4
│  │  │      10.4封装调用获取分类action&激活第一个分类.mp4
│  │  │      10.5定义新闻数据,并封装获取新闻的Action.mp4
│  │  │      10.6监听激活分类,触发获取新闻Action.mp4
│  │  │      10.7处理显示新闻内容的数据.mp4
│  │  │      2.vuex基础-初始化功能.mp4
│  │  │      3.vuex基础-state.mp4
│  │  │      4.vuex基础-mutations.mp4
│  │  │      5.vuex基础-actions.mp4
│  │  │      6.vuex基础-getters.mp4
│  │  │      7.1为什么会有模块化.mp4
│  │  │      7.2模块化的简单应用.mp4
│  │  │      7.3模块化中的命名空间.mp4
│  │  │      8.vuex案例-搭建黑马头条项目.mp4
│  │  │      9.vuex案例-封装分类组件和频道组件.mp4
│  │  │      
│  │  ├─7-10 图片上传、预览及打印
│  │  │      15.封装上传图片组件-上传组件需求分析(1).mp4
│  │  │      15.封装上传图片组件-上传组件需求分析.mp4
│  │  │      16.1新建文件上传组件.mp4
│  │  │      16.2点击图片进行预览.mp4
│  │  │      16.3根据上传数量控制上传按钮.mp4
│  │  │      16.4删除图片和添加图片.mp4
│  │  │      16.5上传之前检查.mp4
│  │  │      16.6上传动作调用上传腾讯云.mp4
│  │  │      16.7上传成功之后处理返回数据.mp4
│  │  │      16.8上传的进度条显示.mp4
│  │  │      17.1将员工的头像和证件照赋值给上传组件.mp4
│  │  │      17.2保存时处理头像和证件照的保存.mp4
│  │  │      18.员工列表显示图片.mp4
│  │  │      19.图片地址生成二维码.mp4
│  │  │      20.1新建打印页面及路由.mp4
│  │  │      20.2利用vue-print-nb进行打印.mp4
│  │  │      
│  │  ├─7-11 权限设计和管理
│  │  │      1.权限设计-RBAC的权限设计思想.mp4
│  │  │      2.1新建分配角色窗体.mp4
│  │  │      2.2获取角色列表和当前用户角色.mp4
│  │  │      2.3给员工分配角色.mp4
│  │  │      3.1新建权限点管理页面.mp4
│  │  │      3.2获取权限数据并转化树形.mp4
│  │  │      3.3新增编辑权限的弹层.mp4
│  │  │      3.4新增,编辑,删除权限点.mp4
│  │  │      4.1新建分配权限弹出层1.mp4
│  │  │      4.1新建分配权限弹出层2.mp4
│  │  │      4.2给角色分配权限.mp4
│  │  │      5.1权限受控的主体思路.mp4
│  │  │      5.2新建Vuex中管理权限的模块.mp4
│  │  │      5.3Vuex筛选权限路由.mp4
│  │  │      5.4权限拦截出调用筛选权限Action.mp4
│  │  │      5.5静态路由动态路由解除合并.mp4
│  │  │      6. 登出时,重置路由权限和 404问题.mp4
│  │  │      7.1功能权限的受控思路.mp4
│  │  │      7.2使用Mixin技术将检查方法注入.mp4
│  │  │      
│  │  ├─7-12 首页
│  │  │      1.全模块集成.mp4
│  │  │      1.首页的页面结构.mp4
│  │  │      2.首页用户资料显示.mp4
│  │  │      3.1新建工作日历组件结构.mp4
│  │  │      3.2实现工作日历逻辑.mp4
│  │  │      4.1了解雷达图.mp4
│  │  │      4.2封装雷达图插件.mp4
│  │  │      5.审批流程业务的基本介绍.mp4
│  │  │      6.提交一个离职审批-弹层.mp4
│  │  │      6.提交一个离职审批-调用接口.mp4
│  │  │      
│  │  ├─7-13 多语言tab页
│  │  │      1.全屏插件的引用.mp4
│  │  │      2.动态主题的设置.mp4
│  │  │      3.1初始化多语言包-2.mp4
│  │  │      3.1初始化多语言包.mp4
│  │  │      3.2引入自定义语言包.mp4
│  │  │      3.3在左侧菜单中应用多语言包.mp4
│  │  │      3.4封装多语言插件.mp4
│  │  │      4.tab页的视图引入.mp4
│  │  │      
│  │  ├─7-14 项目打包上线
│  │  │      1.打包之前的路由模式.mp4
│  │  │      2.1性能分析.mp4
│  │  │      2.2webpack排除打包.mp4
│  │  │      2.3CDN文件配置.mp4
│  │  │      2.4注入CDN文件到模板.mp4
│  │  │      3.1使用koa框架部署项目.mp4
│  │  │      3.2解决history页面访问问题.mp4
│  │  │      3.3解决生产环境跨域问题.mp4
│  │  │      
│  │  ├─7-2 项目前置知识
│  │  │      1.1实现表单基本结构.mp4
│  │  │      1.2表单校验的先决条件.mp4
│  │  │      1.3表单校验规则.mp4
│  │  │      1.4自定义校验规则.mp4
│  │  │      1.5手动校验的实现.mp4
│  │  │      2.1关于Promise你必须知道几件事.mp4
│  │  │      2.异步编程的终极方案.mp4
│  │  │      
│  │  ├─7-3 项目基础环境搭建
│  │  │      1.vue-element-admin的了解和介绍.mp4
│  │  │      2.搭建项目前的一些基本准备.mp4
│  │  │      3.项目模板启动和目录介绍.mp4
│  │  │      4.1项目运行机制和代码注释-main.js.mp4
│  │  │      4.2项目运行机制和代码注释-App.vue.mp4
│  │  │      4.3项目运行机制和代码注释-permission.js.mp4
│  │  │      4.4项目运行机制和代码注释.mp4
│  │  │      4.5.6项目运行机制和代码注释-scss-icons.mp4
│  │  │      5.1SCSS处理的了解和使用-搭建小型的测试环境.mp4
│  │  │      5.2SCSS处理的了解和使用-基本语法.mp4
│  │  │      6.建立远程Git仓库并完成初始提交.mp4
│  │  │      7.1Axios的拦截器介绍.mp4
│  │  │      7.2api模块的单独封装.mp4
│  │  │      8.公共资源图片和统一样式.mp4
│  │  │      
│  │  ├─7-4 登录模块
│  │  │      1.1权限拦截的流程图.mp4
│  │  │      1.2流程图转化代码.mp4
│  │  │      2.主页的左侧导航样式.mp4
│  │  │      3.设置头部内容的布局和样式.mp4
│  │  │      4. 获取用户资料接口和token注入.mp4
│  │  │      5.封装获取用户资料的action并共享用户状态.mp4
│  │  │      6.1权限拦截器调用action.mp4
│  │  │      6.2获取头像接口合并数据.mp4
│  │  │      7.1自定义指令.mp4
│  │  │      7.2在main.js完成自定义指令全局注册.mp4
│  │  │      8.实现登出功能.mp4
│  │  │      
│  │  ├─7-5 主页模块
│  │  │      1.设置固定的本地访问端口和网站名称.mp4
│  │  │      10.Token失效的被动处理.mp4
│  │  │      2.登录页面的基础布局.mp4
│  │  │      3.1表单校验的先决条件.mp4
│  │  │      3.2手机号和密码的校验.mp4
│  │  │      3.3关于修饰符.mp4
│  │  │      4.1为什么会出现跨域.mp4
│  │  │      4.2开发环境解决跨越代理.mp4
│  │  │      5.封装单独的登录接口.mp4
│  │  │      6.1在Vuex中对token进行管理.mp4
│  │  │      6.2封装登录的Action.mp4
│  │  │      7.1区分axios在不同环境中的请求基础地址.mp4
│  │  │      7.2处理axios的响应拦截器.mp4
│  │  │      8.登录页面调用登录action&处理异常.mp4
│  │  │      9.1主动介入token处理的业务逻辑.mp4
│  │  │      9.2流程图转化代码.mp4
│  │  │      
│  │  ├─7-6 路由和页面
│  │  │      1.路由页面整理.mp4
│  │  │      2.1新建模块的页面和路由文件.mp4
│  │  │      2.2设置每个模块的路由规则.mp4
│  │  │      3.静态路由和动态路由临时合并,形成左侧菜单.mp4
│  │  │      4.左侧菜单的显示逻辑,设置菜单图标.mp4
│  │  │      
│  │  ├─7-7 组织架构
│  │  │      1.1认识组织架构.mp4
│  │  │      1.2实现组织架构的头部内容.mp4
│  │  │      1.3树形组件认识.mp4
│  │  │      1.4实现树形的静态组织结构.mp4
│  │  │      10.1封装编辑接口,保存区分场景.mp4
│  │  │      10.2校验规则支持编辑场景下的校验.mp4
│  │  │      2.1封装单独的树操作栏组件.mp4
│  │  │      2.2在组织架构中应用操作栏组件.mp4
│  │  │      3.1封装API接口,获取组织架构数据.mp4
│  │  │      3.2将数组数据转化成树形结构.mp4
│  │  │      4.1封装删除接口,注册下拉菜单事件.mp4
│  │  │      4.2调用删除接口,通知父组件更新数据.mp4
│  │  │      5.1封装新增接口,新建组件中的弹层结构.mp4
│  │  │      5.2点击新增子部门显示弹层组件.mp4
│  │  │      6.1完成新增表单的基本校验条件.mp4
│  │  │      6.2配置新增表单的基本校验规则.mp4
│  │  │      6.3部门名称和部门编码的自定义校验.mp4
│  │  │      6.4处理首部内容的pid数据.mp4
│  │  │      7.新增部门功能-部门负责人数据.mp4
│  │  │      8.1校验通过,调用新增接口.mp4
│  │  │      8.2利用sync修饰符关闭新增弹层.mp4
│  │  │      8.3取消时重置数据和校验.mp4
│  │  │      9.1点击编辑弹出层,记录当前节点.mp4
│  │  │      9.2父组件调用子组件的获取详情方法.mp4
│  │  │      9.3根据计算属性显示控制标题.mp4
│  │  │      
│  │  ├─7-8 公司角色和角色管理
│  │  │      1.建立公司角色页面的基本结构.mp4
│  │  │      2.1读取角色列表数据.mp4
│  │  │      2.2读取公司信息数据.mp4
│  │  │      3.删除角色功能.mp4
│  │  │      4.1封装编辑接口,新建编辑弹层.mp4
│  │  │      4.2实现编辑功能,为新增功能留口.mp4
│  │  │      5.新增角色功能.mp4
│  │  │      
│  │  └─7-9 员工管理
│  │          1.1通用工具栏的组件结构.mp4
│  │          1.2组件统一注册.mp4
│  │          10.1安装excel所需依赖和按需加载.mp4
│  │          10.2excel导出参数的介绍.mp4
│  │          10.3excel导出基本的结构.mp4
│  │          10.4导出时间格式的处理.mp4
│  │          10.5复杂表头的导出.mp4
│  │          11.1详情页的基本布局和路由.mp4
│  │          11.2读取和保存用户信息的接口.mp4
│  │          11.3实现用户名和密码的修改.mp4
│  │          12.1封装个人详情组件.mp4
│  │          12.2封装岗位组件.mp4
│  │          13.1读取个人保存个人信息.mp4
│  │          13.2读取保存岗位信息.mp4
│  │          14.配置腾讯云Cos.mp4
│  │          2.员工列表页面的基本布局和结构.mp4
│  │          3.员工列表数据请求和分页加载.mp4
│  │          4.1利用列格式化属性处理聘用形式.mp4
│  │          4.2过滤器解决时间格式的处理.mp4
│  │          5.删除员工功能.mp4
│  │          6.1新建员工弹层组件.mp4
│  │          6.2引用弹出层,点击弹出.mp4
│  │          6.3新增员工的表单校验.mp4
│  │          6.4加载部门数据转化树形.mp4
│  │          6.5点击部门赋值表单数据.mp4
│  │          7.新增员工功能-确定-取消.mp4
│  │          8.员工导入组件封装.mp4
│  │          9.1建立公共导入的页面路由.mp4
│  │          9.2分析excel导入代码,封装接口.mp4
│  │          9.3实现excel导入.mp4
│  │          9.4excel导入的时间问题.mp4
│  │          
│  └─阶段作业  Vue.js项目实战开发-试卷
│          Vue.js项目实战开发-试卷.docx
│          博学谷新闻头条.zip
│          
├─06-阶段六 微信小程序【拓展课程】
│  ├─01第一章 微信小程序【v6.5】
│  │  ├─1-1 微信小程序快速入门
│  │  │      00.学习目标.mp4
│  │  │      01.小程序简介 - 小程序与普通网页开发的区别.mp4
│  │  │      02.小程序简介 - 体验微信小程序.mp4
│  │  │      03.第一个小程序 - 了解注册小程序开发账号的流程.mp4
│  │  │      04.第一个小程序 - 获取小程序的AppID.mp4
│  │  │      05.第一个小程序 - 安装微信开发者工具.mp4
│  │  │      06.第一个小程序 - 扫码登录到微信开发者工具.mp4
│  │  │      07.第一个小程序 - 设置外观和代理.mp4
│  │  │      08.第一个小程序 - 演示新建小程序项目的步骤.mp4
│  │  │      09.第一个小程序 - 查看项目运行效果的两种方式.mp4
│  │  │      10.第一个小程序 - 了解微信开发者工具主界面的5个组成部分.mp4
│  │  │      11.小程序代码的构成 - 了解项目的基本组成结构.mp4
│  │  │      12.小程序代码的构成 - 小程序页面的组成部分.mp4
│  │  │      13.小程序代码的构成 - 认识小程序中的4种配置文件.mp4
│  │  │      14.小程序代码的构成 - app.json文件.mp4
│  │  │      15.小程序代码的构成 - project.config.json文件.mp4
│  │  │      16.小程序代码的构成 - sitemap.json文件.mp4
│  │  │      17.小程序代码的构成 - 页面的.json配置文件.mp4
│  │  │      18.小程序代码的构成 - 新建小程序页面.mp4
│  │  │      19.小程序代码的构成 - 修改项目首页.mp4
│  │  │      20.小程序代码的构成 - WXML的概念以及和HTML之间的区别.mp4
│  │  │      21.小程序代码的构成 - WXSS的概念以及和CSS之间的区别.mp4
│  │  │      22.小程序代码的构成 - 了解小程序中JS文件的三大分类.mp4
│  │  │      
│  │  ├─1-10 本地生活综合案例
│  │  │      39.案例 - 商铺列表页面的效果演示.mp4
│  │  │      40.案例 - 把项目代码加载到微信开发者工具中.mp4
│  │  │      41.案例 - 实现导航跳转并传参.mp4
│  │  │      42.案例 - 动态设置商铺列表页面的标题内容.mp4
│  │  │      43.案例 - 创建商铺列表页面的编译模式.mp4
│  │  │      44.案例 - 了解API接口并定义需要的数据节点.mp4
│  │  │      45.案例 - 定义getShopList方法获取商品列表数据.mp4
│  │  │      46.案例 - 渲染商铺列表的UI结构并美化样式.mp4
│  │  │      47.案例 - 展示loading提示效果.mp4
│  │  │      48.案例 - 上拉触底时请求下一页数据.mp4
│  │  │      49.案例 - 对上拉触底事件进行节流控制.mp4
│  │  │      50.案例 - 演示并分析数据加载的问题.mp4
│  │  │      51.案例 - 介绍判断是否还有下一页数据的公式.mp4
│  │  │      52.案例 - 根据公式判断是否还有下一页的数据.mp4
│  │  │      53.案例 - 为商铺列表页面开启下拉刷新效果.mp4
│  │  │      54.案例 - 实现下拉刷新的功能.mp4
│  │  │      55.案例 - 解决下拉刷新窗口效果不会自动关闭的问题.mp4
│  │  │      56.案例 - 使用wxs处理手机号.mp4
│  │  │      57.总结.mp4
│  │  │      
│  │  ├─1-11 微信小程序组件和样式
│  │  │      00.学习目标-1603532592.mp4
│  │  │      01.准备今天要用到的项目.mp4
│  │  │      02.自定义组件 - 组件的创建与引用 - 创建自定义组件.mp4
│  │  │      03.自定义组件 - 组件的创建与引用 - 局部引用组件.mp4
│  │  │      04.自定义组件 - 组件的创建与引用 - 全局引用组件.mp4
│  │  │      05.自定义组件 - 组件的创建与引用 - 全局引用VS局部引用.mp4
│  │  │      06.自定义组件 - 组件的创建与引用 - 组件和页面的区别.mp4
│  │  │      07.自定义组件 - 样式 - 组件的样式隔离特性.mp4
│  │  │      08.自定义组件 - 样式 - 组件样式隔离的注意点.mp4
│  │  │      09.自定义组件 - 样式 - 修改组件的样式隔离选项.mp4
│  │  │      
│  │  ├─1-12 微信小程序数据、方法、属性和数据监听
│  │  │      10.自定义组件 - 数据、方法、属性 - 定义data私有数据.mp4
│  │  │      11.自定义组件 - 数据、方法、属性 - methods方法.mp4
│  │  │      12.自定义组件 - 数据、方法、属性 - 定义properties属性.mp4
│  │  │      13.自定义组件 - 数据、方法、属性 - 使用max属性控制自增的最大值.mp4
│  │  │      14.自定义组件 - 数据、方法、属性 - data和properties的区别.mp4
│  │  │      15.自定义组件 - 数据、方法、属性 - 使用setData修改properties的值.mp4
│  │  │      16.自定义组件 - 数据监听器 - 什么是数据监听器及其语法格式.mp4
│  │  │      17.自定义组件 - 数据监听器 - 数据监听器的基本用法.mp4
│  │  │      18.自定义组件 - 数据监听器 - 监听对象属性的变化.mp4
│  │  │      
│  │  ├─1-13 微信小程序数据监听案例
│  │  │      19.自定义组件 - 数据监听器案例 - 创建组件并定义数据.mp4
│  │  │      20.自定义组件 - 数据监听器案例 - 渲染组件的UI结构.mp4
│  │  │      21.自定义组件 - 数据监听器案例 - 定义button的事件处理函数.mp4
│  │  │      22.自定义组件 - 数据监听器案例 - 监听对象中指定属性的变化.mp4
│  │  │      23.自定义组件 - 数据监听器案例 - 监听对象中所有属性的变化.mp4
│  │  │      24.自定义组件 - 纯数据字段 - 什么是纯数据字段.mp4
│  │  │      25.自定义组件 - 纯数据字段 - 使用规则.mp4
│  │  │      26.自定义组件 - 纯数据字段 - 使用纯数据字段改造数据监听器案例.mp4
│  │  │      
│  │  ├─1-14 组件生命周期和插槽
│  │  │      27.自定义组件 - 组件的生命周期 - 组件全部的生命周期函数.mp4
│  │  │      28.自定义组件 - 组件的生命周期 - 组件主要的生命周期函数.mp4
│  │  │      29.自定义组件 - 组件的生命周期 - lifetimes节点.mp4
│  │  │      30.自定义组件 - 组件所在页面的生命周期 - 概念.mp4
│  │  │      31.自定义组件 - 组件所在页面的生命周期 - pageLifetimes节点.mp4
│  │  │      32.自定义组件 - 组件所在页面的生命周期 - 生成随机的RGB颜色值.mp4
│  │  │      33.自定义组件 - 插槽 - 什么是插槽.mp4
│  │  │      34.自定义组件 - 插槽 - 单个插槽.mp4
│  │  │      35.自定义组件 - 插槽 - 启用多个插槽.mp4
│  │  │      36.自定义组件 - 插槽 - 定义和使用多个插槽.mp4
│  │  │      
│  │  ├─1-15 父子组件通信和behaviors
│  │  │      37.自定义组件 - 父子组件通信 - 了解父子组件之间通信的3种方式.mp4
│  │  │      38.自定义组件 - 父子组件通信 - 属性绑定.mp4
│  │  │      39.自定义组件 - 父子组件通信 - 实现子组件的count属性自增+1.mp4
│  │  │      40.自定义组件 - 父子组件通信 - 了解事件绑定的4个核心实现步骤.mp4
│  │  │      41.自定义组件 - 父子组件通信 - 了解事件绑定的核心实现代码.mp4
│  │  │      42.自定义组件 - 父子组件通信 - 通过事件绑定实现count值的同步.mp4
│  │  │      43.自定义组件 - 父子组件通信 - 使用selectComponent获取组件实例.mp4
│  │  │      44.自定义组件 - behaviors - 了解什么是behaviors以及它的工作方式.mp4
│  │  │      45.自定义组件 - behaviors - 创建behavior.mp4
│  │  │      46.自定义组件 - behaviors - 导入并使用behavior.mp4
│  │  │      47.自定义组件 - behaviors - 了解behavior中所有可用的节点.mp4
│  │  │      48.自定义组件 - behaviors - 同名字段的覆盖和组合规则.mp4
│  │  │      49.自定义组件 - 总结.mp4
│  │  │      
│  │  ├─1-16 vant 小程序 UI 组件库和API的Promise化
│  │  │      01.导入需要用到的小程序项目.mp4
│  │  │      02.使用npm包 - 小程序中对npm的支持与限制.mp4
│  │  │      03.使用npm包 - vant - 了解什么是Vant Weapp.mp4
│  │  │      04.使用npm包 - vant - 安装Vant组件库.mp4
│  │  │      05.使用npm包 - vant - 使用Vant组件.mp4
│  │  │      06.使用npm包 - vant - 定义和使用CSS变量.mp4
│  │  │      07.使用npm包 - vant - 使用CSS变量定制Vant的主题样式.mp4
│  │  │      08.使用npm包 - API的Promise化 - 什么是小程序API的Promise化.mp4
│  │  │      09.使用npm包 - API的Promise化 - 安装并构建miniprogram-api-promise.mp4
│  │  │      10.使用npm包 - API的Promise化 - 三个步骤实现API的Promise化.mp4
│  │  │      11.使用npm包 - API的Promise化 - 调用Promise化之后的异步API.mp4
│  │  │      
│  │  ├─1-17 微信小程序全局数据共享
│  │  │      12.全局数据共享 - 什么是全局数据共享.mp4
│  │  │      13.全局数据共享 - 小程序中的全局数据共享方案.mp4
│  │  │      14.全局数据共享 - 安装并构建MobX相关的包.mp4
│  │  │      15.全局数据共享 - 创建Store实例对象.mp4
│  │  │      16.全局数据共享 - 定义计算属性.mp4
│  │  │      17.全局数据共享 - 定义actions方法.mp4
│  │  │      18.全局数据共享 -  了解将Store中的成员绑定到页面上的实现思路.mp4
│  │  │      19.全局数据共享 - 将Store中的成员绑定到页面上.mp4
│  │  │      20.全局数据共享 - 在页面中使用Store中的成员.mp4
│  │  │      21.全局数据共享 - 了解将Store中的成员绑定到组件上的实现思路.mp4
│  │  │      22.全局数据共享 - 将Store中的成员绑定到组件上.mp4
│  │  │      23.全局数据共享 - 在组件中使用Store中的成员.mp4
│  │  │      
│  │  ├─1-18 分包
│  │  │      24.分包 - 基础概念 - 了解分包的概念以及好处.mp4
│  │  │      25.分包 - 基础概念 - 分包前后项目的构成.mp4
│  │  │      26.分包 - 基础概念 - 分包的加载规则.mp4
│  │  │      27.分包 - 基础概念 - 分包的体积限制.mp4
│  │  │      28.分包 - 使用分包 - 了解如何配置分包.mp4
│  │  │      29.分包 - 使用分包 - 演示在项目中如何配置分包.mp4
│  │  │      30.分包 - 使用分包 - 设置分包的别名并查看分包的体积.mp4
│  │  │      31.分包 - 使用分包 - 打包原则.mp4
│  │  │      32.分包 - 使用分包 - 引用原则.mp4
│  │  │      33.分包 - 独立分包 - 了解什么是独立分包以及它和普通分包的区别.mp4
│  │  │      34.分包 - 独立分包 - 了解独立分包的应用场景.mp4
│  │  │      35.分包 - 独立分包 - 将普通分包改造为独立分包.mp4
│  │  │      36.分包 - 独立分包 - 独立分包的引用原则.mp4
│  │  │      37.分包 - 分包预下载 - 介绍分包预下载的概念以及好处.mp4
│  │  │      38.分包 - 分包预下载 - 配置分包的预下载.mp4
│  │  │      39.分包 - 分包预下载 - 分包预下载的限制.mp4
│  │  │      
│  │  ├─1-19 自定义tabBar
│  │  │      40.自定义tabBar - 演示案例效果.mp4
│  │  │      41.自定义tabBar - 了解自定义tabBar的实现步骤.mp4
│  │  │      42.自定义tabBar - 在app.json中声明自定义tabBar的配置信息.mp4
│  │  │      43.自定义tabBar - 添加tabBar的代码文件.mp4
│  │  │      44.自定义tabBar - 基于Vant组件渲染出基本的自定义tabBar效果.mp4
│  │  │      45.自定义tabBar - 自定义tabBar的图标和文本(1).mp4
│  │  │      45.自定义tabBar - 自定义tabBar的图标和文本.mp4
│  │  │      46.自定义tabBar - 循环渲染tabBar的Item项.mp4
│  │  │      47.自定义tabBar - 渲染并美化数字徽标的样式.mp4
│  │  │      48.自定义tabBar - 按需渲染数字徽标.mp4
│  │  │      49.自定义tabBar - 把Store中sum的值渲染为数字徽标.mp4
│  │  │      50.自定义tabBar - 实现tabBar页面的切换.mp4
│  │  │      51.自定义tabBar - 使用全局数据共享解决tabBar选中项不准确的问题.mp4
│  │  │      52.自定义tabBar - 修改tabBar选中项文本的颜色值.mp4
│  │  │      53.总结.mp4
│  │  │      
│  │  ├─1-2 微信小程序的宿主环境
│  │  │      23.宿主环境 - 了解宿主环境的概念.mp4
│  │  │      24.宿主环境 - 小程序的宿主环境.mp4
│  │  │      25.宿主环境 - 通信的主体.mp4
│  │  │      26.宿主环境 - 小程序的通信模型.mp4
│  │  │      27.宿主环境 - 运行机制.mp4
│  │  │      28.宿主环境 - 组件 - 了解常用的视图容器组件.mp4
│  │  │      29.宿主环境 - 组件 - view组件的基本使用.mp4
│  │  │      30.宿主环境 - 组件 - scroll-view组件的基本使用.mp4
│  │  │      31.宿主环境 - 组件 - swiper和swiper-item的基本使用.mp4
│  │  │      32.宿主环境 - 组件 - swiper组件的常用属性.mp4
│  │  │      33.宿主环境 - 组件 - text和rich-text组件.mp4
│  │  │      34.宿主环境 - 组件 - button按钮组件.mp4
│  │  │      35.宿主环境 - 组件 - image图片组件.mp4
│  │  │      36.宿主环境 - 小程序API的3大分类.mp4
│  │  │      
│  │  ├─1-3 微信小程序协同工作和发布
│  │  │      37.协同工作 - 了解权限管理需求、组织结构、开发流程.mp4
│  │  │      38.协同工作 - 了解小程序成员管理的两个方面.mp4
│  │  │      39.协同工作 - 开发者的权限说明.mp4
│  │  │      40.协同工作 - 了解如何添加项目成员和体验成员.mp4
│  │  │      41.发布 - 了解小程序的版本阶段.mp4
│  │  │      42.发布 - 了解小程序发布上线的主要步骤.mp4
│  │  │      43.发布 - 基于小程序码进行推广.mp4
│  │  │      44.发布 - 查看小程序的运营数据.mp4
│  │  │      45.总结.mp4
│  │  │      
│  │  ├─1-4 微信小程序基础
│  │  │      00.学习目标-1603531843.mp4
│  │  │      01.数据绑定 - 了解数据绑定的原则.mp4
│  │  │      02.数据绑定 - 动态绑定属性.mp4
│  │  │      03.数据绑定 - 三元运算.mp4
│  │  │      04.数据绑定 - 算数运算.mp4
│  │  │      05.事件绑定 - 了解什么是事件以及小程序中常用的事件.mp4
│  │  │      06.事件绑定 - 事件对象的属性列表.mp4
│  │  │      07.事件绑定 - target和currentTarget的区别.mp4
│  │  │      08.事件绑定 - bindtap的语法格式.mp4
│  │  │      09.事件绑定 - 在事件处理函数中为data中的数据赋值.mp4
│  │  │      10.事件绑定 - 事件传参.mp4
│  │  │      11.事件绑定 - bindinput的语法格式.mp4
│  │  │      12.事件绑定 - 实现文本框和data之间的数据同步.mp4
│  │  │      13.条件渲染 - if…elif…else.mp4
│  │  │      14.条件渲染 - 基于block标签使用if条件渲染.mp4
│  │  │      15.条件渲染 - hidden.mp4
│  │  │      16.条件渲染 - if和hidden的区别.mp4
│  │  │      17.列表渲染 - for循环的基本用法.mp4
│  │  │      18.列表渲染 - 手动指定索引和当前项的变量名.mp4
│  │  │      19.列表渲染 - 指定key值提高渲染效率.mp4
│  │  │      
│  │  ├─1-5 微信小程序进阶
│  │  │      20.wxss - 了解什么是wxss以及它和css之间的关系.mp4
│  │  │      21.wxss - 了解什么是rpx以及它的实现原理.mp4
│  │  │      22.wxss - rpx与px之间的单位换算.mp4
│  │  │      23.wxss - @import样式导入.mp4
│  │  │      24.wxss - 全局样式.mp4
│  │  │      25.wxss - 局部样式.mp4
│  │  │      26.全局配置 - 常用的全局配置项以及小程序窗口的组成部分.mp4
│  │  │      27.全局配置 - window - 设置导航栏的标题.mp4
│  │  │      28.全局配置 - window - 设置导航栏的背景色.mp4
│  │  │      29.全局配置 - window - 设置导航栏的标题颜色.mp4
│  │  │      30.全局配置 - window - 全局开启下拉刷新的功能.mp4
│  │  │      31.全局配置 - window - 关于模拟器的问题说明.mp4
│  │  │      32.全局配置 - window - 设置下拉刷新时的窗口背景色.mp4
│  │  │      33.全局配置 - window - 设置下拉刷新时loading的样式.mp4
│  │  │      34.全局配置 - window - 设置上拉触底的距离.mp4
│  │  │      35.全局配置 - tabBar - 什么是tabBar.mp4
│  │  │      36.全局配置 - tabBar - tabBar的6个组成部分.mp4
│  │  │      37.全局配置 - tabBar - 了解tabBar中的配置项.mp4
│  │  │      38.全局配置 - tabBar - 实现tabBar案例的效果.mp4
│  │  │      39.页面配置 - 了解页面配置和全局配置的关系.mp4
│  │  │      40.页面配置 - 页面配置中常用的配置项.mp4
│  │  │      
│  │  ├─1-6 微信小程序数据请求和案例
│  │  │      41.数据请求 - 小程序中网络数据请求的限制.mp4
│  │  │      42.数据请求 - 配置request合法域名.mp4
│  │  │      43.数据请求 - 发起GET请求.mp4
│  │  │      44.数据请求 - 发起POST请求.mp4
│  │  │      45.数据请求 - 了解如何在页面刚加载的时候请求数据.mp4
│  │  │      46.数据请求 - 跳过request合法域名校验.mp4
│  │  │      47.数据请求 - 关于跨域和Ajax的说明.mp4
│  │  │      48.案例 - 创建项目并梳理项目结构.mp4
│  │  │      49.案例 - 配置导航栏效果.mp4
│  │  │      50.案例 - 配置tabBar效果.mp4
│  │  │      51.案例 - 获取轮播图的数据.mp4
│  │  │      52.案例 - 渲染轮播图效果.mp4
│  │  │      53.案例 - 获取九宫格的数据.mp4
│  │  │      54.案例 - 渲染九宫格的布局效果.mp4
│  │  │      55.案例 - 实现首页底部图片的布局效果.mp4
│  │  │      56.总结.mp4
│  │  │      
│  │  ├─1-7 微信小程序页面导航
│  │  │      00.学习目标-1603532237.mp4
│  │  │      01.页面导航 - 了解小程序中实现页面导航的两种方式.mp4
│  │  │      02.页面导航 - 声明式导航 - 导航到tabBar页面.mp4
│  │  │      03.页面导航  -声明式导航 - 导航到非tabBar页面.mp4
│  │  │      04.页面导航 - 声明式导航 - 实现后退导航效果.mp4
│  │  │      05.页面导航 - 编程式导航 - 导航到tabBar页面.mp4
│  │  │      06.页面导航 - 编程式导航 - 导航到非tabBar页面.mp4
│  │  │      07.页面导航 - 编程式导航 - 实现后退导航效果.mp4
│  │  │      08.页面导航 - 导航传参 - 声明式导航传参.mp4
│  │  │      09.页面导航 - 导航传参 - 编程式导航传参.mp4
│  │  │      10导航传参.mp4
│  │  │      
│  │  ├─1-8 微信小程序页面事件和上拉触底案例
│  │  │      11.页面事件 - 下拉刷新 - 了解什么是下拉刷新.mp4
│  │  │      12.页面事件 - 下拉刷新 - 启用下拉刷新.mp4
│  │  │      13.页面事件 - 下拉刷新 - 配置下拉刷新窗口的样式.mp4
│  │  │      14.页面事件 - 下拉刷新 - 监听页面的下拉刷新事件.mp4
│  │  │      15.页面事件 - 下拉刷新 - 停止下拉刷新的效果.mp4
│  │  │      16.页面事件 - 上拉触底 - 了解什么是上拉触底.mp4
│  │  │      17.页面事件 - 上拉触底 - 监听页面的上拉触底事件.mp4
│  │  │      18.页面事件 - 上拉触底 - 配置上拉触底距离.mp4
│  │  │      19.上拉触底案例 - 案例效果展示.mp4
│  │  │      20.上拉触底案例 - 定义获取随机颜色的方法.mp4
│  │  │      21.上拉触底案例 - 渲染UI结构并美化页面效果.mp4
│  │  │      22.上拉触底案例 - 上拉触底时获取随机颜色.mp4
│  │  │      23.上拉触底案例 - 添加loading提示效果.mp4
│  │  │      24.上拉触底案例 - 介绍为什么需要对上拉触底进行节流处理.mp4
│  │  │      25.上拉触底案例 - 对上拉触底进行节流处理.mp4
│  │  │      26.扩展 - 自定义编译模式.mp4
│  │  │      
│  │  └─1-9 微信小程序生命周期和wxs
│  │          27.生命周期 - 什么是生命周期.mp4
│  │          28.生命周期 - 小程序中生命周期的两个分类.mp4
│  │          29.生命周期 - 什么是生命周期函数.mp4
│  │          30.生命周期 - 小程序中生命周期函数的两个分类.mp4
│  │          31.生命周期 - 应用的生命周期函数.mp4
│  │          32.生命周期 - 页面的生命周期函数.mp4
│  │          33.wxs - 了解什么是wxs以及应用场景.mp4
│  │          34.wxs - 了解wxs和JavaScript的关系.mp4
│  │          35.wxs - 内嵌wxs脚本.mp4
│  │          36.wxs - 定义外联的wxs脚本.mp4
│  │          37.wxs - 使用外联的wxs脚本.mp4
│  │          38.wxs - 了解wxs的4个特点.mp4
│  │          
│  ├─02第二章 黑马优购商城项目2.0【V6.5】
│  │  ├─2-1 uni-app和项目搭建
│  │  │      01.起步 - 项目介绍.mp4
│  │  │      02.起步 - 项目文档.mp4
│  │  │      03.起步 - 了解什么是uni-app.mp4
│  │  │      04.起步 - 下载和安装HBuilderX.mp4
│  │  │      05.起步 - 安装scss编译的插件.mp4
│  │  │      06.起步 - 对HBuilderX进行个性化的配置.mp4
│  │  │      07.起步 - 创建uni-app项目.mp4
│  │  │      08.起步 - 了解uni-app项目的目录结构.mp4
│  │  │      09.起步 - 把项目运行到微信开发者工具.mp4
│  │  │      10.起步 - 配置checkSiteMap选项.mp4
│  │  │      11.起步 - 使用Git本地管理uni-app项目.mp4
│  │  │      12.起步 - 把本地项目托管到码云.mp4
│  │  │      13.tabbar - 创建tabBar对应的4个页面.mp4
│  │  │      14.tabbar - 配置tabBar效果.mp4
│  │  │      15.tabbar - 配置导航条的样式效果.mp4
│  │  │      16.tabbar - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-10 购物车页面-收货地址功能实现
│  │  │      20.购物车页面 - 收货地址区域 - 创建my-address收货地址组件.mp4
│  │  │      21.购物车页面 - 收货地址区域 - 渲染收货地址组件的UI结构 - 上.mp4
│  │  │      22.购物车页面 - 收货地址区域 - 渲染收货地址组件的UI结构 - 下.mp4
│  │  │      23.购物车页面 - 收货地址区域 - 实现收货地址区域的按需展示.mp4
│  │  │      24.购物车页面 - 收货地址区域 - 实现选择收货地址的功能.mp4
│  │  │      25.购物车页面 - 收货地址区域 - 渲染收货人的信息.mp4
│  │  │      26.购物车页面 - 收货地址区域 - 在vuex中定义用户相关的m_user模块.mp4
│  │  │      27.购物车页面 - 收货地址区域 - 将address信息存储到vuex中.mp4
│  │  │      28.购物车页面 - 收货地址区域 - 将vuex中的address持久化存储到本地.mp4
│  │  │      29.购物车页面 - 收货地址区域 - 将addstr抽离为getters.mp4
│  │  │      30.购物车页面 - 收货地址区域 - 重新选择收货地址.mp4
│  │  │      31.购物车页面 - 收货地址区域 - 演示取消授权时的问题.mp4
│  │  │      32.购物车页面 - 收货地址区域 - 判断用户是否授权.mp4
│  │  │      33.购物车页面 - 收货地址区域 - 提示用户重新进行授权.mp4
│  │  │      34.购物车页面 - 收货地址区域 - 调用openSetting方法实现重新授权.mp4
│  │  │      35.购物车页面 - 收货地址区域 - 解决iPhone真机上无法重新授权的问题.mp4
│  │  │      
│  │  ├─2-11 购物车页面-结算功能实现
│  │  │      01.购物车页面 - 结算区域 - 把结算区域封装为独立的组件.mp4
│  │  │      02.购物车页面 - 结算区域 - 渲染结算区域的结构和样式.mp4
│  │  │      03.购物车页面 - 结算区域 - 动态渲染已勾选商品的总数量.mp4
│  │  │      04.购物车页面 - 结算区域 - 动态渲染全选按钮的选中状态.mp4
│  │  │      05.购物车页面 - 结算区域 - 使用数组的reduce方法改造total的计算方式.mp4
│  │  │      06.购物车页面 - 结算区域 - 实现商品的全选与反选功能.mp4
│  │  │      07.购物车页面 - 结算区域 - 动态渲染已勾选商品的总价格.mp4
│  │  │      08.购物车页面 - 结算区域 - 动态计算tabBar中购物车徽标的值.mp4
│  │  │      09.购物车页面 - 结算区域 - 渲染购物车为空时候的页面结构.mp4
│  │  │      10.购物车页面 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-12 登录功能实现
│  │  │      11.登录与支付 - 创建settle分支.mp4
│  │  │      12.登录与支付 - 点击结算按钮进行条件判断.mp4
│  │  │      13.登录与支付 - 登录 - 定义my页面的编译模式.mp4
│  │  │      14.登录与支付 - 登录 - 实现登录组件和用户信息组件的按需展示.mp4
│  │  │      15.登录与支付 - 登录 - 初步渲染登录组件的基本结构.mp4
│  │  │      16.登录与支付 - 登录 - 美化登录组件的样式.mp4
│  │  │      17.登录与支付 - 登录 - 绘制登录盒子底部的半椭圆造型.mp4
│  │  │      18.登录与支付 - 登录 - 分析登录功能的实现思路.mp4
│  │  │      19.登录与支付 - 登录 - 点击登录按钮获取微信用户的基本信息.mp4
│  │  │      20.登录与支付 - 登录 - 处理用户取消登录授权的情况.mp4
│  │  │      21.登录与支付 - 登录 - 将用户的基本信息存储到vuex.mp4
│  │  │      22.登录与支付 - 登录 - 调用uni.login获取code对应的值.mp4
│  │  │      23.登录与支付 - 登录 - 进一步完善uni.login调用失败之后的if判断条件.mp4
│  │  │      24.登录与支付 - 登录 - 登录获取Token字符串.mp4
│  │  │      25.登录与支付 - 登录 - 将Token存储到vuex中.mp4
│  │  │      
│  │  ├─2-13 用户信息和自动跳转功能实现
│  │  │      26.登录与支付 - 用户信息 - 实现用户头像、昵称区域的基本布局.mp4
│  │  │      27.登录与支付 - 用户信息 - 渲染用户的头像和昵称.mp4
│  │  │      28.登录与支付 - 用户信息 - 渲染第1个面板的UI结构.mp4
│  │  │      29.登录与支付 - 用户信息 - 美化第1个面板的样式.mp4
│  │  │      30.登录与支付 - 用户信息 - 渲染第2个面板区域.mp4
│  │  │      31.登录与支付 - 用户信息 - 渲染第3个面板区域.mp4
│  │  │      32.登录与支付 - 用户信息 - 实现退出登录的功能.mp4
│  │  │      33.登录与支付 - 三秒后自动跳转 - 实现倒计时提示的功能.mp4
│  │  │      34.登录与支付 - 三秒后自动跳转 - 控制秒数的边界并自动跳转到登录页面.mp4
│  │  │      35.登录与支付 - 三秒后自动跳转 - 解决seconds不会被重置的问题.mp4
│  │  │      36.登录与支付 - 三秒后自动跳转 - 将返回页的信息对象记录到vuex中.mp4
│  │  │      37.登录与支付 - 三秒后自动跳转 - 根据redirectInfo导航到登录之前的页面.mp4
│  │  │      
│  │  ├─2-14 微信支付功能和小程序项目发布
│  │  │      38.登录与支付 - 微信支付 - 在请求头中添加Token身份认证的字段.mp4
│  │  │      39.登录与支付 - 微信支付 - 了解微信支付的流程.mp4
│  │  │      40.登录与支付 - 微信支付 - 创建订单.mp4
│  │  │      41.登录与支付 - 微信支付 - 订单预支付.mp4
│  │  │      42.登录与支付 - 微信支付 - 实现微信支付.mp4
│  │  │      43.登录与支付 - 分支的合并与提交.mp4
│  │  │      44.发布 - 为什么要进行发布.mp4
│  │  │      45.发布 - 了解将uni-app项目发布为小程序的基本流程.mp4
│  │  │      46.发布 - 演示将uni-app项目发布为小程序的流程.mp4
│  │  │      47.发布 - 了解将uni-app项目发布为Android App的基本流程.mp4
│  │  │      48.发布 - 演示将uni-app项目发布为Android App的流程.mp4
│  │  │      
│  │  ├─2-2 首页功能实现
│  │  │      17.首页 - 轮播图 - 创建home子分支.mp4
│  │  │      18.首页 - 轮播图 - 安装并配置网络请求的第三方包.mp4
│  │  │      19.首页 - 轮播图 - 请求轮播图的数据.mp4
│  │  │      20.首页 - 轮播图 - 渲染轮播图的UI结构.mp4
│  │  │      21.首页 - 轮播图 - 配置小程序的分包.mp4
│  │  │      22.首页 - 轮播图 - 点击轮播图跳转到商品详情页面.mp4
│  │  │      23.首页 - 轮播图 - 封装uni.$showMsg()方法.mp4
│  │  │      24.首页 - 分类导航 - 获取分类导航的数据.mp4
│  │  │      25.首页 - 分类导航 - 渲染分类导航的UI结构.mp4
│  │  │      26.首页 - 分类导航 - 切换到分类页面.mp4
│  │  │      27.首页 - 楼层区域 - 获取楼层的数据.mp4
│  │  │      28.首页 - 楼层区域 - 渲染楼层的标题.mp4
│  │  │      29.首页 - 楼层区域 - 渲染楼层左侧的大图片.mp4
│  │  │      30.首页 - 楼层区域 - 渲染楼层右侧的小图片.mp4
│  │  │      31.首页 - 楼层区域 - 点击楼层图片跳转到商品列表页面.mp4
│  │  │      32.首页 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-3 分类页面功能实现
│  │  │      01.分类 - 创建cate分支以及分类页面的编译模式.mp4
│  │  │      02.分类 - 实现分类页面滑动区域的左右布局.mp4
│  │  │      03.分类 - 动态设置scroll-view组件的高度.mp4
│  │  │      04.分类 - 美化左侧scroll-view中item项的样式.mp4
│  │  │      05.分类 - 获取分类列表的数据.mp4
│  │  │      06.分类 - 动态渲染左侧的一级分类列表.mp4
│  │  │      07.分类 - 定义二级分类的数据列表.mp4
│  │  │      08.分类 - 动态渲染右侧的二级分类列表.mp4
│  │  │      09.分类 - 动态渲染右侧的三级分类列表.mp4
│  │  │      10.分类 - 切换一级分类后重置滚动条的位置.mp4
│  │  │      11.分类 - 点击三级分类跳转到商品列表页面.mp4
│  │  │      12.分类 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-4 自定义搜索组件
│  │  │      13.搜索 - 介绍搜索相关的功能.mp4
│  │  │      14.搜索 - 创建search分支.mp4
│  │  │      15.搜索 - 自定义组件 - 在uni-app项目中新建自定义的搜索组件.mp4
│  │  │      16.搜索 - 自定义组件 - 渲染my-search组件的基本结构.mp4
│  │  │      17.搜索 - 自定义组件 - 解决cate分类页面scroll-view高度的问题.mp4
│  │  │      18.搜索 - 自定义组件 - 通过自定义属性增强组件的通用性.mp4
│  │  │      19.搜索 - 自定义组件 - 为自定义组件封装click事件.mp4
│  │  │      20.搜索 - 自定义组件 - 点击cate页面的搜索组件导航到搜索页面.mp4
│  │  │      21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶效果.mp4
│  │  │      
│  │  ├─2-5 搜索建议和搜索历史功能实现
│  │  │      22.搜索 - 搜索建议 - 渲染搜索页面的基本结构.mp4
│  │  │      23.搜索 - 搜索建议 - 实现搜索框自动获取焦点.mp4
│  │  │      24.搜索 - 搜索建议 - 实现搜索框的防抖处理.mp4
│  │  │      25.搜索 - 搜索建议 - 根据关键词查询搜索建议列表.mp4
│  │  │      26.搜索 - 搜索建议 - 循环渲染搜索建议列表的UI结构.mp4
│  │  │      27.搜索 - 搜索建议 - 美化搜索建议列表的UI结构.mp4
│  │  │      28.搜索 - 搜索建议 - 点击搜索Item项导航到商品详情页.mp4
│  │  │      29.搜索 - 搜索历史 - 渲染搜索历史记录的基本结构.mp4
│  │  │      30.搜索 - 搜索历史 - 美化搜索历史区域的UI结构.mp4
│  │  │      31.搜索 - 搜索历史 - 实现搜索建议和搜索历史的按需展示.mp4
│  │  │      32.搜索 - 搜索历史 - 将搜索关键词存入historyList.mp4
│  │  │      33.搜索 - 搜索历史 - 解决关键词前后顺序的问题.mp4
│  │  │      34.搜索 - 搜索历史 - 解决关键词重复的问题.mp4
│  │  │      35.搜索 - 搜索历史 - 将搜索历史记录持久化存储到本地.mp4
│  │  │      36.搜索 - 搜索历史 - 清空搜索历史记录.mp4
│  │  │      37.搜索 - 搜索历史 - 点击搜索历史跳转到商品列表页面.mp4
│  │  │      38.搜索 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-6 商品列表功能实现
│  │  │      01.商品列表 - 介绍商品列表页面的功能并创建编译模式.mp4
│  │  │      02.商品列表 - 创建goodslist分支.mp4
│  │  │      03.商品列表 - 定义请求参数对象.mp4
│  │  │      04.商品列表 - 获取商品列表数据.mp4
│  │  │      05.商品列表 - 定义商品列表页面的UI结构.mp4
│  │  │      06.商品列表 - 美化商品列表页面的UI结构.mp4
│  │  │      07.商品列表 - 把商品Item项封装为自定义组件.mp4
│  │  │      08.商品列表 - 使用过滤器处理商品价格.mp4
│  │  │      09.商品列表 - 初步实现上拉加载更多.mp4
│  │  │      10.商品列表 - 使用节流阀防止发起额外的数据请求.mp4
│  │  │      11.商品列表 - 判断数据是否加载完毕.mp4
│  │  │      12.商品列表 - 实现下拉刷新的效果.mp4
│  │  │      13.商品列表 - 点击商品item项导航到商品详情页面.mp4
│  │  │      14.商品列表 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-7 商品详情功能实现
│  │  │      15.商品详情 - 创建goodsdetail分支.mp4
│  │  │      16.商品详情 - 添加商品详情页的编译模式.mp4
│  │  │      17.商品详情 - 获取商品详情的数据.mp4
│  │  │      18.商品详情 - 渲染轮播图区域.mp4
│  │  │      19.商品详情 - 实现轮播图的大图预览效果.mp4
│  │  │      20.商品详情 - 渲染商品信息区域的UI结构.mp4
│  │  │      21.商品详情 - 美化商品信息区域的样式.mp4
│  │  │      22.商品详情 - 使用rich-text组件渲染HTML内容.mp4
│  │  │      23.商品详情 - 解决商品图文详情中图片底部空白间隙的问题.mp4
│  │  │      24.商品详情 - 解决webp格式的图片在ios设备上无法正常显示的问题.mp4
│  │  │      25.商品详情 - 解决商品价格闪烁的问题.mp4
│  │  │      26.商品详情 - 渲染商品导航区域的UI结构.mp4
│  │  │      27.商品详情 - 自定义商品导航区域的按钮信息.mp4
│  │  │      28.商品详情 - 点击购物车按钮导航到购物车页面.mp4
│  │  │      29.商品详情 - 分支的合并与提交.mp4
│  │  │      
│  │  ├─2-8 加入购物车功能实现
│  │  │      30.加入购物车 - 创建cart分支.mp4
│  │  │      31.加入购物车 - 配置vuex.mp4
│  │  │      32.加入购物车 - 创建购物车的store模块.mp4
│  │  │      33.加入购物车 - 在商品详情页中使用store中的数据.mp4
│  │  │      34.加入购物车 - 在mutations中定义addToCart方法.mp4
│  │  │      35.加入购物车 - 实现加入购物车的功能.mp4
│  │  │      36.加入购物车 - 动态统计购物车中商品的总数量.mp4
│  │  │      37.加入购物车 - 持久化存储购物车中的商品.mp4
│  │  │      38.加入购物车 - 优化商品详情页的total侦听器.mp4
│  │  │      39.加入购物车 - 动态为tabBar设置数字徽标.mp4
│  │  │      40.加入购物车 - 将设置tabBar徽标的代码抽离为mixins.mp4
│  │  │      
│  │  └─2-9 购物车页面-商品列表功能实现
│  │          01.购物车页面 - 演示购物车页面要实现的功能.mp4
│  │          02.购物车页面 - 创建购物车页面的编译模式.mp4
│  │          03.购物车页面 - 商品列表区域 - 渲染商品列表的标题区域.mp4
│  │          04.购物车页面 - 商品列表区域 - 渲染商品列表区域的基本结构.mp4
│  │          05.购物车页面 - 商品列表区域 - 为my-goods组件封装radio勾选状态.mp4
│  │          06.购物车页面 - 商品列表区域 - 通过props属性控制radio的按需展示.mp4
│  │          07.购物车页面 - 商品列表区域 - 动态绑定radio组件的值.mp4
│  │          08.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装radio-change事件的实现思路.mp4
│  │          09.购物车页面 - 商品列表区域 - 为my-goods组件封装radio-change自定义事件.mp4
│  │          10.购物车页面 - 商品列表区域 - 修改购物车中商品的勾选状态.mp4
│  │          11.购物车页面 - 商品列表区域 - 为my-goods组件封装NumberBox.mp4
│  │          12.购物车页面 - 商品列表区域 - 通过props属性控制NumberBox的按需展示.mp4
│  │          13.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装num-change事件的实现思路.mp4
│  │          14.购物车页面 - 商品列表区域 - 为my-goods组件封装num-change事件.mp4
│  │          15.购物车页面 - 商品列表区域 - 解决NumberBox组件数据不合法的问题.mp4
│  │          16.购物车页面 - 商品列表区域 - 完善NumberBox的inputValue侦听器.mp4
│  │          17.购物车页面 - 商品列表区域 - 修改购物车中商品的数量.mp4
│  │          18.购物车页面 - 商品列表区域 - 渲染滑动删除的UI效果.mp4
│  │          19.购物车页面 - 商品列表区域 - 实现滑动删除的功能.mp4
│  │          
│  ├─03颜值大事拓展
│  │      1.00.学习目标.mp4
│  │      10.09.实现拍照功能(Av246603341,P10).mp4
│  │      11.10.从相册选取照片).mp4
│  │      12.11.将选择的照片显示到屏幕上).mp4
│  │      13.12.实现重选照片的功能).mp4
│  │      14.13.定义测颜值的函数并调用).mp4
│  │      15.14.申请百度AI平台账号).mp4
│  │      16.15.了解百度人工智能API的鉴权机制).mp4
│  │      17.16.在app.js中实现鉴权认证).mp4
│  │      18.17.将用户选择的图片转码为).mp4
│  │      19.18.发起请求检测颜值数据).mp4
│  │      2.01.演示案例效果.mp4
│  │      20.19.渲染颜值数据对应的页面结构).mp4
│  │      21.20.把英文信息映射为中文信息).mp4
│  │      22.21.优化用户体验并完成项目开发.mp4
│  │      3.02.创建测颜值的小程序项目.mp4
│  │      4.03.了解camera组件的基本使用.mp4
│  │      5.04.动态设置camera组件的高度.mp4
│  │      6.05.隐藏navigation导航条区域).mp4
│  │      7.06.在camera组件之上渲染操作按钮.mp4
│  │      8.07.介绍cover-view和cover-image的作用.mp4
│  │      9.08.动态切换摄像头的朝向.mp4
│  │      
│  └─阶段作业   微信小程序-试卷
│          微信小程序-试卷.docx
│          
├─07-阶段七 React项目实战【拓展课程】
│  ├─01第一章 React基础【v6.5】
│  │  ├─1-1 React基本使用
│  │  │  │  01-react基础目标.mp4
│  │  │  │  02-react概述.mp4
│  │  │  │  03-react的基本使用.mp4
│  │  │  │  04-react的基本使用(常用方法说明).mp4
│  │  │  │  05-react脚手架的基本使用.mp4
│  │  │  │  06-react脚手架的基本使用(细节补充说明)知道即可.mp4
│  │  │  │  07-react脚手架中使用react.mp4
│  │  │  │  08-react基础阶段总结.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          Rreact基本使用答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─1-2 JSX语法
│  │  │  │  09-JSX的学习目标.mp4
│  │  │  │  10-JSX的基本使用.mp4
│  │  │  │  11-为什么脚手架中可以使用JSX语法.mp4
│  │  │  │  12-JSX的注意点.mp4
│  │  │  │  13-在JSX中使用JavaScript表达式.mp4
│  │  │  │  14-JSX中使用JavaScript表达式的注意点.mp4
│  │  │  │  15-JSX的条件渲染.mp4
│  │  │  │  16-JSX的列表渲染.mp4
│  │  │  │  17-JSX的样式处理.mp4
│  │  │  │  18-JSX阶段总结.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          JSX语法答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─1-3 React组件基础
│  │  │  │  19-React组件基础学习目标.mp4
│  │  │  │  20-React组件介绍.mp4
│  │  │  │  21-组件的两种创建方式(1函数组件).mp4
│  │  │  │  22-组件的两种创建方式(2类组件).mp4
│  │  │  │  23-组件的两种创建方式(3抽离为独立js文件).mp4
│  │  │  │  24-React事件处理(1事件绑定).mp4
│  │  │  │  25-React事件处理(2事件对象).mp4
│  │  │  │  26-有状态组件和无状态组件.mp4
│  │  │  │  27-state的基本使用.mp4
│  │  │  │  28-组件中的state和setState()(1setState()修改状态).mp4
│  │  │  │  29-组件中的state和setState()(2从JSX中抽离事件处理程序).mp4
│  │  │  │  30-事件绑定this指向(1箭头函数).mp4
│  │  │  │  31-事件绑定this指向(2bind).mp4
│  │  │  │  32-事件绑定this指向(3class的实例方法).mp4
│  │  │  │  33-事件绑定this指向-总结.mp4
│  │  │  │  34-表单处理(1受控组件概念).mp4
│  │  │  │  35-表单处理(2受控组件使用步骤).mp4
│  │  │  │  36-表单处理(3受控组件的示例).mp4
│  │  │  │  37-表单处理(4多表单元素优化).mp4
│  │  │  │  38-表单处理(5非受控组件).mp4
│  │  │  │  39-React组件基础总结.mp4
│  │  │  │  40-React组件基础综合案例(1案例需求分析).mp4
│  │  │  │  41-React组件基础综合案例(2渲染评论列表)(1).mp4
│  │  │  │  41-React组件基础综合案例(2渲染评论列表).mp4
│  │  │  │  42-React组件基础综合案例(3渲染暂无评论并优化代码).mp4
│  │  │  │  43-React组件基础综合案例(4获取评论信息).mp4
│  │  │  │  44-React组件基础综合案例(5发表评论-1).mp4
│  │  │  │  45-React组件基础综合案例(6发表评论-2边界情况处理).mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          React组件基础答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─1-4 React组件进阶
│  │  │  │  46-React组件进阶学习目标.mp4
│  │  │  │  47-组件通讯介绍.mp4
│  │  │  │  48-组件的props(1基本使用).mp4
│  │  │  │  49-组件的props(2特点).mp4
│  │  │  │  50-组件通讯的三种方式(1父组件传递数据给子组件).mp4
│  │  │  │  51-组件通讯的三种方式(2子组件传递数据给父组件).mp4
│  │  │  │  52-组件通讯的三种方式(3兄弟组件通讯).mp4
│  │  │  │  53-Context的基本使用.mp4
│  │  │  │  54-props深入(1children属性).mp4
│  │  │  │  55-props深入(2props校验).mp4
│  │  │  │  56-props深入(3props校验-约束规则).mp4
│  │  │  │  57-props深入(4props的默认值).mp4
│  │  │  │  58-组件的生命周期(1概述).mp4
│  │  │  │  59-组件的生命周期三个阶段(1创建时).mp4
│  │  │  │  60-组件的生命周期三个阶段(2更新时-1触发时机).mp4
│  │  │  │  61-组件的生命周期三个阶段(2更新时-2钩子函数说明).mp4
│  │  │  │  62-组件的生命周期三个阶段(3卸载时).mp4
│  │  │  │  63-组件的生命周期三个阶段(4不常用钩子函数介绍).mp4
│  │  │  │  64-render props和高阶组件概述.mp4
│  │  │  │  65-render props模式(1思路分析).mp4
│  │  │  │  66-render props模式(2使用步骤).mp4
│  │  │  │  67-render props模式(3演示Mouse组件的复用).mp4
│  │  │  │  68-render props模式(4children代替render属性).mp4
│  │  │  │  69-render props模式(5代码优化).mp4
│  │  │  │  70-高阶组件(1介绍).mp4
│  │  │  │  71-高阶组件(2使用步骤).mp4
│  │  │  │  72-高阶组件(3设置displayName).mp4
│  │  │  │  73-高阶组件(4传递props).mp4
│  │  │  │  74-React组件进阶总结.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          React组件进阶答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  ├─1-5 React原理及优化
│  │  │  │  75-React原理揭秘学习目标.mp4
│  │  │  │  76-setState()方法的说明(1更新数据).mp4
│  │  │  │  77-setState()方法的说明(2推荐语法).mp4
│  │  │  │  78-setState()方法的说明(3第二个参数).mp4
│  │  │  │  79-JSX语法的转化过程.mp4
│  │  │  │  80-组件更新机制.mp4
│  │  │  │  81-组件性能优化(1减轻state).mp4
│  │  │  │  82-组件性能优化(2避免不必要的重新渲染1).mp4
│  │  │  │  83-组件性能优化(2避免不必要的重新渲染-随机数案例).mp4
│  │  │  │  84-组件性能优化(2避免不必要的重新渲染-随机数案例2).mp4
│  │  │  │  85-组件性能优化(3纯组件-基本使用).mp4
│  │  │  │  86-组件性能优化(3纯组件-shallow compare).mp4
│  │  │  │  87-虚拟DOM和Diff算法.mp4
│  │  │  │  88-虚拟DOM和Diff算法(代码演示).mp4
│  │  │  │  89-React原理揭秘总结.mp4
│  │  │  │  单元测试.docx
│  │  │  │  
│  │  │  └─课后练习
│  │  │          React原理及优化答案.zip
│  │  │          素材.zip
│  │  │          课后练习.docx
│  │  │          
│  │  └─1-6 React路由
│  │      │  90-React路由基础学习目标.mp4
│  │      │  91-React路由介绍.mp4
│  │      │  92-路由的基本使用.mp4
│  │      │  93-路由的基本使用(常用组件说明).mp4
│  │      │  94-路由的执行过程.mp4
│  │      │  95-编程式导航.mp4
│  │      │  96-默认路由.mp4
│  │      │  97-匹配模式(1模糊匹配模式).mp4
│  │      │  98-匹配模式(2精确匹配).mp4
│  │      │  99-React路由基础总结.mp4
│  │      │  单元测试.docx
│  │      │  
│  │      └─课后练习
│  │              React路由答案.zip
│  │              素材.zip
│  │              课后练习.docx
│  │              
│  ├─02第二章 好客租房项目【v6.5】
│  │  ├─2-1 项目介绍和初始化
│  │  │      01-好客租房移动Web(上)学习目标.mp4
│  │  │      02-项目介绍.mp4
│  │  │      03-本地接口部署.mp4
│  │  │      04-初始化项目.mp4
│  │  │      05-组件库antd-mobile的介绍和使用.mp4
│  │  │      06-配置基础路由.mp4
│  │  │      07-外观和样式调整.mp4
│  │  │      08-两种布局页面.mp4
│  │  │      09-嵌套路由.mp4
│  │  │      
│  │  ├─2-10 用户登录功能实现
│  │  │      129-好客租房移动Web(下)学习目标.mp4
│  │  │      130-登录模块功能分析.mp4
│  │  │      131-用户登录(1分析页面结构和样式).mp4
│  │  │      132-用户登录(2登录功能1).mp4
│  │  │      133-用户登录(2登录功能完成).mp4
│  │  │      134-用户登录(3表单校验说明).mp4
│  │  │      135-formik介绍.mp4
│  │  │      136-使用formik重构登录功能.mp4
│  │  │      137-两种表单验证方式.mp4
│  │  │      138-给登录功能添加表单验证.mp4
│  │  │      139-简化表单处理.mp4
│  │  │      140-我的页面(1页面结构和样式).mp4
│  │  │      141-我的页面(2功能分析).mp4
│  │  │      142-我的页面(3功能实现).mp4
│  │  │      143-我的页面(4退出功能).mp4
│  │  │      144-登录访问控制(1概述).mp4
│  │  │      145-登录访问控制(2使用axios拦截器统一处理token).mp4
│  │  │      146-登录访问控制(3分析AuthRoute鉴权路由组件).mp4
│  │  │      147-登录访问控制(4封装AuthRoute鉴权路由组件).mp4
│  │  │      148-登录访问控制(5修改登录成功跳转).mp4
│  │  │      
│  │  ├─2-11 房源收藏功能实现
│  │  │      149-我的收藏模块功能分析.mp4
│  │  │      150-检查房源是否收藏.mp4
│  │  │      151-收藏房源(1).mp4
│  │  │      152-收藏房源(2).mp4
│  │  │      
│  │  ├─2-12 发布房源和搜索房源功能实现
│  │  │      153-房源发布模块(功能演示和介绍).mp4
│  │  │      154-发布房源模块-模板改动说明.mp4
│  │  │      155-配置三个页面的路由规则.mp4
│  │  │      156-关键词搜索小区信息(1实现思路).mp4
│  │  │      157-关键词搜索小区信息(2实现步骤).mp4
│  │  │      158-关键词搜索小区信息(3传递小区信息给发布房源页面).mp4
│  │  │      159-发布房源(1页面结构分析).mp4
│  │  │      160-发布房源(2获取房源数据).mp4
│  │  │      161-发布房源(3获取房屋配置数据).mp4
│  │  │      162-发布房源(4房屋图片上传分析).mp4
│  │  │      163-发布房源(5获取房屋图片).mp4
│  │  │      164-发布房源(6上传房屋图片).mp4
│  │  │      165-发布房源(7完成).mp4
│  │  │      
│  │  ├─2-13 项目打包及项目优化
│  │  │      166-项目打包.mp4
│  │  │      167-修改脚手架配置说明.mp4
│  │  │      168-项目优化(1antd-mobile按需加载).mp4
│  │  │      169-项目优化(2基于路由的代码分割).mp4
│  │  │      170-项目优化(3其他优化和说明).mp4
│  │  │      171-好客租房移动Web(下)总结.mp4
│  │  │      
│  │  ├─2-2 项目首页布局+功能实现
│  │  │      10-实现TabBar(1基本使用).mp4
│  │  │      11-实现TabBar(2修改TabBar外观样式).mp4
│  │  │      12-实现TabBar(3TabBar配合路由使用).mp4
│  │  │      13-实现TabBar(4TabBar.Item代码重构).mp4
│  │  │      14-首页模块(首页路由处理).mp4
│  │  │      15-轮播图组件的基本使用.mp4
│  │  │      16-获取轮播图数据.mp4
│  │  │      17-导航菜单.mp4
│  │  │      18-导航菜单(代码重构).mp4
│  │  │      19-轮播图Bug分析和修复.mp4
│  │  │      20-TabBar菜单高亮Bug分析和修复.mp4
│  │  │      21-在脚手架中使用sass.mp4
│  │  │      22-租房小组的业务介绍和数据获取.mp4
│  │  │      23-租房小组结构样式.mp4
│  │  │      24-租房小组数据渲染.mp4
│  │  │      25-最新资讯(作为练习)及解决TabBar遮挡Bug.mp4
│  │  │      26-顶部导航.mp4
│  │  │      
│  │  ├─2-3 百度地图API使用
│  │  │      27-H5中的地理位置API.mp4
│  │  │      28-百度地图API(1介绍).mp4
│  │  │      29-百度地图API(2申请百度账号和秘钥).mp4
│  │  │      30-百度地图API(3使用步骤).mp4
│  │  │      31-百度地图API(4获取顶部导航城市信息).mp4
│  │  │      
│  │  ├─2-4 城市选择和渲染
│  │  │      32-城市选择模块功能分析.mp4
│  │  │      33-城市选择模块(顶部导航栏).mp4
│  │  │      34-获取并处理城市列表数据.mp4
│  │  │      35-获取并处理城市列表数据(1数据格式分析和转化).mp4
│  │  │      36-获取并处理城市列表数据(2热门城市数据).mp4
│  │  │      37-封装获取当前定位城市的函数.mp4
│  │  │      38-获取并处理城市列表数据(3添加当前定位数据).mp4
│  │  │      39-长列表性能优化(1概述).mp4
│  │  │      40-长列表性能优化(2懒渲染说明).mp4
│  │  │      41-长列表性能优化(3可视区域渲染).mp4
│  │  │      42-react-virtualized(1概述).mp4
│  │  │      43-react-virtualized(2基本使用).mp4
│  │  │      44-渲染城市列表(让List组件占满屏幕).mp4
│  │  │      45-渲染城市列表.mp4
│  │  │      46-渲染城市列表(展示城市索引).mp4
│  │  │      47-渲染城市列表(展示索引下的城市以及动态计算每一行的高度).mp4
│  │  │      48-渲染右侧索引列表.mp4
│  │  │      49-渲染右侧索引列表(2滚动城市列表让对应索引高亮).mp4
│  │  │      50-渲染右侧索引列表(3点击索引指定该索引城市).mp4
│  │  │      51-切换城市.mp4
│  │  │      52-好客租房移动Web(上)-总结.mp4
│  │  │      
│  │  ├─2-5 顶部导航组件封装
│  │  │      53-好客租房移动Web(中)学习目标.mp4
│  │  │      54-地图找房模块功能分析.mp4
│  │  │      55-封装顶部导航栏组件(1顶部导航).mp4
│  │  │      56-封装顶部导航栏组件(2样式调整).mp4
│  │  │      57-封装顶部导航栏组件(3功能处理withRouter).mp4
│  │  │      58-封装顶部导航栏组件(4添加props校验).mp4
│  │  │      59-在城市选择页面使用NavHeader组件.mp4
│  │  │      60-组件间样式覆盖问题的说明.mp4
│  │  │      
│  │  ├─2-6 CSS Modules
│  │  │      61-CSS-IN-JS的说明.mp4
│  │  │      62-CSS Modules的说明.mp4
│  │  │      63-CSS Modules在项目中的使用.mp4
│  │  │      64-CSS Modules的应用.mp4
│  │  │      
│  │  ├─2-7 地图找房功能实现
│  │  │      65-地图找房页面顶部导航栏样式处理.mp4
│  │  │      66-根据定位展示当前城市.mp4
│  │  │      67-创建文本覆盖物.mp4
│  │  │      68-绘制房源覆盖物.mp4
│  │  │      69-地图找房功能分析.mp4
│  │  │      70-渲染所有区的覆盖物.mp4
│  │  │      71-地图找房功能的封装流程.mp4
│  │  │      72-地图找房功能renderOverlays.mp4
│  │  │      73-地图找房功能createOverlays.mp4
│  │  │      74-地图找房功能createCircle.mp4
│  │  │      75-地图找房功能createRect(绘制小区覆盖物).mp4
│  │  │      76-获取并展示小区房源数据.mp4
│  │  │      77-获取并展示小区房源数据(优化).mp4
│  │  │      78-createRect方法封装完成.mp4
│  │  │      79-添加loading优化体验.mp4
│  │  │      80-axios优化和环境变量.mp4
│  │  │      81-使用环境变量(修改图片地址).mp4
│  │  │      82-axios优化(手动创建axios实例).mp4
│  │  │      83-列表找房模块功能分析.mp4
│  │  │      84-封装首页搜索导航栏.mp4
│  │  │      85-实现找房页面搜索导航栏(结构和样式).mp4
│  │  │      86-找房页面返回按钮事件和修改首页搜索导航组件.mp4
│  │  │      
│  │  ├─2-8 FilterTitle、FilterPicker、FilterMore组件实现
│  │  │      100-完善FilterTitle高亮功能(2实现步骤).mp4
│  │  │      101-FilterMore组件(1渲染组件数据).mp4
│  │  │      102-FilterMore组件(2获取选中值以及设置高亮).mp4
│  │  │      103-FilterMore组件(3清除和确定按钮的逻辑处理).mp4
│  │  │      104-FilterMore组件(4设置默认选中值).mp4
│  │  │      105-完成FilterTitle高亮功能.mp4
│  │  │      87-条件筛选栏组件结构分析.mp4
│  │  │      88-条件筛选栏组件的功能分析.mp4
│  │  │      89-FilterTitle组件实现思路分析.mp4
│  │  │      90-FilterTitle组件实现(1高亮逻辑).mp4
│  │  │      91-FilterTitle组件实现(2点击菜单高亮).mp4
│  │  │      92-FilterPicker组件实现思路分析.mp4
│  │  │      93-FilterPicker组件(1控制展示和隐藏).mp4
│  │  │      94-FilterPicker组件(2获取当前筛选条件的数据-1).mp4
│  │  │      95-FilterPicker组件(3获取当前筛选条件的数据-完成).mp4
│  │  │      96-FilterPicker组件(4获取选中值).mp4
│  │  │      97-FilterPicker组件(5设置默认选中值).mp4
│  │  │      98-FilterPicker组件(6解决设置默认选中值的bug).mp4
│  │  │      99-完善FilterTitle高亮功能(1实现思路).mp4
│  │  │      
│  │  └─2-9 房源筛选及房屋详情功能
│  │          106-根据筛选条件获取房屋列表数据(组装筛选条件).mp4
│  │          107-获取房屋列表数据.mp4
│  │          108-进入页面时获取数据.mp4
│  │          109-使用List组件渲染数据.mp4
│  │          110-使用WindowScroller让List跟随页面滚动.mp4
│  │          111-InfiniteLoader组件的说明和基本使用.mp4
│  │          112-加载更多房屋列表数据.mp4
│  │          113-条件筛选栏吸顶功能(1实现思路).mp4
│  │          114-条件筛选栏吸顶功能(2实现步骤1).mp4
│  │          115-条件筛选栏吸顶功能(2实现步骤2).mp4
│  │          116-条件筛选栏吸顶功能(3通用性优化以及组件封装原则).mp4
│  │          117-列表找房功能优化-找Bug模式(1加载提示).mp4
│  │          118-列表找房功能优化-找Bug模式(2条件筛选栏优化).mp4
│  │          119-列表找房功能优化-找Bug模式(3切换城市显示房源).mp4
│  │          120-react-spring动画库概述.mp4
│  │          121-react-spring动画库的基本使用.mp4
│  │          122-实现遮罩层动画.mp4
│  │          123-房屋详情模块功能分析.mp4
│  │          124-房屋详情模块功页面模板说明.mp4
│  │          125-路由参数的说明和基本使用.mp4
│  │          126-展示房屋详情(1).mp4
│  │          127-展示房屋详情(2完成).mp4
│  │          128-好客租房移动Web(中)总结.mp4
│  │          
│  └─03第三章 Angular5【赠送课程】
│      ├─3-1 Angular介绍
│      │      00-介绍.mp4
│      │      01-安装Angular-CLI脚手架工具.mp4
│      │      02-使用AngularCLI初始化Angular项目.mp4
│      │      03-一个Angular应用是如何启动的.mp4
│      │      单元测试.docx
│      │      
│      ├─3-2 TypeScript介绍和使用
│      │  │  04-核心特性-组件.mp4
│      │  │  05-核心特性-其它.mp4
│      │  │  06-TypeScript介绍-01.mp4
│      │  │  07-TypeScript介绍-02.mp4
│      │  │  08-搭建TypeScript开发环境.mp4
│      │  │  09-TypeScript数据类型.mp4
│      │  │  10-TypeScript-解构赋值.mp4
│      │  │  11-TypeScript-剩余参数-数组对象展开操作符.mp4
│      │  │  12-TypeScript-类的基本用法.mp4
│      │  │  13-TypeScript-类的继承.mp4
│      │  │  14-TypeScript-类成员访问修饰符.mp4
│      │  │  15-TypeScript-属性的get和set.mp4
│      │  │  16-TypeScript-类的静态成员和实例成员.mp4
│      │  │  17-TypeScript-函数.mp4
│      │  │  18-TypeScript-for-of循环.mp4
│      │  │  19-TypeScript-模块.mp4
│      │  │  20-TypeScript总结.mp4
│      │  │  21-组件介绍.mp4
│      │  │  单元测试.docx
│      │  │  
│      │  └─课后练习
│      │          Typescript案例答案.zip
│      │          素材.zip
│      │          课后练习.docx
│      │          
│      ├─3-3 ToDoMVC案例
│      │  │  22-TodoMVC-案例介绍.mp4
│      │  │  23-TodoMVC-下载预览模板.mp4
│      │  │  24-TodoMVC-项目初始化.mp4
│      │  │  25-TodoMVC-需求介绍.mp4
│      │  │  26-TodoMVC-列表渲染(有数据的处理).mp4
│      │  │  27-TodoMVC-列表渲染(无数据条件判断).mp4
│      │  │  28-TodoMVC-添加任务.mp4
│      │  │  29-TodoMVC-利用双向绑定显示任务完成状态.mp4
│      │  │  30-TodoMVC-处理任务项的样式.mp4
│      │  │  31-TodoMVC-切换所有任务项的完成状态.mp4
│      │  │  32-TodoMVC-删除单个任务项.mp4
│      │  │  33-TodoMVC-双击任务项进入编辑状态.mp4
│      │  │  34-TodoMVC-编辑任务.mp4
│      │  │  35-TodoMVC-显示所有未完成任务数.mp4
│      │  │  36-TodoMVC-清除所有已完成任务项.mp4
│      │  │  37-TodoMVC-数据过滤第一步.mp4
│      │  │  38-TodoMVC-数据过滤完成.mp4
│      │  │  39-TodoMVC-页面刷新保持数据过滤状态.mp4
│      │  │  40-TodoMVC-数据持久化到本地存储.mp4
│      │  │  
│      │  └─课后练习
│      │          素材 (1).zip
│      │          素材.zip
│      │          课后练习.docx
│      │          豆瓣答案.zip
│      │          
│      └─3-4 Angular5通讯录项目
│              41-通讯录案例介绍.mp4
│              42-通讯录-项目初始化.mp4
│              43-通讯录-初始化案例中的组件.mp4
│              44-通讯录-导入登陆和注册的组件模板.mp4
│              45-通讯录-导入顶部导航栏-侧边栏组件模板.mp4
│              46-通讯录-导入路由.mp4
│              47-通讯录-嵌套路由.mp4
│              48-通讯录-表单提交-双向绑定.mp4
│              49-通讯录-表单提交-表单验证.mp4
│              50-通讯录-接口说明.mp4
│              51-通讯录-开启http服务.mp4
│              52-通讯录-注册成功跳转到首页.mp4
│              53-通讯录-使用路由守卫拦截保护访问权限.mp4
│              54-通讯录-用户登陆.mp4
│              55-通讯录-登陆成功显示当前登陆用户名.mp4
│              56-通讯录-用户退出.mp4
│              57-通讯录-HTTP拦截器.mp4
│              58-通讯录-联系人列表.mp4
│              59-通讯录-添加联系人.mp4
│              60-通讯录-删除联系人.mp4
│              61-通讯录-编辑联系人第一步.mp4
│              62-通讯录-完成编辑联系人.mp4
│              63-通讯录-简单总结.mp4
│              
└─08-阶段八 面试指导+前端面试题
    ├─01第一章 前端-工作面试指导技巧
    │  │  1-1 课程介绍.zip
    │  │  1-2 简历内容篇.zip
    │  │  1-4 面试内容篇.zip
    │  │  1-6 市场行情篇.zip
    │  │  1-8 工作心理篇.zip
    │  │  
    │  ├─1-3 求职内容篇
    │  │      09-求职篇-招聘流程.mp4
    │  │      10-求职篇-简历相关.mp4
    │  │      11-求职篇-面试相关.mp4
    │  │      
    │  ├─1-5 工作内容篇
    │  │      13-工作篇.mp4
    │  │      
    │  └─1-7 人事内容篇
    │          15-人事篇.mp4
    │          
    ├─02第二章 Vue电商后台管理系统面试题【项目面试题】
    │      10、路由守卫.mp4
    │      11、通过axios 拦截器添加token验证.mp4
    │      12、菜单使用.mp4
    │      13、用户列表1.mp4
    │      14、用户列表2.mp4
    │      15、分页处理.mp4
    │      16、更新用户状态.mp4
    │      17、用户信息添加.mp4
    │      18、用户编辑.mp4
    │      19、用户删除.mp4
    │      1、学习内容介绍.mp4
    │      20、用户角色权限关系.mp4
    │      21、权限渲染.mp4
    │      22、删除指定角色下的权限.mp4
    │      23、为角色分配权限1.mp4
    │      24、为角色分配权限2.mp4
    │      25、为角色分配权限3.mp4
    │      26、为用户分配角色.mp4
    │      27、商品分类数据展示.mp4
    │      28、模板列渲染.mp4
    │      29、添加商品分类1.mp4
    │      2、系统的功能划分介绍.mp4
    │      30、添加商品分类2.mp4
    │      31、分类参数介绍.mp4
    │      32、获取分类参数数据.mp4
    │      33、添加分类参数.mp4
    │      34、分类参数编辑与删除.mp4
    │      35、指定参数添加.mp4
    │      36、过滤器应用.mp4
    │      37、商品添加1.mp4
    │      38、商品添加2.mp4
    │      39、实现图片上传.mp4
    │      3、开发模式介绍.mp4
    │      40、完成商品添加.mp4
    │      41、项目优化1.mp4
    │      42、项目优化2.mp4
    │      43.项目优化3.mp4
    │      44、项目部署上线.mp4
    │      4、技术选型 介绍.mp4
    │      5、登录业务流程.mp4
    │      6、token原理分析.mp4
    │      7、登录页面构建.mp4
    │      8、发起登录请求.mp4
    │      9、客户端存储token信息.mp4
    │      
    ├─03第三章 Vue面试题精讲
    │  ├─3-1 Vue核心知识点
    │  │      10、侦听器.mp4
    │  │      11、生命周期简介.mp4
    │  │      12、生命周期探讨1.mp4
    │  │      13、生命周期探讨2.mp4
    │  │      14、生命周期探讨3.mp4
    │  │      15、生命周期探讨4.mp4
    │  │      16、组件概述.mp4
    │  │      17、组件基本使用.mp4
    │  │      18、局部组件使用.mp4
    │  │      19、父组件向子组件传值.mp4
    │  │      1、课程介绍.mp4
    │  │      20、子组件向父组件传值.mp4
    │  │      21、兄弟组件传值.mp4
    │  │      22、插槽简介.mp4
    │  │      23、插槽基本创建.mp4
    │  │      24、具名插槽.mp4
    │  │      25、作用域插槽应用.mp4
    │  │      26、作用域查看案例.mp4
    │  │      27、插槽总结.mp4
    │  │      28、Vue组件化的理解.mp4
    │  │      29、Vue.set方法.mp4
    │  │      2、Vue基本使用介绍.mp4
    │  │      30、Vue.delete方法.mp4
    │  │      31、$on与$emit方法.mp4
    │  │      32、自定义组件实现双向绑定.mp4
    │  │      33、使用插槽完成内容分发.mp4
    │  │      34、事件总线.mp4
    │  │      35、$once与$off.mp4
    │  │      36、ref 和vm.$refs.mp4
    │  │      37、过滤器基本使用.mp4
    │  │      38、带参数的过滤器.mp4
    │  │      39、自定义指令基本使用.mp4
    │  │      3、属性绑定.mp4
    │  │      40、 自定义指令-带参数.mp4
    │  │      41、自定义局部指令.mp4
    │  │      42、渲染函数.mp4
    │  │      43、混入.mp4
    │  │      44、插件介绍.mp4
    │  │      4、列表渲染.mp4
    │  │      5、v-model.mp4
    │  │      6、v-on.mp4
    │  │      7、Class与Style绑定.mp4
    │  │      8、条件渲染.mp4
    │  │      9、计算属性.mp4
    │  │      
    │  ├─3-2 Vue-Router知识点
    │  │      10、将菜单改造为路由连接.mp4
    │  │      11、添加子路由规则并实现路由重定向.mp4
    │  │      12、渲染用户列表数据.mp4
    │  │      13、跳转到详情页.mp4
    │  │      14、路由全局守卫.mp4
    │  │      15、路由独享守卫.mp4
    │  │      16、组件内守卫.mp4
    │  │      17、addRoutes动态路由添加.mp4
    │  │      18、路由组件缓存.mp4
    │  │      19、Hash模式与History模式.mp4
    │  │      1、路由简介.mp4
    │  │      20、History模式使用1.mp4
    │  │      21、History模式2.mp4
    │  │      22、Nginx配置History模式.mp4
    │  │      23、复习VueRouter工作原理.mp4
    │  │      24、install方法实现.mp4
    │  │      25、构造方法创建.mp4
    │  │      26、解析路由规则.mp4
    │  │      27、创建router-link组件.mp4
    │  │      28、测试.mp4
    │  │      29、构建render函数.mp4
    │  │      2、路由基本使用.mp4
    │  │      30、构建router-view组件.mp4
    │  │      31、解决组件加载问题.mp4
    │  │      32、解决前进与后退问题.mp4
    │  │      33、复习总结.mp4
    │  │      34、查看Vue.use方法源码.mp4
    │  │      35、VueRouter目录结构分析.mp4
    │  │      36、VueRouter类初步创建.mp4
    │  │      37、install方法第二种方式实现.mp4
    │  │      38、组件创建测试.mp4
    │  │      39、解析路由规则1.mp4
    │  │      3、路由重定向.mp4
    │  │      40、路由规则解析2.mp4
    │  │      41、路由规则解析完成.mp4
    │  │      42、match方法实现.mp4
    │  │      43、历史记录处理.mp4
    │  │      44、不同路由模式判断处理.mp4
    │  │      45、代码测试.mp4
    │  │      46、定义响应式路由属性.mp4
    │  │      47、创建$route与$router.mp4
    │  │      48、组件渲染1.mp4
    │  │      49、组件渲染2.mp4
    │  │      4、路由嵌套.mp4
    │  │      50、组件渲染完成.mp4
    │  │      5、动态匹配路由的基本用法.mp4
    │  │      6、路由组件传递参数.mp4
    │  │      7、命名路由.mp4
    │  │      8、编程式导航.mp4
    │  │      9、路由案例-渲染根组件.mp4
    │  │      
    │  ├─3-3 Vue响应式原理
    │  │      10、创建Observer类.mp4
    │  │      11、完善defineReactive方法.mp4
    │  │      12、Compiler类结构.mp4
    │  │      13、 compile方法实现.mp4
    │  │      14、compileText方法实现.mp4
    │  │      15、compileElement方法实现.mp4
    │  │      16、Dep类分析.mp4
    │  │      17、创建Dep类.mp4
    │  │      18、创建Watcher类.mp4
    │  │      19、创建Watcher对象.mp4
    │  │      1、课程目标.mp4
    │  │      20、创建Watcher对象2.mp4
    │  │      21、实现双向数据绑定.mp4
    │  │      22、响应式的问题.mp4
    │  │      2、数据驱动介绍.mp4
    │  │      3、defineProperty基本使用.mp4
    │  │      4、defineProperty使用2.mp4
    │  │      5、Vue3响应式原理.mp4
    │  │      6、发布订阅模式介绍.mp4
    │  │      7、发布订阅模式实现.mp4
    │  │      8、观察者模式.mp4
    │  │      9、模拟Vue响应式原理.mp4
    │  │      
    │  ├─3-4 Vue虚拟DOM
    │  │      10、h函数介绍.mp4
    │  │      11、Vnode函数.mp4
    │  │      12、虚拟DOM创建过程.mp4
    │  │      13、patch函数执行过程介绍.mp4
    │  │      14、init函数源码查看.mp4
    │  │      15、patch函数源码查看.mp4
    │  │      16、调试patch函数.mp4
    │  │      17、createElm函数源码解读.mp4
    │  │      18、addVnodes和removeVnodes方法.mp4
    │  │      19、patchVnode方法执行流程.mp4
    │  │      1、课程目标.mp4
    │  │      20、patchVode方法源码分析.mp4
    │  │      21、diff算法比较流程1.mp4
    │  │      22、diff算法比较2.mp4
    │  │      23、diff算法比较3.mp4
    │  │      24、diff算法比较4.mp4
    │  │      25、updateChildren方法源码分析1.mp4
    │  │      26、updateChildren方法源码分析2.mp4
    │  │      27、钩子函数介绍.mp4
    │  │      28、模块源码分析.mp4
    │  │      29、模块调用的时机分析.mp4
    │  │      2、虚拟DOM介绍.mp4
    │  │      3、为什么使用Virtual DOM.mp4
    │  │      4、虚拟DOM的作用.mp4
    │  │      5、创建项目.mp4
    │  │      6、Snabbdom导入.mp4
    │  │      7、Snabbdom的基本使用.mp4
    │  │      8、 Snabbdom的基本使用2.mp4
    │  │      9、模块的基本使用.mp4
    │  │      
    │  ├─3-5 Vuex状态管理
    │  │      10、Module应用.mp4
    │  │      11、Vuex严格模式.mp4
    │  │      12、购物车案例介绍.mp4
    │  │      13、商品列表.mp4
    │  │      14、添加购物车.mp4
    │  │      15、购物车列表展示.mp4
    │  │      16、计算商品数量与价格.mp4
    │  │      17、删除购物车中商品.mp4
    │  │      18、购物车商品展示.mp4
    │  │      19、实现全选功能.mp4
    │  │      1、课程介绍.mp4
    │  │      20、处理文本框.mp4
    │  │      21、实现选中商品的统计功能.mp4
    │  │      22、存储购物车中的商品数据.mp4
    │  │      23、模拟Vuex上.mp4
    │  │      24、模拟Vuex下.mp4
    │  │      25、总结.mp4
    │  │      2、状态管理介绍.mp4
    │  │      3、简易的状态管理.mp4
    │  │      4、Vuex介绍.mp4
    │  │      5、Vuex核心概念.mp4
    │  │      6、State应用.mp4
    │  │      7、Getters应用.mp4
    │  │      8、Mutation应用.mp4
    │  │      9、Action应用.mp4
    │  │      
    │  └─3-6 Vue服务端渲染
    │          10、路由导航.mp4
    │          11、动态路由.mp4
    │          12、嵌套路由.mp4
    │          13、获取异步数据.mp4
    │          14、获取异步数据2.mp4
    │          15、上下文对象.mp4
    │          16、渲染Vue实例.mp4
    │          17、创建web服务器.mp4
    │          18、模板使用.mp4
    │          19、向模板中传递数据.mp4
    │          1、服务端渲染介绍.mp4
    │          20、问题说明.mp4
    │          21、创建目录结构.mp4
    │          22、Webpack配置1.mp4
    │          23、Webpack配置2.mp4
    │          24、配置构建命令.mp4
    │          25、测试打包.mp4
    │          26、实现客户端交互.mp4
    │          27、解析渲染的流程.mp4
    │          2、渲染的概念.mp4
    │          3、传统服务端渲染.mp4
    │          4、客户端渲染介绍.mp4
    │          5、客户端渲染问题描述.mp4
    │          6、什么是同构渲染.mp4
    │          7、同构渲染的问题.mp4
    │          8、初始化NuxtJS项目.mp4
    │          9、基本路由规则.mp4
    │          
    └─阶段作业 就业指导-试卷
            微信小程序-试卷.docx
            
V-3771:黑马前端V7.6
    ├─01、阶段一 前端开发基础
    │  ├─01、第一章 HTML+CSS课前导学
    │  │  └─1-1 HTML+CSS课程导学
    │  │          01-阶段介绍.mp4
    │  │          
    │  ├─02、第二章 HTML
    │  │  ├─2-1 HTML初识
    │  │  │      02-今日课程介绍.mp4
    │  │  │      03-初识-网页组成和本质.mp4
    │  │  │      04-了解-初识-浏览器.mp4
    │  │  │      05-初识-web标准.mp4
    │  │  │      06-HTML感知.mp4
    │  │  │      
    │  │  ├─2-2 HTML注释和标签
    │  │  │      07-HTML骨架.mp4
    │  │  │      08-vscode-简介.mp4
    │  │  │      09-vscode-使用.mp4
    │  │  │      10-注释.mp4
    │  │  │      11-HTML标签组成.mp4
    │  │  │      12-HTML标签关系.mp4
    │  │  │      13-HTML标签学习路径.mp4
    │  │  │      
    │  │  ├─2-3 HTML常用标签
    │  │  │      14-标题标签.mp4
    │  │  │      15-段落标签.mp4
    │  │  │      16-换行和水平线标签.mp4
    │  │  │      17-文本格式化标签.mp4
    │  │  │      18-图片-基本使用.mp4
    │  │  │      19-图片-属性.mp4
    │  │  │      
    │  │  ├─2-4 绝对路径+相对路径
    │  │  │      20-绝对路径.mp4
    │  │  │      21-相对路径-同级.mp4
    │  │  │      22-相对路径-下级.mp4
    │  │  │      23-相对路径-上级.mp4
    │  │  │      
    │  │  ├─2-5 HTML其它标签
    │  │  │      24-音频标签.mp4
    │  │  │      25-视频标签.mp4
    │  │  │      26-链接.mp4
    │  │  │      27-链接-新窗口.mp4
    │  │  │      28-综合案例-招聘.mp4
    │  │  │      29-综合案例-跳转-index.mp4
    │  │  │      30-综合案例-跳转-其他页面.mp4
    │  │  │      
    │  │  ├─2-6 列表和表格
    │  │  │      01-课程介绍.mp4
    │  │  │      02-列表-使用场景.mp4
    │  │  │      03-列表-无序.mp4
    │  │  │      04-列表-有序.mp4
    │  │  │      05-列表-自定义.mp4
    │  │  │      06-表格-基本使用.mp4
    │  │  │      07-表格-属性.mp4
    │  │  │      08-表格-表格标题和表头单元格.mp4
    │  │  │      09-表格-结构标签.mp4
    │  │  │      10-表格-合并单元格.mp4
    │  │  │      
    │  │  ├─2-7 表单和综合案例
    │  │  │      11-表单-应用场景.mp4
    │  │  │      12-表单-input基本使用.mp4
    │  │  │      13-表单-input-占位符(提示信息).mp4
    │  │  │      14-表单-单选功能和默认选中.mp4
    │  │  │      15-表单-上传多个文件.mp4
    │  │  │      16-表单-按钮-input.mp4
    │  │  │      17-表单-按钮button.mp4
    │  │  │      18-表单-下拉菜单.mp4
    │  │  │      19-表单-文本域.mp4
    │  │  │      20-表单-label标签.mp4
    │  │  │      
    │  │  └─2-8 综合案例
    │  │          21-没有语义div和span.mp4
    │  │          22-有语义-手机端常用标签.mp4
    │  │          23-字符实体.mp4
    │  │          24-综合案例-学生信息表.mp4
    │  │          25-综合案例-表单.mp4
    │  │          
    │  ├─03、第三章 CSS
    │  │  ├─3-1 CSS初识和CSS基本选择器
    │  │  │      01-课程介绍.mp4
    │  │  │      02-体验css.mp4
    │  │  │      03-CSS引入方式.mp4
    │  │  │      04-选择器-标签.mp4
    │  │  │      05-选择器-类.mp4
    │  │  │      06-选择器-id.mp4
    │  │  │      07-选择器-通配符.mp4
    │  │  │      
    │  │  ├─3-10 CSS优先级
    │  │  │      01-课程介绍.mp4
    │  │  │      02-优先级-基本测试.mp4
    │  │  │      03-优先级-叠加计算.mp4
    │  │  │      04-优先级-计算题.mp4
    │  │  │      
    │  │  ├─3-11 调试工具 + PxCook
    │  │  │      05-谷歌-排错.mp4
    │  │  │      06-PxCook.mp4
    │  │  │      
    │  │  ├─3-12 CSS盒模型(上)
    │  │  │      07-盒子模型-组成.mp4
    │  │  │      08-盒子模型-浏览器效果.mp4
    │  │  │      09-盒子模型-内容width和height.mp4
    │  │  │      10-盒子模型-border-复合写法.mp4
    │  │  │      11-盒子模型-border-某个方向.mp4
    │  │  │      12-盒子模型-尺寸计算-border.mp4
    │  │  │      
    │  │  ├─3-13 CSS盒模型+综合案例【新浪导航】
    │  │  │      13-盒子模型-案例.mp4
    │  │  │      14-新浪导航-布局div.mp4
    │  │  │      15-新浪导航-内容a.mp4
    │  │  │      16-盒子模型-padding-多值.mp4
    │  │  │      17-盒子模型-尺寸-border和padding.mp4
    │  │  │      18-新浪导航-padding优化.mp4
    │  │  │      
    │  │  ├─3-14 CSS盒模型(下)
    │  │  │      19-盒子模型-內减模式.mp4
    │  │  │      20-盒子模型-外边距.mp4
    │  │  │      21-清除默认样式.mp4
    │  │  │      22-版心居中.mp4
    │  │  │      
    │  │  ├─3-15 综合案例【新闻列表】
    │  │  │      23-综合案例-新闻列表-div布局.mp4
    │  │  │      24-综合案例-新闻列表-标题.mp4
    │  │  │      25-综合案例-新闻列表-内容.mp4
    │  │  │      
    │  │  ├─3-16 外边距合并和塌陷
    │  │  │      26-外边距合并.mp4
    │  │  │      27-外边距-塌陷.mp4
    │  │  │      28-行内元素的垂直内外边距.mp4
    │  │  │      
    │  │  ├─3-17 伪类和伪元素
    │  │  │      01-课程介绍.mp4
    │  │  │      02-结构伪类-基本用法.mp4
    │  │  │      03-结构伪类-公式.mp4
    │  │  │      04-结构伪类-易错点.mp4
    │  │  │      05-伪元素.mp4
    │  │  │      
    │  │  ├─3-18 浮动
    │  │  │      06-标准流.mp4
    │  │  │      07-浮动-体验行内块问题.mp4
    │  │  │      08-浮动-作用.mp4
    │  │  │      09-浮动-特点.mp4
    │  │  │      
    │  │  ├─3-19 综合案例
    │  │  │      10-综合案例-小米布局.mp4
    │  │  │      11-拓展-CSS属性顺序.mp4
    │  │  │      12-综合案例-小米产品-左右结构.mp4
    │  │  │      13-综合案例-小米产品-li.mp4
    │  │  │      14-综合案例-导航.mp4
    │  │  │      
    │  │  ├─3-2 font字体
    │  │  │      08-文字-字号.mp4
    │  │  │      09-文字-粗细.mp4
    │  │  │      10-文字-倾斜.mp4
    │  │  │      11-文字-字体.mp4
    │  │  │      12-拓展-层叠性.mp4
    │  │  │      13-font复合属性.mp4
    │  │  │      
    │  │  ├─3-20 清除浮动
    │  │  │      15-清除浮动-场景搭建.mp4
    │  │  │      16-清除浮动-额外标签.mp4
    │  │  │      17-清除浮动-单伪元素.mp4
    │  │  │      18-清除浮动-双伪元素.mp4
    │  │  │      19-清除浮动-overflow.mp4
    │  │  │      
    │  │  ├─3-21 学成在线项目
    │  │  │      01-准备工作.mp4
    │  │  │      02-版心效果.mp4
    │  │  │      03-清除工作.mp4
    │  │  │      04-header布局.mp4
    │  │  │      05-logo和nav布局.mp4
    │  │  │      06-nav-内容布局.mp4
    │  │  │      07-nav-文字样式.mp4
    │  │  │      08-搜索-布局和文本框.mp4
    │  │  │      09-搜索-按钮.mp4
    │  │  │      11-banner-布局.mp4
    │  │  │      12-banner-left完成.mp4
    │  │  │      13-banner-right-标题.mp4
    │  │  │      14-banner-right-内容.mp4
    │  │  │      15-banner-right-全部课程.mp4
    │  │  │      16-精品推荐-布局.mp4
    │  │  │      17-精品推荐-内容.mp4
    │  │  │      18-精品课程-标题.mp4
    │  │  │      19-精品课程-li布局.mp4
    │  │  │      20-精品课程-课程产品.mp4
    │  │  │      21-版权区域-布局.mp4
    │  │  │      22-版权区域-内容.mp4
    │  │  │      
    │  │  ├─3-22 CSS定位(上)
    │  │  │      01-课程介绍.mp4
    │  │  │      02-定位的作用.mp4
    │  │  │      03-定位的使用步骤.mp4
    │  │  │      04-了解-定位-静态.mp4
    │  │  │      05-定位-相对relative.mp4
    │  │  │      06-了解-定位-注意事项.mp4
    │  │  │      07-定位-绝对absolute-参照浏览器.mp4
    │  │  │      08-定位-子绝父相.mp4
    │  │  │      
    │  │  ├─3-23 CSS定位(下)
    │  │  │      09-案例-学成在线-hot.mp4
    │  │  │      10-定位-居中.mp4
    │  │  │      11-定位-位移居中.mp4
    │  │  │      12-案例-二维码.mp4
    │  │  │      13-案例-banne.mp4
    │  │  │      14-定位-固定.mp4
    │  │  │      15-定位-显示层级.mp4
    │  │  │      
    │  │  ├─3-24 CSS进阶
    │  │  │      16-vertical-align-01.mp4
    │  │  │      17-vertical-align-02.mp4
    │  │  │      18-光标类型.mp4
    │  │  │      19-圆角边框-基本使用.mp4
    │  │  │      20-圆角边框-工作场景.mp4
    │  │  │      21-溢出显示效果-overflow.mp4
    │  │  │      22-显示隐藏-基本使用.mp4
    │  │  │      23-案例-二维码显示隐藏.mp4
    │  │  │      24-透明属性opacity.mp4
    │  │  │      25-表格-边框合并.mp4
    │  │  │      26-拓展-CSS-三角形.mp4
    │  │  │      27-拓展-获得焦点伪类选择器.mp4
    │  │  │      28-拓展-属性选择器.mp4
    │  │  │      
    │  │  ├─3-3 文本样式和CSS样式表
    │  │  │      14-文本缩进.mp4
    │  │  │      15-水平对齐方式-文字.mp4
    │  │  │      16-水平对齐方式-图片.mp4
    │  │  │      17-文本修饰线.mp4
    │  │  │      18-行高-基本使用.mp4
    │  │  │      19-font复合属性-行高.mp4
    │  │  │      20-行高-垂直居中.mp4
    │  │  │      
    │  │  ├─3-4 Chrome调试工具
    │  │  │      21-谷歌调试工具.mp4
    │  │  │      22-拓展-颜色取值.mp4
    │  │  │      23-拓展-标签居中.mp4
    │  │  │      
    │  │  ├─3-5 综合案例【新闻页面】
    │  │  │      24-综合案例-div居中.mp4
    │  │  │      25-综合案例1-新闻-标题.mp4
    │  │  │      26-综合案例1-新闻-内容.mp4
    │  │  │      27-综合案例2-产品-div布局.mp4
    │  │  │      28-综合案例2-产品-图片效果.mp4
    │  │  │      29-综合案例2-产品-文字效果.mp4
    │  │  │      
    │  │  ├─3-6 CSS复合选择器+emmet语法
    │  │  │      01-课程介绍.mp4
    │  │  │      02-选择器-后代.mp4
    │  │  │      03-选择器-子代.mp4
    │  │  │      04-选择器-并集.mp4
    │  │  │      05-选择器-交集.mp4
    │  │  │      06-选择器-伪类.mp4
    │  │  │      07-emmet语法.mp4
    │  │  │      
    │  │  ├─3-7 CSS背景
    │  │  │      08-背景-背景色.mp4
    │  │  │      09-背景-背景图.mp4
    │  │  │      10-背景-背景平铺.mp4
    │  │  │      11-背景-背景位置.mp4
    │  │  │      12-背景-background.mp4
    │  │  │      13-背景图和img的区别.mp4
    │  │  │      
    │  │  ├─3-8 元素显示模式及转换
    │  │  │      14-显示模式-块.mp4
    │  │  │      15-显示模式-行内.mp4
    │  │  │      16-显示模式-行内块.mp4
    │  │  │      17-显示模式-转换.mp4
    │  │  │      18-拓展-标签嵌套.mp4
    │  │  │      
    │  │  └─3-9 CSS三大特性+综合案例
    │  │          19-CSS特性-继承性.mp4
    │  │          20-CSS特性-继承性-注意点.mp4
    │  │          21-CSS特性-层叠性.mp4
    │  │          22-综合案例1.mp4
    │  │          23-综合案例2-思路.mp4
    │  │          24-综合案例2-实现.mp4
    │  │          
    │  └─04、第四章 企业级小兔鲜儿电商项目首页制作
    │      ├─4-1 精灵图
    │      │      01-课程介绍.mp4
    │      │      02-css精灵-作用.mp4
    │      │      03-css精灵-基本用法.mp4
    │      │      04-css精灵-灵活使用.mp4
    │      │      
    │      ├─4-2 CSS样式补充
    │      │      05-背景图缩放.mp4
    │      │      06-拓展-背景图缩放-复合写法.mp4
    │      │      07-盒子阴影.mp4
    │      │      08-过渡.mp4
    │      │      
    │      ├─4-3 项目前置知识
    │      │      09-网页与网站.mp4
    │      │      10-骨架标签.mp4
    │      │      11-SEO.mp4
    │      │      12-favicon-标题图标.mp4
    │      │      
    │      ├─4-4 header区域布局
    │      │      13-项目目录.mp4
    │      │      14-项目代码准备.mp4
    │      │      15-快捷导航-布局.mp4
    │      │      16-快捷导航-内容.mp4
    │      │      17-header-布局.mp4
    │      │      18-logo-优化方案.mp4
    │      │      
    │      ├─4-5 导航模块布局
    │      │      19-导航.mp4
    │      │      20-搜索-文本框.mp4
    │      │      21-搜索-放大镜.mp4
    │      │      22-购物车.mp4
    │      │      
    │      ├─4-6 版权区域布局
    │      │      23-版权-布局.mp4
    │      │      24-版权-top列表-布局.mp4
    │      │      25-版权-li内容.mp4
    │      │      26-版权-li精灵图.mp4
    │      │      27-版权底部.mp4
    │      │      
    │      ├─4-7 banner区域布局
    │      │      01-banner-图.mp4
    │      │      02-banner-侧导航-布局.mp4
    │      │      03-banner-侧导航-文字内容.mp4
    │      │      04-banner-箭头-布局.mp4
    │      │      05-banner-箭头-精灵图.mp4
    │      │      06-banner-圆点.mp4
    │      │      
    │      ├─4-8 新鲜好物区域布局
    │      │      07-新鲜好物-标题.mp4
    │      │      08-新鲜好物-内容-布局.mp4
    │      │      09-新鲜好物-内容完成.mp4
    │      │      10-新鲜好物-新品文字.mp4
    │      │      
    │      └─4-9 生鲜区域布局
    │              11-生鲜-标题-布局.mp4
    │              12-生鲜-标题-h和more.mp4
    │              13-生鲜-标题-ul.mp4
    │              14-生鲜-内容-布局.mp4
    │              小兔鲜儿项目视频补充说明.mp4
    │              
    ├─02、阶段二 移动Web网页开发
    │  ├─01、第一章 移动web开发课前导学
    │  │  └─1-1 移动web阶段课前导学
    │  │          01-阶段课程介绍.mp4
    │  │          
    │  ├─02、第二章 2D&3D 转换与动画
    │  │  ├─2-1 字体图标
    │  │  │      02-今日课程介绍.mp4
    │  │  │      03-字体图标-简介.mp4
    │  │  │      04-字体图标-下载.mp4
    │  │  │      05-字体图标-基本使用.mp4
    │  │  │      06-字体图标-修改样式.mp4
    │  │  │      07-案例-购物车.mp4
    │  │  │      08-字体图标-svg-上传.mp4
    │  │  │      
    │  │  ├─2-2 2D转换-位移
    │  │  │      08-平面转换-介绍.mp4
    │  │  │      09-平面转换-位移.mp4
    │  │  │      10-平面转换-位移-技巧.mp4
    │  │  │      11-平面转换-定位盒子居中.mp4
    │  │  │      12-案例-双开门-布局.mp4
    │  │  │      13-案例-双开门-hover效果.mp4
    │  │  │      
    │  │  ├─2-3 2D转换-旋转+缩放
    │  │  │      14-平面转换旋.mp4
    │  │  │      15-平面转换-转换原点.mp4
    │  │  │      16-平面转换-多重转换.mp4
    │  │  │      17-平面转换-缩放.mp4
    │  │  │      18-案例-缩放.mp4
    │  │  │      19-案例-缩放-注意点-层叠性.mp4
    │  │  │      
    │  │  ├─2-4 渐变
    │  │  │      20-渐变.mp4
    │  │  │      21-案例-渐变.mp4
    │  │  │      22-综合案例-华为-结构分析.mp4
    │  │  │      23-综合案例-华为-mask.mp4
    │  │  │      24-综合案例-华为-hover效果.mp4
    │  │  │      
    │  │  ├─2-5 3D转换-位移和透视
    │  │  │      01-今日课程介绍.mp4
    │  │  │      02-空间转换-简介.mp4
    │  │  │      03-空间转换-位移.mp4
    │  │  │      04-空间转换-透视属性.mp4
    │  │  │      05-空间转换-透视属性-原理.mp4
    │  │  │      
    │  │  ├─2-6 3D转换-旋转+立体呈现
    │  │  │      06-空间转换-rotateZ.mp4
    │  │  │      07-空间转换-rotateX.mp4
    │  │  │      08-空间转换-rotateY.mp4
    │  │  │      09-空间转换-左手法则.mp4
    │  │  │      10-空间转换-rotate3d-了解.mp4
    │  │  │      11-空间转换-立体呈现.mp4
    │  │  │      
    │  │  ├─2-7 3D导航案例
    │  │  │      12-3d导航-结构分析.mp4
    │  │  │      13-3d导航-搭建立方体.mp4
    │  │  │      14-3d导航-hover.mp4
    │  │  │      15-上午回顾.mp4
    │  │  │      16-空间转换-缩放.mp4
    │  │  │      
    │  │  ├─2-8 CSS3动画
    │  │  │      17-动画-简介.mp4
    │  │  │      18-动画-from..to.mp4
    │  │  │      19-动画-百分比.mp4
    │  │  │      20-动画-animation复合属性01.mp4
    │  │  │      21-动画-animation复合属性02.mp4
    │  │  │      22-动画-animation拆分写法.mp4
    │  │  │      23-动画-逐帧动画-简介.mp4
    │  │  │      24-动画-逐帧动画-实现.mp4
    │  │  │      25-动画-多组动画.mp4
    │  │  │      
    │  │  └─2-9 CSS3动画案例
    │  │          26-综合案例-走马灯.mp4
    │  │          27-综合案例-全民出游-背景大图.mp4
    │  │          28-综合案例-全民出游-云彩-布局.mp4
    │  │          29-综合案例-全民出游-云彩-动画.mp4
    │  │          
    │  ├─03、第三章 移动端布局
    │  │  ├─3-1 移动端基础知识
    │  │  │      01-课程介绍.mp4
    │  │  │      02-课程知识介绍.mp4
    │  │  │      03-PC和移动网页不同点.mp4
    │  │  │      04-谷歌模拟器.mp4
    │  │  │      05-分辨率.mp4
    │  │  │      06-代码参考分辨率-逻辑.mp4
    │  │  │      07-视口.mp4
    │  │  │      08-二倍图.mp4
    │  │  │      09-百分比布局.mp4
    │  │  │      
    │  │  ├─3-2 Flex伸缩布局(一)
    │  │  │      11-Flex-体验.mp4
    │  │  │      12-Flex-简介.mp4
    │  │  │      13-Flex-组成.mp4
    │  │  │      14-Flex-主轴对齐方式.mp4
    │  │  │      15-Flex侧轴对齐方式.mp4
    │  │  │      16-Flex-单独控制某个盒子侧轴对齐方式.mp4
    │  │  │      17-Flex-弹性盒子尺寸特点.mp4
    │  │  │      18-Flex-弹性伸缩比.mp4
    │  │  │      
    │  │  ├─3-3 小兔鲜儿移动端
    │  │  │      01-课程介绍.mp4
    │  │  │      02-小兔鲜儿-商品-布局.mp4
    │  │  │      03-小兔鲜儿-商品-数量.mp4
    │  │  │      04-小兔鲜儿-商品-描述.mp4
    │  │  │      05-小兔鲜儿-其他信息-布局.mp4
    │  │  │      19-小兔鲜儿-确认订单-准备工作.mp4
    │  │  │      20-小兔鲜儿-确认订单-整体布局.mp4
    │  │  │      21-小兔鲜儿-确认订单-底部支付-布局.mp4
    │  │  │      22-小兔鲜儿-确认订单-底部支付-左侧.mp4
    │  │  │      23-小兔鲜儿-确认订单-底部支付-右侧.mp4
    │  │  │      24-小兔鲜儿-确认订单-用户信息-整体布局.mp4
    │  │  │      25-小兔鲜儿-确认订单-用户信息-内容布局.mp4
    │  │  │      26-小兔鲜儿-确认订单-用户信息-文字内容.mp4
    │  │  │      目录如此无缺失.txt
    │  │  │      
    │  │  ├─3-4 Flex伸缩布局(二
    │  │  │      06-小兔鲜儿-其他信息-内容.mp4
    │  │  │      07-Flex-修改主轴方向.mp4
    │  │  │      08-Flex-主轴方向和对齐方式.mp4
    │  │  │      09-Flex-弹性盒子换行.mp4
    │  │  │      10-Flex-调整行对齐方式.mp4
    │  │  │      
    │  │  ├─3-5 小兔鲜儿PC端
    │  │  │      11-小兔鲜儿-pc-项目介绍.mp4
    │  │  │      12-小兔鲜儿-pc-背景.mp4
    │  │  │      13-小兔鲜儿-pc-内容布局.mp4
    │  │  │      14-小兔鲜儿-pc-账户概览-布局.mp4
    │  │  │      15-小兔鲜儿-pc-账户概览-内容.mp4
    │  │  │      16-小兔鲜儿-pc-账户概览-图片尺寸.mp4
    │  │  │      17-小兔鲜儿-pc-公共面板-布局.mp4
    │  │  │      18-小兔鲜儿-pc-公共面板-文字样式.mp4
    │  │  │      19-小兔鲜儿-pc-订单-li布局.mp4
    │  │  │      20-小兔鲜儿-pc-订单-内容布局.mp4
    │  │  │      21-小兔鲜儿-pc-订单-goods.mp4
    │  │  │      22-小兔鲜儿-pc-订单-goods-省略号.mp4
    │  │  │      23-小兔鲜儿-pc-订单-common.mp4
    │  │  │      
    │  │  ├─3-6 rem移动端适配
    │  │  │      01-移动适配.mp4
    │  │  │      02-今日课程介绍.mp4
    │  │  │      03-体验rem移动适配.mp4
    │  │  │      04-rem-基本使用.mp4
    │  │  │      05-rem-媒体查询.mp4
    │  │  │      06-rem-移动适配.mp4
    │  │  │      07-rem-布局流程.mp4
    │  │  │      08-rem-flexible移动适配.mp4
    │  │  │      
    │  │  ├─3-7 Less
    │  │  │      09-Less-体验.mp4
    │  │  │      10-Less-简介.mp4
    │  │  │      11-Less-EasyLess插件.mp4
    │  │  │      12-Less-注释.mp4
    │  │  │      13-Less-计算.mp4
    │  │  │      14-Less-嵌套.mp4
    │  │  │      15-Less-变量.mp4
    │  │  │      16-Less-导入.mp4
    │  │  │      17-Less-导出-插件配置.mp4
    │  │  │      18-Less-导出-单独路径.mp4
    │  │  │      19-Less-禁止导出.mp4
    │  │  │      
    │  │  ├─3-8 游乐园项目
    │  │  │      01-游乐园-活动-字体图标.mp4
    │  │  │      02-游乐园-活动-状态-蓝色.mp4
    │  │  │      03-游乐园-活动-状态-灰色.mp4
    │  │  │      04-游乐园-活动-文字-top.mp4
    │  │  │      05-游乐园-活动-文字-bottom.mp4
    │  │  │      06-游乐园-活动-内容复制.mp4
    │  │  │      07-游乐园-活动-底部工具栏.mp4
    │  │  │      20-游乐园-项目准备.mp4
    │  │  │      21-游乐园-Less-导入.mp4
    │  │  │      22-游乐园-整体布局.mp4
    │  │  │      23-游乐园-根字号变量.mp4
    │  │  │      24-游乐园-banner区域.mp4
    │  │  │      25-游乐园-活动标题.mp4
    │  │  │      26-游乐园-活动-布局.mp4
    │  │  │      
    │  │  └─3-9 vwvh+B站项目
    │  │          08-vw-体验.mp4
    │  │          09-vh-体验.mp4
    │  │          10-vw-移动适配.mp4
    │  │          11-vh-移动适配.mp4
    │  │          12-vh-全面屏影响.mp4
    │  │          13-B站-获取素材.mp4
    │  │          14-B站-项目准备.mp4
    │  │          15-B站-头部-布局.mp4
    │  │          16-B站-vw变量.mp4
    │  │          17-B站-头部-logo图标.mp4
    │  │          18-B站-头部-right内容.mp4
    │  │          19-B站-头部-更多.mp4
    │  │          20-B站.mp4
    │  │          21-B站-头部-tab.mp4
    │  │          22-B站-视频-布局.mp4
    │  │          23-B站-视频-思路.mp4
    │  │          24-B站-视频-介绍文字.mp4
    │  │          25-B站-视频-数量统计.mp4
    │  │          26-B站-视频-弹性盒子换行.mp4
    │  │          27-B站-头部-层级和背景色.mp4
    │  │          
    │  └─04、第四章 响应式布局
    │      ├─4-1 媒体查询
    │      │      01-课程介绍.mp4
    │      │      02-媒体查询-max-min-width.mp4
    │      │      03-媒体查询-书写顺序.mp4
    │      │      04-了解-媒体查询-完整写法.mp4
    │      │      05-媒体查询-link写法.mp4
    │      │      06-媒体查询-隐藏.mp4
    │      │      
    │      ├─4-2 Bootstrap
    │      │      07-bootstrap-体验.mp4
    │      │      08-bootstrap-简介.mp4
    │      │      09-bootstrap-下载.mp4
    │      │      11-bootstrap-栅格系统-原理.mp4
    │      │      12-bootstrap-栅格系统-代码.mp4
    │      │      13-bootstrap-栅格系统-其他类名.mp4
    │      │      14-bootstrap-介绍.mp4
    │      │      15-bootstrap-表格.mp4
    │      │      16-bootstrap-按钮.mp4
    │      │      17-bootstrap-组件.mp4
    │      │      18-bootstrap-字体图标.mp4
    │      │      19-bootstrap-插件-下拉菜单.mp4
    │      │      20-bootstrap-插件-轮播图.mp4
    │      │      
    │      └─4-3 AlloyTeam项目
    │              21-AlloyTeam-项目准备.mp4
    │              22-AlloyTeam-banner图-高度.mp4
    │              23-AlloyTeam-头部-组件.mp4
    │              24-AlloyTeam-头部-样式.mp4
    │              25-bootstrap-定制-项目导航.mp4
    │              26-AlloyTeam-开源项目-标题文字.mp4
    │              27-AlloyTeam-开源项目-栅格布局.mp4
    │              28-AlloyTeam-开源项目-内容.mp4
    │              29-bootstrap-全局样式.mp4
    │              
    ├─03、阶段三 JavaScript网页编程
    │  ├─01、第一章 JavaScript网页编程课前导学
    │  │  └─1-1 JavaScript网页编程课前导学
    │  │          第三阶段课前导学.mp4
    │  │          
    │  ├─02、第二章 JavaScript 基础
    │  │  ├─2-1 Javascript介绍
    │  │  │      02-js是什么.mp4
    │  │  │      03-体验js.mp4
    │  │  │      04-javascript书写位置.mp4
    │  │  │      05-js注释和js结束符.mp4
    │  │  │      06-输入和输出语法.mp4
    │  │  │      
    │  │  ├─2-10 Javascript作用域
    │  │  │      17-作用域.mp4
    │  │  │      18-变量的作用域.mp4
    │  │  │      19-变量的两种特殊情况.mp4
    │  │  │      20-作用域小结以及调试看作用域.mp4
    │  │  │      21-作用域链.mp4
    │  │  │      22-函数表达式.mp4
    │  │  │      23-立即执行函数.mp4
    │  │  │      24-综合案例.mp4
    │  │  │      25-函数参数个数以及复习总结.mp4
    │  │  │      
    │  │  ├─2-11 Javascript对象
    │  │  │      01-复习反馈和今日目标.mp4
    │  │  │      02-函数传参赋值小技巧.mp4
    │  │  │      03-为什么需要对象.mp4
    │  │  │      04-对象使用-定义属性.mp4
    │  │  │      05-对象使用-访问属性.mp4
    │  │  │      06-对象使用-访问方法.mp4
    │  │  │      07-对象方法again.mp4
    │  │  │      08-对象操作.mp4
    │  │  │      09-对象小结.mp4
    │  │  │      10-遍历对象.mp4
    │  │  │      11-遍历对象梳理.mp4
    │  │  │      12-数组对象.mp4
    │  │  │      13-得到数组对象里面的属性值.mp4
    │  │  │      
    │  │  ├─2-12 Javascript内置对象及案例
    │  │  │      14-学生信息表格案例分析.mp4
    │  │  │      15-学生信息表案例打印头部和尾部.mp4
    │  │  │      16-学生信息表案例渲染行.mp4
    │  │  │      17-上午复习.mp4
    │  │  │      18-数学对象取整对象.mp4
    │  │  │      19-数学对象最大值和最小值.mp4
    │  │  │      20-封装随机数函数.mp4
    │  │  │      21-随机点名案例.mp4
    │  │  │      22-随机点名案例改进.mp4
    │  │  │      23-猜数字游戏.mp4
    │  │  │      24-综合案例准备工作.mp4
    │  │  │      25-综合案例填充数据.mp4
    │  │  │      26-简单数据类型和引用数据类型.mp4
    │  │  │      27-数据类型存储方式.mp4
    │  │  │      28-复习和安排.mp4
    │  │  │      
    │  │  ├─2-2 Javascript变
    │  │  │      07-字面量.mp4
    │  │  │      08-变量是什么.mp4
    │  │  │      09-变量的基本使用.mp4
    │  │  │      10-输入用户名案例.mp4
    │  │  │      11-交换变量值案例.mp4
    │  │  │      12-变量的本质.mp4
    │  │  │      13-变量名命名的规范和规则.mp4
    │  │  │      14-let和var的区别.mp4
    │  │  │      
    │  │  ├─2-3 数据类型使用
    │  │  │      15-数组的基本使用.mp4
    │  │  │      16-数字类型.mp4
    │  │  │      17-字符串数据类型.mp4
    │  │  │      18-字符串拼接.mp4
    │  │  │      19-用户输入年龄案例.mp4
    │  │  │      20-上午总结.mp4
    │  │  │      21-模板字符串.mp4
    │  │  │      22-输出用户名和姓名案例.mp4
    │  │  │      23-boolean和undefined和null.mp4
    │  │  │      24-声明变量的注意点.mp4
    │  │  │      25-检测数据类型.mp4
    │  │  │      26-隐式转换.mp4
    │  │  │      27-显式转换-转换为数字型.mp4
    │  │  │      28-显式转换-转换为字符串.mp4
    │  │  │      
    │  │  ├─2-4 案例分析
    │  │  │      29-课堂案例分析.mp4
    │  │  │      30-综合案例分析.mp4
    │  │  │      31-综合案例-商品订单信息上.mp4
    │  │  │      32-综合案例-商品订单信息下.mp4
    │  │  │      33-排错思路和作业安排.mp4
    │  │  │      34-md主题以及md使用.mp4
    │  │  │      
    │  │  ├─2-5 Javascript操作符
    │  │  │      01-反馈和复习和今日内容.mp4
    │  │  │      02-算术运算符.mp4
    │  │  │      03-计算圆的面积.mp4
    │  │  │      04-赋值运算符.mp4
    │  │  │      05-一元运算符.mp4
    │  │  │      06-自增运算符.mp4
    │  │  │      07-面试题.mp4
    │  │  │      08-比较运算符基本使用.mp4
    │  │  │      09-比较运算符的特殊情况.mp4
    │  │  │      10-逻辑运算符简介.mp4
    │  │  │      11-逻辑运算符短路或者逻辑中断.mp4
    │  │  │      12-逻辑中断案例.mp4
    │  │  │      13-运算符优先级.mp4
    │  │  │      14-运算符优先级练习.mp4
    │  │  │      
    │  │  ├─2-6 Javascript流程控制及案例
    │  │  │      15-表达式和语句.mp4
    │  │  │      16-语句的三种分类.mp4
    │  │  │      17-分支语句单分支语句.mp4
    │  │  │      18-双分支语句以及案例.mp4
    │  │  │      19-分时问候案例.mp4
    │  │  │      20-上午总结.mp4
    │  │  │      21-三运运算符.mp4
    │  │  │      22-数字补0案例.mp4
    │  │  │      23-求最大值.mp4
    │  │  │      24-if尽量写大括号.mp4
    │  │  │      25-switch语句基本使用.mp4
    │  │  │      26-简单计算器.mp4
    │  │  │      27-断点操作.mp4
    │  │  │      28-while循环.mp4
    │  │  │      29-循环的执行过程.mp4
    │  │  │      30-while循环案例求累加和.mp4
    │  │  │      31-while循环案例求1~100偶数累加和.mp4
    │  │  │      32-退出循环.mp4
    │  │  │      33-你爱我吗.mp4
    │  │  │      34-综合案例-简易ATM取款机上.mp4
    │  │  │      35-综合案例-简易ATM取款机下.mp4
    │  │  │      36-复习路线今日作业和总结.mp4
    │  │  │      
    │  │  ├─2-7 Javascript循环及案例
    │  │  │      01-反馈复习和今日内容.mp4
    │  │  │      02-for循环的基本使用.mp4
    │  │  │      03-for循环练习.mp4
    │  │  │      04-for遍历数组.mp4
    │  │  │      05-退出循环continue和break.mp4
    │  │  │      06-循环嵌套的执行过程.mp4
    │  │  │      07-循环单词记忆单词案例.mp4
    │  │  │      08-五行五列的小星星案例.mp4
    │  │  │      09-倒三角形的星星.mp4
    │  │  │      10-99乘法表案例.mp4
    │  │  │      
    │  │  ├─2-8 Javascript数组及冒泡排序
    │  │  │      11-为什么需要数组和数组的使用.mp4
    │  │  │      12-数组求和案例.mp4
    │  │  │      13-数组求和再次梳理.mp4
    │  │  │      14-求数组最大值.mp4
    │  │  │      15-操作数组-查和改.mp4
    │  │  │      16-增加数组元素push.mp4
    │  │  │      17-unshift前面追加元素.mp4
    │  │  │      18-筛选数组案例.mp4
    │  │  │      19-同学分享.mp4
    │  │  │      20-筛选数组去0案例.mp4
    │  │  │      21-删除数组元素.mp4
    │  │  │      22-冒泡排序的原理.mp4
    │  │  │      23-冒泡排序上.mp4
    │  │  │      24-冒泡排序下.mp4
    │  │  │      25-综合案例生成柱形图结构搭建.mp4
    │  │  │      26-综合案例生成柱形图上.mp4
    │  │  │      27-综合案例生成柱形图中.mp4
    │  │  │      28-综合案例生成柱形图下.mp4
    │  │  │      29-作业总结.mp4
    │  │  │      30-md配置图片.mp4
    │  │  │      
    │  │  └─2-9 Javascript函数及应用
    │  │          01-反馈复习和今日目标.mp4
    │  │          02-为什么需要函数.mp4
    │  │          03-函数的使用.mp4
    │  │          04-函数传参.mp4
    │  │          05-逻辑中断.mp4
    │  │          06-求数组总分案例.mp4
    │  │          07-函数为什么需要返回值.mp4
    │  │          08-函数返回值使用.mp4
    │  │          09-利用return求和.mp4
    │  │          10-return小细节.mp4
    │  │          11-封装函数求数组最大值.mp4
    │  │          12-return返回多个值.mp4
    │  │          13-求数组的最大值和最小值.mp4
    │  │          14-答疑问题.mp4
    │  │          15-求2个数的最大值.mp4
    │  │          16-断点调试.mp4
    │  │          
    │  ├─03、第三章 WebAPI
    │  │  ├─3-1 DOM介绍
    │  │  │      01-阶段介绍.mp4
    │  │  │      02-今日目标.mp4
    │  │  │      03-什么是DOM.mp4
    │  │  │      04-DOM对象.mp4
    │  │  │      05-获取元素querySelector.mp4
    │  │  │      06-获取元素queryselectall.mp4
    │  │  │      07-其他获取元素方式.mp4
    │  │  │      
    │  │  ├─3-10 offset、client、scroll三大家族介绍及案例
    │  │  │      01-复习总结今日内容.mp4
    │  │  │      02-手风琴效果.mp4
    │  │  │      03-页面滚动事件.mp4
    │  │  │      04-页面加载事件.mp4
    │  │  │      05-DOMContentLoaded.mp4
    │  │  │      05-scroll家族宽和高.mp4
    │  │  │      06-检测页面滚动距离.mp4
    │  │  │      07-仿新浪返回顶部上.mp4
    │  │  │      08-仿新浪返回顶部下.mp4
    │  │  │      09-解惑.mp4
    │  │  │      10-offset家族.mp4
    │  │  │      11-仿京东固定导航栏做法.mp4
    │  │  │      12-电梯导航案例上.mp4
    │  │  │      13-答疑.mp4
    │  │  │      14-电梯导航案例下.mp4
    │  │  │      15-答疑.mp4
    │  │  │      16-client宽度和resize事件.mp4
    │  │  │      17-三大家族总结.mp4
    │  │  │      18-综合案例-焦点图分析.mp4
    │  │  │      19-综合案例-小图标模块经过事件.mp4
    │  │  │      20-综合案例-大图片对应显示.mp4
    │  │  │      21-综合案例添加描述信息以及答疑.mp4
    │  │  │      22-答疑解惑.mp4
    │  │  │      23-综合案例-右侧按钮开始.mp4
    │  │  │      24-综合案例-右侧按钮无缝衔接.mp4
    │  │  │      25-综合案例解决一个bug.mp4
    │  │  │      27-综合案例-提取公共函数.mp4
    │  │  │      28-综合案例-开启定时器.mp4
    │  │  │      29-综合案例-鼠标经过停止定时器.mp4
    │  │  │      30-总结复习.mp4
    │  │  │      
    │  │  ├─3-11 location、navigator、history对象
    │  │  │      01-复习反馈和今日内容.mp4
    │  │  │      02-window对象学习内容.mp4
    │  │  │      03-BOM浏览器对象模型.mp4
    │  │  │      04-延时函数的基本使用.mp4
    │  │  │      05-5秒钟自动关闭的广告.mp4
    │  │  │      06-递归函数.mp4
    │  │  │      07-利用递归实现setinterval.mp4
    │  │  │      08-两个定时器对比.mp4
    │  │  │      09-js的执行机制.mp4
    │  │  │      10-事件循环.mp4
    │  │  │      11-location.href的使用.mp4
    │  │  │      12-5秒钟之后跳转页面.mp4
    │  │  │      13-location.search.mp4
    │  │  │      14-location.hash.mp4
    │  │  │      15-location.reload方法.mp4
    │  │  │      16-navigator对象.mp4
    │  │  │      17-history对象.mp4
    │  │  │      18-上午总结.mp4
    │  │  │      
    │  │  ├─3-12 HTML5本地存储及案例
    │  │  │      19-swiper插件的基本能使用.mp4
    │  │  │      20-swiper插件的修改.mp4
    │  │  │      21-排错.mp4
    │  │  │      22-本地存储介绍.mp4
    │  │  │      23-localstorage的基本使用.mp4
    │  │  │      24-引用数据类型的存储.mp4
    │  │  │      25-again复习.mp4
    │  │  │      26-综合案例分析.mp4
    │  │  │      27-综合案例-读取本地存储上.mp4
    │  │  │      28-综合案例-读取本地存储下.mp4
    │  │  │      29-综合案例-新增模块.mp4
    │  │  │      30-综合案例再次分析.mp4
    │  │  │      31-综合案例-删除操作.mp4
    │  │  │      32-自定义属性.mp4
    │  │  │      33-综合案例-不允许删除第一条数据.mp4
    │  │  │      34-今日总结.mp4
    │  │  │      
    │  │  ├─3-13 正则表达式及应用
    │  │  │      01-反馈复习和今日内容.mp4
    │  │  │      02-正则表达式简介.mp4
    │  │  │      03-正则表达式的基本使用.mp4
    │  │  │      04-exec方法检索.mp4
    │  │  │      05-边界符.mp4
    │  │  │      06-量词上.mp4
    │  │  │      07-量词下.mp4
    │  │  │      08-元字符字符类[]使用.mp4
    │  │  │      09-用户名验证案例.mp4
    │  │  │      10-用户名案例改变.mp4
    │  │  │      11-字符类点和取反.mp4
    │  │  │      12-字符类里面的预定义类.mp4
    │  │  │      13-正则替换以及过滤敏感词.mp4
    │  │  │      14-上午复习.mp4
    │  │  │      15-综合案例-发送短信验证码案例.mp4
    │  │  │      16-答疑.mp4
    │  │  │      17-change事件.mp4
    │  │  │      18-属性选择器以及用户名验证开始.mp4
    │  │  │      19-综合案例-用户名案例.mp4
    │  │  │      20-综合案例-用户名验证结束.mp4
    │  │  │      21-综合案例-手机号码验证.mp4
    │  │  │      22-综合案例-验证码验.mp4
    │  │  │      23-综合案例-密码验证.mp4
    │  │  │      24-综合案例-我同意模块.mp4
    │  │  │      25-综合案例-提交模块.mp4
    │  │  │      26-综合案例-勾选同意协议.mp4
    │  │  │      27-记住用户名模块.mp4
    │  │  │      28-首页显示用户名.mp4
    │  │  │      29-小结.mp4
    │  │  │      
    │  │  ├─3-2 样式操作案例
    │  │  │      08-修改元素内容.mp4
    │  │  │      09-随机点名案例.mp4
    │  │  │      10-修改元素常见属.mp4
    │  │  │      11-随机图片案例.mp4
    │  │  │      12-修改元素样式属性style.mp4
    │  │  │      13-随机背景案例.mp4
    │  │  │      14-上午总结.mp4
    │  │  │      15-使用className修改元素样式.mp4
    │  │  │      16-使用classList修改元素样式.mp4
    │  │  │      17-修改表单属性.mp4
    │  │  │      18-定时器间歇函数.mp4
    │  │  │      19-用户注册倒计时案例上.mp4
    │  │  │      20-用户注册倒计时案例下.mp4
    │  │  │      21-综合案例分析.mp4
    │  │  │      22-综合案例-焦点图上.mp4
    │  │  │      23-综合案例-焦点图下.mp4
    │  │  │      24-总结和作业安排.mp4
    │  │  │      
    │  │  ├─3-3 随机点名案例
    │  │  │      01-反馈、复习、今天内容.mp4
    │  │  │      02-事件监听.mp4
    │  │  │      03-淘宝关闭二维码.mp4
    │  │  │      04-随机点名简洁版1.mp4
    │  │  │      05-排错思路.mp4
    │  │  │      06-随机点名简洁版2.mp4
    │  │  │      07-随机点名案例1.mp4
    │  │  │      08-随机点名案例2.mp4
    │  │  │      09-复习和扩展.mp4
    │  │  │      
    │  │  ├─3-4 小米搜索案例
    │  │  │      10-事件类型.mp4
    │  │  │      11-小米搜索框案例.mp4
    │  │  │      12-补充.mp4
    │  │  │      13-微博输入案例.mp4
    │  │  │      14-全选按钮上.mp4
    │  │  │      15-全选按钮案例更改文字.mp4
    │  │  │      16-解惑.mp4
    │  │  │      17-绑定多个事件.mp4
    │  │  │      18-全选按钮下.mp4
    │  │  │      19-答疑.mp4
    │  │  │      20-购物车加减案例.mp4
    │  │  │      21-高阶函数–回调函数.mp4
    │  │  │      22-环境对象this.mp4
    │  │  │      
    │  │  ├─3-5 tab栏切切换案例
    │  │  │      23-排他思想.mp4
    │  │  │      24-更好的切换思路.mp4
    │  │  │      25-综合案例-tab栏切换分析.mp4
    │  │  │      26-综合案例-tab切换上.mp4
    │  │  │      27-答疑.mp4
    │  │  │      28-综合案例-tab切换下.mp4
    │  │  │      29-总结和作业.mp4
    │  │  │      
    │  │  ├─3-6 节点操作及学成案例
    │  │  │      01-复习反馈和今日目标.mp4
    │  │  │      02-DOM节点.mp4
    │  │  │      03-查找父节点.mp4
    │  │  │      04-同学分享.mp4
    │  │  │      05-关闭多个二维码案例.mp4
    │  │  │      06-获取子节点.mp4
    │  │  │      07-查找兄弟节点.mp4
    │  │  │      08-创建和追加节点appendChild.mp4
    │  │  │      09-insertBefore追加节点.mp4
    │  │  │      10-学成在线案例创建小li.mp4
    │  │  │      11-学成在线案例填充数据.mp4
    │  │  │      12-克隆节点.mp4
    │  │  │      13-删除节点.mp4
    │  │  │      14-上午总结.mp4
    │  │  │      
    │  │  ├─3-7 微博发布案例
    │  │  │      15-实例化时间对象.mp4
    │  │  │      16-时间对象的方法.mp4
    │  │  │      17-页面显示时间.mp4
    │  │  │      18-答疑以及取消1秒空白.mp4
    │  │  │      19-时间戳.mp4
    │  │  │      20-下班时间倒计时上.mp4
    │  │  │      21-下班倒计时中.mp4
    │  │  │      22-下班倒计时.mp4
    │  │  │      23-时间对象小结.mp4
    │  │  │      24-微博发布案例-输入字符数量.mp4
    │  │  │      25-微博发布案例-输入内容不能为空.mp4
    │  │  │      26-微博发布案例-添加数据上.mp4
    │  │  │      27-微博发布案例-填充数据.mp4
    │  │  │      28-微博发布案例-删除操作.mp4
    │  │  │      29-重绘和重排以及作业安排.mp4
    │  │  │      
    │  │  ├─3-8 购物车案例
    │  │  │      01-复习反馈今日学习.mp4
    │  │  │      02-购物车-加号操作.mp4
    │  │  │      03-购物车-小计模块.mp4
    │  │  │      04-购物车-减号模块.mp4
    │  │  │      05-购物车-总价模块.mp4
    │  │  │      06-购物车-删除模块.mp4
    │  │  │      07-作用域的问题.mp4
    │  │  │      08-事件对象.mp4
    │  │  │      09-常用属性.mp4
    │  │  │      10-鼠标跟随图片.mp4
    │  │  │      11-小结.mp4
    │  │  │      12-微博发布按钮按下回车键发布新.mp4
    │  │  │      13-注意的问题.mp4
    │  │  │      
    │  │  └─3-9 学生信息表案例
    │  │          14-事件流以及2个阶段.mp4
    │  │          15-阻止事件流动.mp4
    │  │          16-阻止默认行为.mp4
    │  │          17-两种注册事件的区别.mp4
    │  │          18-事件委托.mp4
    │  │          19-综合案例-学生信息表分析.mp4
    │  │          20-综合案例-渲染已有数据.mp4
    │  │          21-综合案例-点击录入追加数据.mp4
    │  │          22-综合案例-填充表单数据.mp4
    │  │          23-综合案例-录入数据完成.mp4
    │  │          24-again.mp4
    │  │          25-清空操作.mp4
    │  │          26-综合案例-事件委托方式找到链接.mp4
    │  │          27-综合案例删除操作.mp4
    │  │          28-复习.mp4
    │  │          
    │  ├─04、第四章 JavaScript高级
    │  │  ├─4-1 JavaScript作用域
    │  │  │      1、课程回顾.mp4
    │  │  │      2、作用域.mp4
    │  │  │      3、局部变量.mp4
    │  │  │      4、块级作用域.mp4
    │  │  │      5、全局作用域.mp4
    │  │  │      6、变量的申明.mp4
    │  │  │      7、作用域链.mp4
    │  │  │      8、作用域链练习.mp4
    │  │  │      
    │  │  ├─4-10 Javascript中的this
    │  │  │      10、改变this的方法.mp4
    │  │  │      1、课程回顾.mp4
    │  │  │      2、作业讲解.mp4
    │  │  │      3、this指向.mp4
    │  │  │      4、严格模式.mp4
    │  │  │      5、箭头函数this.mp4
    │  │  │      6、改变函数this.mp4
    │  │  │      7、call方法.mp4
    │  │  │      8、apply方法.mp4
    │  │  │      9、bind方法.mp4
    │  │  │      
    │  │  ├─4-11 拷贝
    │  │  │      11、创建类.mp4
    │  │  │      12、实例成员和静态成员.mp4
    │  │  │      13、constructor.mp4
    │  │  │      14、extensds.mp4
    │  │  │      15、super.mp4
    │  │  │      16;类的本.mp4
    │  │  │      17、拷贝.mp4
    │  │  │      18、浅拷贝.mp4
    │  │  │      19、深拷贝.mp4
    │  │  │      
    │  │  ├─4-2 闭包及预解析
    │  │  │      10、闭包.mp4
    │  │  │      11、预解析.mp4
    │  │  │      12、变量预解析.mp4
    │  │  │      13、函数预解析.mp4
    │  │  │      14、let提升.mp4
    │  │  │      15、预解析练习.mp4
    │  │  │      9、闭包.mp4
    │  │  │      
    │  │  ├─4-3 es6剩余参数
    │  │  │      16、参数默认值.mp4
    │  │  │      17、动态参数arguments.mp4
    │  │  │      18、剩余参数.mp4
    │  │  │      
    │  │  ├─4-4 es6箭头函数
    │  │  │      19、箭头函数.mp4
    │  │  │      20、箭头函数的其他形式.mp4
    │  │  │      21、箭头函数注意点.mp4
    │  │  │      22、课程回顾.mp4
    │  │  │      
    │  │  ├─4-5 es6解构赋值
    │  │  │      1、课程回顾.mp4
    │  │  │      2、作业讲解.mp4
    │  │  │      3、解构赋值.mp4
    │  │  │      4、数组解构.mp4
    │  │  │      5、对象解构.mp4
    │  │  │      
    │  │  ├─4-6 构造函数及原型对象
    │  │  │      10、自定义构造函数.mp4
    │  │  │      11、constructor和instanceof.mp4
    │  │  │      12、构造函数.mp4
    │  │  │      13、静态成员和实例成员.mp4
    │  │  │      6、面向对象和面向过程.mp4
    │  │  │      7、对象.mp4
    │  │  │      8、字面量创建对象.mp4
    │  │  │      9、构造函数.mp4
    │  │  │      
    │  │  ├─4-7 数组方法应用
    │  │  │      14、数据类型.mp4
    │  │  │      15、引用类型传递.mp4
    │  │  │      16、练习题.mp4
    │  │  │      17、Object构造函数.mp4
    │  │  │      18、Array对象.mp4
    │  │  │      19、Array方法介绍.mp4
    │  │  │      20、数组方法1.mp4
    │  │  │      21、数组方法3.mp4
    │  │  │      22、数组方法4.mp4
    │  │  │      23、正则构造函数.mp4
    │  │  │      
    │  │  ├─4-8 包装类型
    │  │  │      1、课程回顾.mp4
    │  │  │      2、作业讲解.mp4
    │  │  │      3、数组方法.mp4
    │  │  │      4、 包装类型.mp4
    │  │  │      5、字符串方法.mp4
    │  │  │      6、字符串练习.mp4
    │  │  │      7、Number构造函数.mp4
    │  │  │      8、Boolean构造函数.mp4
    │  │  │      
    │  │  └─4-9 继承
    │  │          10、构造函数封装.mp4
    │  │          11、构造函数.mp4
    │  │          12、原型对象.mp4
    │  │          13、原型对象.mp4
    │  │          14、constructor.mp4
    │  │          15、__proto__.mp4
    │  │          16、封装.mp4
    │  │          17、继承1.mp4
    │  │          18、继承2.mp4
    │  │          19、原型链.mp4
    │  │          20、扩展方法.mp4
    │  │          21、课程回顾.mp4
    │  │          9、其他方法.mp4
    │  │          
    │  ├─05、第五章 jQuery
    │  │  ├─5-1 jQuery介绍和链式编程
    │  │  │      01-课程介绍.mp4
    │  │  │      02-认识jquery.mp4
    │  │  │      03-使用准备.mp4
    │  │  │      04-选择器.mp4
    │  │  │      05-Jquery对象.mp4
    │  │  │      06-事件绑定.mp4
    │  │  │      07-链式编程.mp4
    │  │  │      
    │  │  ├─5-10 表单序列化+版本差异
    │  │  │      14-表单序列化.mp4
    │  │  │      15-插件机制.mp4
    │  │  │      16-工具方法.mp4
    │  │  │      17-版本差异.mp4
    │  │  │      
    │  │  ├─5-2 jQuery常用AP
    │  │  │      08-内容操纵.mp4
    │  │  │      09-计数器.mp4
    │  │  │      10-过滤方法.mp4
    │  │  │      11-样式操纵.mp4
    │  │  │      12-属性操纵.mp4
    │  │  │      13-图片切换01.mp4
    │  │  │      13-图片切换2.mp4
    │  │  │      14-操纵value.mp4
    │  │  │      15-查找方法.mp4
    │  │  │      16-类名操纵.mp4
    │  │  │      17-事件进阶.mp4
    │  │  │      
    │  │  ├─5-3 综合案例【输入统计
    │  │  │      18-输入统计01.mp4
    │  │  │      18-输入统计02.mp4
    │  │  │      18-输入统计03.mp4
    │  │  │      18-输入统计04.mp4
    │  │  │      
    │  │  ├─5-4 登录切换案例
    │  │  │      19-事件触发.mp4
    │  │  │      20-登录切换1.mp4
    │  │  │      20-登录切换2.mp4
    │  │  │      21-Window事件绑定.mp4
    │  │  │      
    │  │  ├─5-5 jQuery动画
    │  │  │      01-课程介绍.mp4
    │  │  │      02-获取位置.mp4
    │  │  │      03-滚动距离.mp4
    │  │  │      04-腾讯全端.mp4
    │  │  │      05-显示和隐藏动画.mp4
    │  │  │      06-淡入和淡出动画.mp4
    │  │  │      07-展开收起动画.mp4
    │  │  │      08-动画队列及停止方法.mp4
    │  │  │      09-自定义动画.mp4
    │  │  │      
    │  │  ├─5-6 综合案例【爱旅行】
    │  │  │      10-爱旅行.mp4
    │  │  │      10-爱旅行2.mp4
    │  │  │      10-爱旅行3.mp4
    │  │  │      11-插入节点.mp4
    │  │  │      12-动画回调函数.mp4
    │  │  │      13-延迟方法.mp4
    │  │  │      14-获取高度.mp4
    │  │  │      15-爱旅行-自动轮播.mp4
    │  │  │      
    │  │  ├─5-7 事件委托和Notebook案例
    │  │  │      16-事件参数.mp4
    │  │  │      17-删除节点.mp4
    │  │  │      18-事件委托.mp4
    │  │  │      19-Notebook01.mp4
    │  │  │      19-Notebook02.mp4
    │  │  │      
    │  │  ├─5-8 jQuery常用插件
    │  │  │      01-课程介绍.mp4
    │  │  │      02-入口函数.mp4
    │  │  │      03-轮播图插件slick.mp4
    │  │  │      04-懒加载插件.mp4
    │  │  │      05-小兔鲜儿.mp4
    │  │  │      06-全屏滚动fullpage.mp4
    │  │  │      07-安全导航.mp4
    │  │  │      08-提交事件.mp4
    │  │  │      09-日期选择器.mp4
    │  │  │      10-表单校验.mp4
    │  │  │      11-克隆.mp4
    │  │  │      12-转dom对象.mp4
    │  │  │      
    │  │  └─5-9 综合案例【人员管理】
    │  │          13-人员管理01.mp4
    │  │          13-人员管理02.mp4
    │  │          13-人员管理03.mp4
    │  │          13-人员管理04.mp4
    │  │          13-人员管理05.mp4
    │  │          
    │  └─06、第六章 基于ECharts数据可视化
    │      ├─6-1 ECharts介绍和配置
    │      │      01-数据可视化项目导读.mp4
    │      │      02-什么是数据可视化.mp4
    │      │      03-数据可视化项目概述.mp4
    │      │      04-ECharts简介.mp4
    │      │      05-ECharts基本使用.mp4
    │      │      06-选择不同类型图表.mp4
    │      │      07-ECharts相关配置(上).mp4
    │      │      08-ECharts-grid配置.mp4
    │      │      09-ECharts相关配置(中).mp4
    │      │      10-ECharts相关配置(下)series.mp4
    │      │      11-折线图生成以及配置项总结.mp4
    │      │      
    │      ├─6-2 数据可视化项目适配方案
    │      │      12-数据可视化项目适配方案分析.mp4
    │      │      13-数据可视化项目适配方案.mp4
    │      │      14-项目准备以及按照自动刷新浏览器插件.mp4
    │      │      
    │      ├─6-3 数据可视化项目-监控区域实现
    │      │      15-可视化项目-body和viewport制作.mp4
    │      │      16-可视化项目column列容器.mp4
    │      │      17-边框图片使用场景以及切割原理.mp4
    │      │      18-边框图片使用语法.mp4
    │      │      19-公共面板样式制作(上).mp4
    │      │      20-公共面板样式制作(下).mp4
    │      │      21-通过类名调用字体图标.mp4
    │      │      22-数据可视化项目-概览区域模块制作.mp4
    │      │      23-数据可视化项目-监控区域布局分析.mp4
    │      │      24-数据可视化项目-监控区域tab栏切换分析.mp4
    │      │      25-数据可视化项目-监控区域无缝滚动.mp4
    │      │      
    │      ├─6-4 饼形图和用户统计模块实现
    │      │      01-点位分布point模块-布局.mp4
    │      │      02-点位分布point-引入图表.mp4
    │      │      03-ECharts饼形图-tooltip参数含义.mp4
    │      │      04-ECharts饼形图-series参数含义.mp4
    │      │      05-点位分布模块-定制配置(上).mp4
    │      │      06-点位分布模块-定制配置(下).mp4
    │      │      07-EChart图表适配浏览器缩放.mp4
    │      │      08-地图模块map布局-预留.mp4
    │      │      09-用户统计users模块-布局.mp4
    │      │      10-用户统计模块users-引入图表.mp4
    │      │      
    │      ├─6-5 柱形图定制区域实现
    │      │      11-柱形图修改柱子颜色和提示框组件.mp4
    │      │      12-柱形图定制grid相关配置.mp4
    │      │      13-柱形图定制X轴相关配置.mp4
    │      │      14-柱形图定制Y轴相关配置.mp4
    │      │      15-柱形图定制-单独定制某个柱形(上).mp4
    │      │      16-柱形图定制-单独定制某个柱形(下.mp4
    │      │      
    │      ├─6-6 销售统计模块实现
    │      │      17-订单模块布局.mp4
    │      │      18-销售统计模块布局.mp4
    │      │      19-销售统计模块-折线图引入.mp4
    │      │      20-销售统计模块-配置定制(上).mp4
    │      │      21-销售统计模块-配置定制(中.mp4
    │      │      22-销售统计模块-配置定制(下).mp4
    │      │      23-01销售统计模块-tab栏切换原理.mp4
    │      │      23-02销售统计模块-tab栏切换效果.mp4
    │      │      25-销售统计模块-点击切换渲染图表.mp4
    │      │      26-销售统计模块-自动切换功能.mp4
    │      │      
    │      ├─6-7 渠道分布模块实现
    │      │      27-渠道分布和季度进度模块布局.mp4
    │      │      28-渠道分布模块-雷达图引入.mp4
    │      │      29-渠道分布模块-雷达图定制(上).mp4
    │      │      30-渠道分布模块-雷达图定制(中.mp4
    │      │      31-渠道分布模块-雷达图定制(.mp4
    │      │      31-渠道分布模块-雷达图定制(下.mp4
    │      │      
    │      ├─6-8 季度进度模块实现
    │      │      32-季度进度模块-饼形图引入.mp4
    │      │      33-季度进度模块-饼形图定制(上).mp4
    │      │      34-季度进度模块-饼形图定制(下).mp4
    │      │      
    │      └─6-9 全国热榜模块实现
    │              35-全国热榜模块布局.mp4
    │              36-全国热榜模块tab栏切换思路分析.mp4
    │              37-铺垫知识ES6模板字符.mp4
    │              38-全国热榜模块-渲染sup模块(上).mp4
    │              39-全国热榜模块-渲染sup模块(下).mp4
    │              40-全国热榜模块-鼠标经过操作.mp4
    │              41-全国热榜模块-渲染sub模块.mp4
    │              42-全国热榜模块-定时器引起的问题.mp4
    │              43-全国热榜模块-定时器问题解决方案.mp4
    │              44-ECharts社区简介.mp4
    │              45-模拟飞行模块引入.mp4
    │              46-ECharts总结.mp4
    │              
    ├─04、阶段四 前后端交互
    │  ├─01、第一章 Ajax+HTTP
    │  │  ├─1-1 ajax介绍
    │  │  │      00.学习目标.mp4
    │  │  │      01.客户端与服务器.mp4
    │  │  │      02.URL地址的概念及组成部分.mp4
    │  │  │      03.图解客户端与服务器通信的过程.mp4
    │  │  │      04.基于开发者工具查看客户端与服务器的通.mp4
    │  │  │      05.数据也是一种资源.mp4
    │  │  │      06.网页中如何请求数据.mp4
    │  │  │      07.资源的请求方式.mp4
    │  │  │      08.介绍Ajax的概念.mp4
    │  │  │      09.Ajax的典型应用场景.mp4
    │  │  │      10.了解jQuery中的Ajax.mp4
    │  │  │      11.$.get()函数的语法.mp4
    │  │  │      12.$.get()发起不带参数的请求.mp4
    │  │  │      13.$.get()发起带参数的请求.mp4
    │  │  │      14.$.post函数的语法.mp4
    │  │  │      15.$.post()向服务器提交数据.mp4
    │  │  │      17.$.ajax()发起GET请求.mp4
    │  │  │      19.接口的概念.mp4
    │  │  │      20.分析接口的请求过程.mp4
    │  │  │      21.了解接口测试工具.mp4
    │  │  │      22.使用PostMan测试GET接口.mp4
    │  │  │      23.使用PostMan测试POST接口.mp4
    │  │  │      24.接口文档.mp4
    │  │  │      
    │  │  ├─1-10 XHR Level2的新特性
    │  │  │      23.XHR Level2的新特性-了解新版xhr中支持.mp4
    │  │  │      24.XHR Level2的新特性-设置HTTP请求时限.mp4
    │  │  │      25.XHR Level2的新特性-使用FormData对象.mp4
    │  │  │      27.XHR Level2的新特性-定义上传文件页面.mp4
    │  │  │      28.XHR Level2的新特性-验证是否选择了待上.mp4
    │  │  │      29.XHR Level2的新特性-向FormData中追加.mp4
    │  │  │      30.XHR Level2的新特性-使用xhr发起上传文.mp4
    │  │  │      31.XHR Level2的新特性-完成上传文件的功能.mp4
    │  │  │      32.XHR Level2的新特性-计算文件的上传进度.mp4
    │  │  │      33.XHR Level2的新特性-基于bootstrap绘制进度条效果.mp4
    │  │  │      34.XHR Level2的新特性-动态设置进度条.mp4
    │  │  │      35.XHR Level2的新特性-监听上传完成的事件.mp4
    │  │  │      
    │  │  ├─1-11 jQuery高级用法
    │  │  │      36.jQuery高级用法-渲染页面结构并验证是否选择.mp4
    │  │  │      37.jQuery高级用法-使用jQuery发起上传文件的请求.mp4
    │  │  │      38.jQuery高级用法-通过jQuery实现loading效果.mp4
    │  │  │      
    │  │  ├─1-12 axios
    │  │  │      39.axios-什么是axios.mp4
    │  │  │      40.axios-使用axios发起GET请求.mp4
    │  │  │      41.axios-使用axios发起POST请求.mp4
    │  │  │      42.axios-直接使用axios发起GET和POST数据.mp4
    │  │  │      
    │  │  ├─1-13 同源策略
    │  │  │      00.学习目标.mp4
    │  │  │      01.同源策略-什么是同源.mp4
    │  │  │      02.同源策略-什么是同源策略.mp4
    │  │  │      
    │  │  ├─1-14 跨域
    │  │  │      03.跨域-什么是跨域.mp4
    │  │  │      04.跨域-浏览器对跨域请求的拦截.mp4
    │  │  │      05.跨域-如何实现跨域数据请求.mp4
    │  │  │      
    │  │  ├─1-15 Jsonp
    │  │  │      06.JSONP-了解JSONP的概念以及实现原理.mp4
    │  │  │      07.JSONP-演示跨域Ajax数据请求存在的问题.mp4
    │  │  │      08.剖析JSONP的实现原理-将函数的定义和调.mp4
    │  │  │      09.剖析JSONP的实现原理-将函数的调用抽离.mp4
    │  │  │      10.剖析JSONP的实现原理-通过callback指定回调函数的名称.mp4
    │  │  │      11.JSONP-自己实现一个简单的JSONP.mp4
    │  │  │      12.JSONP-了解JSONP的缺点.mp4
    │  │  │      13.JSONP-使用jQuery发起JSONP数据请求.mp4
    │  │  │      14.JSONP-jQuery中自定义JSONP参数以及回.mp4
    │  │  │      15.JSONP-jQuery中JSONP的实现过程.mp4
    │  │  │      
    │  │  ├─1-16 淘宝搜索案例
    │  │  │      16.淘宝搜索案例-介绍案例效果.mp4
    │  │  │      17.淘宝搜索案例-获取用户输入的搜索关键词.mp4
    │  │  │      18.淘宝搜索案例-封装getSuggestList函数.mp4
    │  │  │      19.淘宝搜索案例-在页面中定义搜索建议列表.mp4
    │  │  │      20.淘宝搜.mp4
    │  │  │      21.淘宝搜索案例-定义渲染模板结构的函数.mp4
    │  │  │      22.淘宝搜索案例-搜索关键词为空时隐藏搜索建.mp4
    │  │  │      23.淘宝搜索案例-美化搜索建议列表.mp4
    │  │  │      
    │  │  ├─1-17 防抖和节流
    │  │  │      24.输入框的防抖-什么是防抖.mp4
    │  │  │      25.输入框的防抖-防抖的应用场景.mp4
    │  │  │      27.缓存搜索的建议列表.mp4
    │  │  │      28.防抖和节流-什么是节流.mp4
    │  │  │      29.防抖和节流-节流的应用场景.mp4
    │  │  │      30.防抖和节流-渲染UI效果.mp4
    │  │  │      31.防抖和节流-不使用节流实现鼠标跟随效果.mp4
    │  │  │      32.防抖和节流-节流阀的概念.mp4
    │  │  │      33.防抖和节流-使用节流优化鼠标跟随效果.mp4
    │  │  │      34.防抖和节流-总结防抖和节流的区别.mp4
    │  │  │      
    │  │  ├─1-18 HTTP协议简介
    │  │  │      00.学习目标.mp4
    │  │  │      01.HTTP协议简介-什么是通信.mp4
    │  │  │      02.HTTP协议简介-什么是通信协议.mp4
    │  │  │      03.HTTP协议简介-什么是HTTP协议.mp4
    │  │  │      04.HTTP协议简介-HTTP协议的交互模型.mp4
    │  │  │      
    │  │  ├─1-19 HTTP请求消息
    │  │  │      05.HTTP请求消息-什么是HTTP请求消息.mp4
    │  │  │      06.HTTP请求消息-HTTP请求消息的4个组成部分.mp4
    │  │  │      07.HTTP请求消息-请求行.mp4
    │  │  │      08.HTTP请求消息-请求头部.mp4
    │  │  │      09.HTTP请求消息-空行.mp4
    │  │  │      10.HTTP请求消息-请求体.mp4
    │  │  │      11.HTTP请求消息-总结HTTP请求消息的组成.mp4
    │  │  │      
    │  │  ├─1-2 图书列表案例
    │  │  │      25.案例-基于Bootstrap渲染页面UI结构.mp4
    │  │  │      26.案例-了解渲染图书列表的实现思路.mp4
    │  │  │      27.案例-获取图书列表数据.mp4
    │  │  │      28.案例-渲染图书列表.mp4
    │  │  │      29.案例-为删除链接绑定单击事件处理函数.mp4
    │  │  │      30.案例-实现删除图书的功能.mp4
    │  │  │      31.案例-为添加按钮绑定点击事件处理函数.mp4
    │  │  │      32.案例-实现添加图书的功能.mp4
    │  │  │      
    │  │  ├─1-20 HTTP响应消息
    │  │  │      12.HTTP响应消息-响应消息的概念以及组成部分.mp4
    │  │  │      13.HTTP响应消息-状态行.mp4
    │  │  │      14.HTTP响应消息-响应头部.mp4
    │  │  │      15.HTTP响应消息-空行.mp4
    │  │  │      16.HTTP响应消息-响应体.mp4
    │  │  │      17.HTTP响应消息-总结HTTP响应消息的组.mp4
    │  │  │      
    │  │  ├─1-21 HTTP响应状态码
    │  │  │      18.HTTP请求方法.mp4
    │  │  │      19.HTTP响应状态码-什么是HTTP响应状态码.mp4
    │  │  │      20.HTTP响应状态码-HTTP响应状态码的组成及.mp4
    │  │  │      21.HTTP响应状态码-2xx成功相关的响应状态码.mp4
    │  │  │      22.HTTP响应状态码-3xx重定向相关的响应状态码.mp4
    │  │  │      23.HTTP响应状态码-4xx.mp4
    │  │  │      24.HTTP响应状态码-5xx服务端错误相关的响应状.mp4
    │  │  │      
    │  │  ├─1-3 聊天机器人
    │  │  │      33.聊天机器人-演示案例要完成的效果.mp4
    │  │  │      34.聊天机器人-梳理案例的代码结构.mp4
    │  │  │      35.聊天机器人-将用户输入的内容渲染到聊天窗口.mp4
    │  │  │      36.聊天机器人-发起请求获取聊天消息.mp4
    │  │  │      37.聊天机器人-将机器人的聊天内容转换为语音.mp4
    │  │  │      38.聊天机器人-通过回车键发送消息.mp4
    │  │  │      【补充说明】聊天机器人接口更新通知.mp4
    │  │  │      
    │  │  ├─1-4 form表单+案例
    │  │  │      00.学习目标.mp4
    │  │  │      01.表单的基本使用-什么是表单.mp4
    │  │  │      02.表单的基本使用-表单的组成部.mp4
    │  │  │      03.form标签的属性-action.mp4
    │  │  │      04.form标签的属性-target.mp4
    │  │  │      05.form标签的属性-method.mp4
    │  │  │      06.form标签的属性-enctype.mp4
    │  │  │      07.表单的同步提交及缺点.mp4
    │  │  │      08.通过Ajax提交表单数据-监听表单的提交事件.mp4
    │  │  │      09.通过Ajax提交表单数据-阻止表单的默认提.mp4
    │  │  │      10.通过Ajax提交表单数据-快速获取表单中的.mp4
    │  │  │      11.案例-基于bootstrap渲染评论列表的UI结构.mp4
    │  │  │      12.案例-获取评论列表数据.mp4
    │  │  │      13.案例-渲染评论列表.mp4
    │  │  │      14.案例-改造form表单.mp4
    │  │  │      15.案例-实现发表评论的功能.mp4
    │  │  │      
    │  │  ├─1-5 模板引擎+案例
    │  │  │      16.模板引擎-模板引擎的基本概念.mp4
    │  │  │      17.模板引擎-了解并安装art-template.mp4
    │  │  │      18.模板引擎-使用传统方式渲染UI结构.mp4
    │  │  │      19.模板引擎-介绍模板引擎的使用步骤.mp4
    │  │  │      20.标准语法-输出.mp4
    │  │  │      21.标准语法-原文输出.mp4
    │  │  │      22.标准语法-条件输出.mp4
    │  │  │      23.标准语法-循环输出.mp4
    │  │  │      24.标准语法-什么是过滤器.mp4
    │  │  │      25.标准语法-定义过滤器和调用过滤器的基本语法.mp4
    │  │  │      26.标准语法-定义格式化时间的过滤器.mp4
    │  │  │      27.案例-介绍新闻列表案例要实现的效果.mp4
    │  │  │      28.案例-获取新闻列表数据.mp4
    │  │  │      29.案例-定义新闻Item项的模板.mp4
    │  │  │      30.案例-编译模板渲染新闻列表结构.mp4
    │  │  │      31.案例-定义时间过滤器.mp4
    │  │  │      32.案例-定义补零函数.mp4
    │  │  │      
    │  │  ├─1-6 正则与字符串操作
    │  │  │      33.正则与字符串操作-介绍正则的exec函数.mp4
    │  │  │      34.正则与字符串操作-提取分组.mp4
    │  │  │      35.正则与字符串操作-字符串的replace函数.mp4
    │  │  │      36.正则与字符串操作-对字符串进行多次replace操作.mp4
    │  │  │      37.正则与字符串操作-使用while循环进行字符.mp4
    │  │  │      38.正则与字符串操作-将正则匹配到的内容替换.mp4
    │  │  │      39.实现简易的模板引擎.mp4
    │  │  │      
    │  │  ├─1-7 xhr的基本使用
    │  │  │      00.学习目标.mp4
    │  │  │      01.xhr的基本使用-什么是XMLHttpRequest.mp4
    │  │  │      02.xhr的基本使用-使用xhr发起GET请求.mp4
    │  │  │      03.xhr的基本使用-了解xhr对象的readyState属.mp4
    │  │  │      04.xhr的基本使用-使用xhr发起带参数的GET请求.mp4
    │  │  │      05.xhr的基本使用-了解查询字符串的概念.mp4
    │  │  │      06.xhr的基本使用-GET请求携带参数的本质.mp4
    │  │  │      07.xhr的基本使用-什么是URL编码.mp4
    │  │  │      08.xhr的基本使用-如何对URL进行编码与解码.mp4
    │  │  │      09.xhr的基本使用-使用xhr发起POST请求.mp4
    │  │  │      
    │  │  ├─1-8 数据交换格式
    │  │  │      10.数据交换格式-什么是数据交换格式.mp4
    │  │  │      11.数据交换格式-XML.mp4
    │  │  │      12.数据交换格式-什么是JSON.mp4
    │  │  │      13.数据交换格式-JSON的两种结构.mp4
    │  │  │      14.数据交换格式-JSON语法注意事项.mp4
    │  │  │      15.数据交换格式-JSON和JS对象的关系.mp4
    │  │  │      16.数据交换格式-JSON和JS对象的互转.mp4
    │  │  │      17.数据交换格式-序列化和反序列化.mp4
    │  │  │      
    │  │  └─1-9 封装自己的Ajax函数
    │  │          18.封装自己的Ajax函数-介绍要实现的效果以及o.mp4
    │  │          19.封装自己的Ajax函数-处理data参数.mp4
    │  │          20.封装自己的Ajax函数-定义itheima函数.mp4
    │  │          21.封装自己的Ajax函数-判断请求的类型.mp4
    │  │          22.封装自己的Ajax函数-测试itheima函数的可用.mp4
    │  │          
    │  ├─02、第二章 Git和github基本使用
    │  │  ├─2-1 关于版本控制
    │  │  │      00.Git学习目标.mp4
    │  │  │      01.关于版本控制 - 使用.mp4
    │  │  │      02.关于版本控制 - 版本控制系统的分类.mp4
    │  │  │      03.关于版本控制 - 了解三大类版本控制系统各.mp4
    │  │  │      
    │  │  ├─2-2 Git基础概念
    │  │  │      04.Git基础概念 - 什么是Git.mp4
    │  │  │      05.Git基础概念 - Git直接记录快照而非差异比较.mp4
    │  │  │      06.Git基础概念 - 近乎所有操作都是本地执行的.mp4
    │  │  │      07.Git基础概念 - Git中的三个区域.mp4
    │  │  │      08.Git基础概念 - Git中的三种状态.mp4
    │  │  │      09.Git基础概念 - Git的基本工作流程.mp4
    │  │  │      
    │  │  ├─2-3 安装并配置Git
    │  │  │      10.安装并配置Git - 在Windows中下载并安装Git.mp4
    │  │  │      11.安装并配置Git-配置用户信息.mp4
    │  │  │      12.安装并配置Git - Git的全局配置文件.mp4
    │  │  │      13.安装并配置Git - 使用Git命令检查全局配置.mp4
    │  │  │      14.安装并配置Git - 获取帮助信息.mp4
    │  │  │      
    │  │  ├─2-4 Git的基本操作
    │  │  │      15.Git的基本操作 - 获取Git仓库的两种方式.mp4
    │  │  │      16.Git的基本操作 - 在现有目录中初始化仓库.mp4
    │  │  │      17.Git的基本操作 - 工作区中文件的4种状态.mp4
    │  │  │      18.Git的基本操作 - 检查文件的状态.mp4
    │  │  │      19.Git的基本操作 - 以精简的方式显示文件的状态.mp4
    │  │  │      20.Git的基本操作 - 跟踪新文件.mp4
    │  │  │      21.Git的基本操作 - 提交更新.mp4
    │  │  │      22.Git的基本操作 - 对已提交的文件进行修改.mp4
    │  │  │      23.Git的基本操作 - 暂存已修改的文件.mp4
    │  │  │      24.Git的基本操作 - 提交已暂存的文件.mp4
    │  │  │      25.Git的基本操作 - 撤销对文件的修改.mp4
    │  │  │      26.Git的基本操作 - 向暂存区中一次性添加多个文.mp4
    │  │  │      27.Git的基本操作 - 取消暂存的文件.mp4
    │  │  │      28.Git的基本操作 - 跳过使用暂存区域.mp4
    │  │  │      29.Git的基本操作 - 移除文件.mp4
    │  │  │      30.Git的基本操作 - Git忽略文件和glob匹配模式.mp4
    │  │  │      31.Git的基本操作 - .gitignore使用示例.mp4
    │  │  │      32.Git的基本操作 - 查看提交历史.mp4
    │  │  │      33.Git的基本操作 - 回退到指定的版本.mp4
    │  │  │      34.Git的基本操作 - 小结.mp4
    │  │  │      
    │  │  ├─2-5 开源相关的概念
    │  │  │      01.开源相关的概念 - 了解开源和闭源的概念.mp4
    │  │  │      02.开源相关的概念 - 开源许可协议.mp4
    │  │  │      03.开源相关的概念 - 为什么要拥抱开源.mp4
    │  │  │      04.开源相关的概念 - 了解什么是开源项目托管平台.mp4
    │  │  │      05.开源相关的概念 - 什么是GitHub.mp4
    │  │  │      
    │  │  ├─2-6 github
    │  │  │      06.github - 注册GitHub账号.mp4
    │  │  │      07.github - 新建空白远程仓库.mp4
    │  │  │      08.github - 远程仓库的两种访问方式.mp4
    │  │  │      09.github - 基于HTTPS将本地仓库上传到GitHub.mp4
    │  │  │      10.github - 了解git push命令的作用.mp4
    │  │  │      11.github - 生成SSH key.mp4
    │  │  │      12.github - 配置SSH key.mp4
    │  │  │      13.github - 检测SSH key是否配置成功.mp4
    │  │  │      14.github - 基于SSH将本地仓库上传到GitHub.mp4
    │  │  │      15.github - 将远程仓库克隆到本地.mp4
    │  │  │      
    │  │  └─2-7 分支
    │  │          16.分支 - 了解分支的概念以及分支在实际开发中.mp4
    │  │          17.分支 - master主分支.mp4
    │  │          18.分支 - 功能分支.mp4
    │  │          19.分支 - 查看分支列表.mp4
    │  │          20.分支 - 创建新分支.mp4
    │  │          21.分支 - 切换分支.mp4
    │  │          22.分支 - 快速创建和切换分支.mp4
    │  │          23.分支 - 合并分支.mp4
    │  │          24.分支 - 删除分支.mp4
    │  │          25.分支 - 遇到冲突时的分支合并.mp4
    │  │          26.分支 - 将本地分支推送到远程分支.mp4
    │  │          27.分支 - 查看远程分支列表.mp4
    │  │          28.分支 - 跟踪分支.mp4
    │  │          29.分支 - 拉取远程分支的最新代码.mp4
    │  │          30.分支 - 删除远程分支.mp4
    │  │          
    │  ├─03、第三章 Node基础
    │  │  ├─3-1 node介绍和环境安装
    │  │  │      00.学习目标.mp4
    │  │  │      01.初识Node - 为什么JavaScript可以在浏览器.mp4
    │  │  │      02.初识Node - 为什么JavaScript可以操作DO.mp4
    │  │  │      03.初识Node - 浏览器中的JavaScript运行环境.mp4
    │  │  │      04.初识Node - JavaScript能否做后端开发.mp4
    │  │  │      05.初识Node - 什么是Node.js.mp4
    │  │  │      06.初识Node - Node.js中的JavaScript运行环境.mp4
    │  │  │      07.初识Node - 了解Node.js的学习路径.mp4
    │  │  │      08.初识Node - 下载并安装Node.mp4
    │  │  │      09.初识Node - 查看已安装的Node.js的版本号.mp4
    │  │  │      10.初识Node - 了解终端的概念.mp4
    │  │  │      11.初识Node - 在Node.js环境中执行JavaScript代码.mp4
    │  │  │      12.初识Node - 使用更方便的形式执行Node命令.mp4
    │  │  │      13.初识Node - 了解常用的终端快捷键.mp4
    │  │  │      
    │  │  ├─3-10 node-模块化
    │  │  │      18.模块化 - 学习目标.mp4
    │  │  │      19.模块化 - 什么是模块化.mp4
    │  │  │      20.模块化 - 模块化规范相关的概念.mp4
    │  │  │      21.Node中的模块化 - 了解Node中模块的3大.mp4
    │  │  │      22.Node中的模块化 - 使用require方法加载模块.mp4
    │  │  │      23.Node中的模块化 - 使用require的小注意点.mp4
    │  │  │      24.Node中的模块化 - 了解模块作用域的概念以.mp4
    │  │  │      25.Node中的模块化 - 了解module对象.mp4
    │  │  │      26.Node中的模块化 - 了解module.exports对象.mp4
    │  │  │      27.Node中的模块化 - 使用module.exports向外.mp4
    │  │  │      28.Node中的模块化 - 共享成员是的注意点.mp4
    │  │  │      29.Node中的模块化 - exports对象.mp4
    │  │  │      30.exports和module.exports的使用误区 - 案.mp4
    │  │  │      31.exports和module.exports的使用误区 - 案例2.mp4
    │  │  │      32.exports和module.exports的使用误区 - 案.mp4
    │  │  │      33.exports和module.exports的使用误区 - 案.mp4
    │  │  │      34.Node中的模块化 - CommonJS模块化规范.mp4
    │  │  │      
    │  │  ├─3-2 node-fs模块 3-3 node-path模块
    │  │  │      14.fs - 了解什么是fs文件系统模块.mp4
    │  │  │      15.fs - 使用fs.readFile方法读取文件.mp4
    │  │  │      16.fs - 判断文件是否读取成功.mp4
    │  │  │      17.fs - 使用fs.writeFile方法写入文件.mp4
    │  │  │      18.fs - 判断文件是否写入成功.mp4
    │  │  │      19.fs案例 - 分析核心的实现步骤.mp4
    │  │  │      20.fs案例 - 读取成绩文件.mp4
    │  │  │      21.fs案例 - 处理成绩.mp4
    │  │  │      22.fs案例 - 将整理好的成绩写入到新文件.mp4
    │  │  │      23.fs路径问题 - 演示路径动态拼接的问题.mp4
    │  │  │      24.fs路径问题 - 使用完整路径替代相对路径.mp4
    │  │  │      25.fs路径问题 - 使用__dirname完美解决路径动态.mp4
    │  │  │      
    │  │  ├─3-3 node-path模块
    │  │  │      26.path - 了解path路径模块的作用.mp4
    │  │  │      27.path - 使用path.join方法进行路径的拼接.mp4
    │  │  │      28.path - 使用path.basename方法获取路径中的文件名.mp4
    │  │  │      29.path - 使用path.extname方法获取路径中.mp4
    │  │  │      
    │  │  ├─3-4 node-时钟案例
    │  │  │      30.时钟案例 - 介绍需求并分析案例的实现步骤.mp4
    │  │  │      31.时钟案例 - 定义正则表达式.mp4
    │  │  │      32.时钟案例 - 使用fs.readFile方法读取HTML文件的内容.mp4
    │  │  │      33.时钟案例 - 自定义resolveCSS方法提取样式表.mp4
    │  │  │      34.时钟案例 - 自定义resolveJS方法提取JS脚本文.mp4
    │  │  │      35.时钟案例 - 自定义resolveHTML方法提取ht.mp4
    │  │  │      36.时钟案例 - 时钟案例的两个注意点.mp4
    │  │  │      
    │  │  ├─3-5 node-http模块
    │  │  │      01.http模块 - 什么是http模块.mp4
    │  │  │      02.http模块 - 进一步理解http模块的作用.mp4
    │  │  │      
    │  │  ├─3-6 node-服务器概念
    │  │  │      03.服务器相关的概念 - IP地址.mp4
    │  │  │      04.服务器相关的概念 - 域名和域名服务器.mp4
    │  │  │      05.服务器相关的概念 - 端口号.mp4
    │  │  │      
    │  │  ├─3-7 node-创建基本web服务器
    │  │  │      07.创建最基本的web服务器 - 通过4个核心步.mp4
    │  │  │      08.创建最基本的web服务器 - req请求对象.mp4
    │  │  │      09.创建最基本的web服务器 - res响应对象.mp4
    │  │  │      10.创建最基本的web服务器 - 解决中文乱码问题.mp4
    │  │  │      
    │  │  ├─3-8 node-根据不同的url响应不同的html内容
    │  │  │      11.根据不同的url响应不同的html内容 - 分析核.mp4
    │  │  │      12.根据不同的url响应不同的html内容 - 按照分.mp4
    │  │  │      
    │  │  └─3-9 node-时钟web服务器案例
    │  │          13.时钟web服务器案例 - 介绍核心实现思路.mp4
    │  │          14.时钟web服务器案例 - 导入需要的模块并创.mp4
    │  │          15.时钟web服务器案例 - 将资源的请求url映射为.mp4
    │  │          16.时钟web服务器案例 - 读取文件的内容并响.mp4
    │  │          17.时钟web服务器案例 - 优化资源的请求路径.mp4
    │  │          
    │  ├─04、第四章 npm+模块加载机制
    │  │  ├─4-1 包
    │  │  │      35.包 - 什么是包.mp4
    │  │  │      36.包 - 包的来源.mp4
    │  │  │      37.包 - 为什么需要包.mp4
    │  │  │      38.包 - 从哪里下载包.mp4
    │  │  │      
    │  │  ├─4-2 npm
    │  │  │      40.npm初体验 - 格式化时间的传统做法.mp4
    │  │  │      41.npm初体验 - 了解如何使用第三方的包对时间.mp4
    │  │  │      42.npm初体验 - 介绍如何使用npm install命.mp4
    │  │  │      43.npm初体验 - 参考moment官方文档进行时.mp4
    │  │  │      44.npm初体验 - 了解node_modules文件夹和pa.mp4
    │  │  │      45.npm初体验 - 安装指定版本的包.mp4
    │  │  │      46.npm初体验 - 包的语义化版本规范.mp4
    │  │  │      
    │  │  ├─4-3 包管理配置文件及解决下包慢的问题
    │  │  │      01.包管理配置文件 - 概念.mp4
    │  │  │      02.包管理配置文件 - 进一步理解package.json配置文件的作用.mp4
    │  │  │      03.包管理配置文件 - 通过命令快速创建package.json文件.mp4
    │  │  │      04.包管理配置文件 - 了解dependencies节点的.mp4
    │  │  │      05.包管理配置文件 - 一次性安装所有的包.mp4
    │  │  │      06.包管理配置文件 - 卸载包.mp4
    │  │  │      07.包管理配置文件 - 了解devDependencies节.mp4
    │  │  │      08.解决下包慢的问题 - 分析下包速度慢的原因.mp4
    │  │  │      09.解决下包慢的问题 - 了解淘宝npm镜像服.mp4
    │  │  │      10.解决下包慢的问题 - 切换npm的下包镜像源.mp4
    │  │  │      11.解决下包慢的问题 - 使用nrm切换下包的服务.mp4
    │  │  │      
    │  │  ├─4-4 包的分类
    │  │  │      12.包的分类 -项目包.mp4
    │  │  │      13.包的分类 - 全局包.mp4
    │  │  │      14.包的分类 - 演示i5ting_toc的安装和使用.mp4
    │  │  │      15.规范的包结构.mp4
    │  │  │      
    │  │  ├─4-5 开发属于自己的
    │  │  │      16.开发属于自己的包 - 了解需要实现的功能.mp4
    │  │  │      17.开发属于自己的包 - 初始化包的基本结构.mp4
    │  │  │      18.开发属于自己的包 - 初始化package.json配置文件.mp4
    │  │  │      19.开发属于自己的包 - 在index.js中定义格式化.mp4
    │  │  │      20.开发属于自己的包 - 了解package.json中mai.mp4
    │  │  │      21.开发属于自己的包 - 在index.js中定义转义HT.mp4
    │  │  │      22.开发属于自己的包 - 在index.js中定义还原HT.mp4
    │  │  │      23.开发属于自己的包 - 将不同的功能进行模块.mp4
    │  │  │      24.开发属于自己的包 - 编写包的使用说明文档.mp4
    │  │  │      
    │  │  ├─4-6 发布包
    │  │  │      25.发布包 - 注册npm账号.mp4
    │  │  │      26.发布包 - 登录npm账号.mp4
    │  │  │      27.发布包 - 演示如何把包发布到npm上.mp4
    │  │  │      28.发布包 - 演示如何删除已发布的包.mp4
    │  │  │      
    │  │  └─4-7 模块的加载机制
    │  │          29.模块的加载机制 - 优先从缓存中加载.mp4
    │  │          30.模块的加载机制 - 内置模块的加载机制.mp4
    │  │          31.模块的加载机制 - 自定义模块的加载机制.mp4
    │  │          32.模块的加载机制 - 第三方模块的加载机制.mp4
    │  │          33.模块的加载机制 - 目录作为模块时的加载机制.mp4
    │  │          
    │  ├─05、第五章 Express
    │  │  ├─5-1 express
    │  │  │      01.express路由 - 路由的概念.mp4
    │  │  │      02.express路由 - 了解express中路由的概念及组成部分.mp4
    │  │  │      03.express路由 - 路由的匹配过程.mp4
    │  │  │      04.express路由 - 路由最简单的用法.mp4
    │  │  │      05.express路由 - 创建路由模块.mp4
    │  │  │      06.express路由 - 注册路由模块.mp4
    │  │  │      07.express路由 - 为路由模块添加访问前.mp4
    │  │  │      34.express - 学习目标.mp4
    │  │  │      35.初识express - express简介.mp4
    │  │  │      36.初识express - 使用express创建基本的web服.mp4
    │  │  │      37.初识express - 监听GET和POST请求以及响应.mp4
    │  │  │      38.初识express - 获取URL中携带的查询参数.mp4
    │  │  │      39.初识express - 获取URL中的动态参数.mp4
    │  │  │      40.初识express - 补充动态参数的两个注意点.mp4
    │  │  │      41.初识express - 使用express.static托管静.mp4
    │  │  │      42.初识express - 托管多个静态资源目录.mp4
    │  │  │      43.初识express - 挂载路径前缀.mp4
    │  │  │      44.初识express - 安装nodemon.mp4
    │  │  │      45.初识express - 使用nodemon实现项目的自动重启.mp4
    │  │  │      并无缺失,目录如此.txt
    │  │  │      
    │  │  ├─5-2 中间件
    │  │  │      08.中间件 - 中间件的概念.mp4
    │  │  │      09.中间件 - express中间件的调用流程.mp4
    │  │  │      10.中间件 - express中间件的格式.mp4
    │  │  │      11.中间件 - next函数的作用.mp4
    │  │  │      12.中间件 - 定义中间件函数.mp4
    │  │  │      13.中间件 - 全局生效的中间件.mp4
    │  │  │      14.中间件 - 定义全局中间件的简化形式.mp4
    │  │  │      15.中间件 - 中间件的作用.mp4
    │  │  │      16.中间件 - 定义多个全局中间.mp4
    │  │  │      17.中间件 - 局部生效的中间件.mp4
    │  │  │      18.中间件 - 使用多个局部中间件.mp4
    │  │  │      19.中间件 - 了解中间件的5个注意事项.mp4
    │  │  │      20.中间件的分类 - 了解什么是应用级别和路由级别的中间件.mp4
    │  │  │      21.中间件的分类 - 错误级别的中间件.mp4
    │  │  │      22.中间件的分类 - 了解3个内置的中间件.mp4
    │  │  │      23.中间件的分类 - 演示express.static中间件的使.mp4
    │  │  │      24.中间件的分类 - 演示express.urlencoded中间.mp4
    │  │  │      25.中间件的分类 - 演示body-parser第三方中间.mp4
    │  │  │      26.自定义中间件 - 介绍需求及实现步骤.mp4
    │  │  │      27.自定义中间件 - 监听req的data事件.mp4
    │  │  │      28.自定义中间件 - 监听req的end事件.mp4
    │  │  │      29.自定义中间件 - 使用querystring模块解析请.mp4
    │  │  │      30.自定义中间件 - 为req挂载自定义的body属性.mp4
    │  │  │      31.自定义中间件 - 将自定义中间件封装为独立.mp4
    │  │  │      
    │  │  └─5-3 基于express写接口
    │  │          32.基于express写接口 - 创建基本的服务器.mp4
    │  │          33.基于express写接口 - 创建API路由模块.mp4
    │  │          34.基于express写接口 - 编写GET接口.mp4
    │  │          35.基于express写接口 - 编写POST接口.mp4
    │  │          
    │  ├─06、第六章 MySQL数据库
    │  │  ├─6-1 cors+jsonp
    │  │  │      36.cors - 接口的跨域问题.mp4
    │  │  │      37.cors - 使用cors中间件解决跨域问题.mp4
    │  │  │      38.cors - 了解cors的概念以及注意事项.mp4
    │  │  │      39.cors - 了解Access-Control-Allow-Origin的.mp4
    │  │  │      40.cors - 了解Access-Control-Allow-Headers.mp4
    │  │  │      41.cors - 了解Access-Control-Allow-Methods的作用.mp4
    │  │  │      42.cors - 简单请求的概念.mp4
    │  │  │      43.cors - 预检请求的概念.mp4
    │  │  │      45.jsonp - 回顾jsonp的概念与特点.mp4
    │  │  │      46.jsonp - 创建jsonp接口的注意事项.mp4
    │  │  │      47.jsonp - 实现jsonp的接口.mp4
    │  │  │      48.jsonp - 测试jsonp接口.mp4
    │  │  │      
    │  │  ├─6-2 数据库的基本概念
    │  │  │      00.学习目标.mp4
    │  │  │      01.数据库的基本概念 - 什么是数据库.mp4
    │  │  │      02.数据库的基本概念 - 常见的数据库及分类.mp4
    │  │  │      03.数据库的基本概念 - 了解传统型数据库的数.mp4
    │  │  │      04.数据库的基本概念 - 实际开发中库、表、行、.mp4
    │  │  │      05.安装MySQL - 了解需要安装哪些MySQL相关的软件.mp4
    │  │  │      06.安装MySQL - 介绍在Mac下如何安装MySQL.mp4
    │  │  │      07.安装MySQL - 演示如何在Windows10系统上.mp4
    │  │  │      08.MySQL的基本使用 - 使用MySQL Workbench连接数据库.mp4
    │  │  │      09.MySQL的基本使用 - 了解MySQL Workbench主界面的组成部分.mp4
    │  │  │      10.MySQL的基本使用 - 创建数据库.mp4
    │  │  │      11.MySQL的基本使用 - 创建数据表.mp4
    │  │  │      12.MySQL的基本使用 - 设计表的字段名称和数据.mp4
    │  │  │      13.MySQL的基本使用 - 设置字段的特殊标识.mp4
    │  │  │      14.MySQL的基本使用 - 向表中写入数据.mp4
    │  │  │      
    │  │  ├─6-3 sql
    │  │  │      15.sql - 介绍什么是SQL.mp4
    │  │  │      16.sql - 了解SQL能够做什么以及SQL的学习目标.mp4
    │  │  │      17.sql - 介绍SELECT语句的语法格式.mp4
    │  │  │      18.sql - 演示SELECT语句的两种用法.mp4
    │  │  │      19.sql - 演示INSERT INTO语句的使用.mp4
    │  │  │      20.sql - 演示UPDATE语句的使用.mp4
    │  │  │      21.sql - 演示DELETE语句的使用.mp4
    │  │  │      22.sql - 演示WHERE子句的使用.mp4
    │  │  │      23.sql - 演示AND和OR运算符的使用.mp4
    │  │  │      24.sql - 演示ORDER BY子句的基本使用.mp4
    │  │  │      25.sql - 演示ORDER BY的多重排序.mp4
    │  │  │      26.sql - 演示COUNT函数的使.mp4
    │  │  │      27.sql - 演示如何使用AS关键字为列设置别名.mp4
    │  │  │      28.sql - 演示如何保存和打开.sql的文件.mp4
    │  │  │      
    │  │  └─6-4 mysql模块
    │  │          29.mysql模块 - 了解在项目中操作MySQL数据.mp4
    │  │          30.mysql模块 - 安装与配置mysql模块.mp4
    │  │          31.mysql模块 - 测试mysql模块能否正常工作.mp4
    │  │          32.mysql模块 - 使用SELECT语句查询数据.mp4
    │  │          33.mysql模块 - 使用INSERT INTO语句插入数据.mp4
    │  │          34.mysql模块 - 说明id的唯一性.mp4
    │  │          35.mysql模块 - 演示插入数据的便捷方式.mp4
    │  │          36.mysql模块 - 使用UPDATE语句更新数据.mp4
    │  │          37.mysql模块 - 演示更新数据的便捷方式.mp4
    │  │          38.mysql模块 - 使用DELETE语句删除数据.mp4
    │  │          39.mysql模块 - 演示如何实现标记删除.mp4
    │  │          
    │  ├─07、第七章 身份认证
    │  │  ├─7-1 web开发模式
    │  │  │      01.web开发模式 - 了解服务端渲染的概念及优缺.mp4
    │  │  │      02.web开发模式 - 了解前后端分离的概念及优缺.mp4
    │  │  │      03.web开发模式 - 如何选择web开发模式.mp4
    │  │  │      
    │  │  ├─7-2 身份认证+session
    │  │  │      04.身份认证 - 什么是身份认证.mp4
    │  │  │      05.身份认证 - 了解为什么需要身份认证以及身份.mp4
    │  │  │      06.session - 了解HTTP协议的无状态性.mp4
    │  │  │      07.session - 如何突破HTTP无状态的限制.mp4
    │  │  │      08.session - 什么是cookie.mp4
    │  │  │      09.session - cookie在身份认证中的作用.mp4
    │  │  │      10.session - cookie不具有安全性.mp4
    │  │  │      11.session - 提高身份认证的安全性.mp4
    │  │  │      12.session - 介绍session的工作原理.mp4
    │  │  │      13.session - 安装并配置express-session中间件.mp4
    │  │  │      14.session - 向session中存数据.mp4
    │  │  │      15.session - 从session中取数据.mp4
    │  │  │      16.session - 清空session.mp4
    │  │  │      17.session - 演示session案例的效果并梳理实.mp4
    │  │  │      
    │  │  └─7-3 jwt
    │  │          18.jwt - 了解session认证的局限性以及jwt的概.mp4
    │  │          19.jwt - 了解jwt的工作原理.mp4
    │  │          20.jwt - 了解jwt的三个组成部分以及各自代表的.mp4
    │  │          21.jwt - 了解jwt的使用方式.mp4
    │  │          22.jwt - 安装并导入jwt相关的包.mp4
    │  │          23.jwt - 定义secret秘钥.mp4
    │  │          24.jwt - 调用jsonwebtoken提供的sign方法生成.mp4
    │  │          25.jwt - 将jwt字符串还原为json对象.mp4
    │  │          26.jwt - 使用req.user获取用户信息.mp4
    │  │          27.jwt - 捕获解析jwt失败后产生的错误.mp4
    │  │          
    │  └─08、第八章 大事件后台管理系统项目
    │      ├─8-1 准备工作
    │      │      01.准备工作 - 项目介绍.mp4
    │      │      02.准备工作 - 初始化项目结构.mp4
    │      │      03.准备工作 - 使用GitHub管理大事件的项目.mp4
    │      │      04.准备工作 - 安装VSCode的Live Server插件辅.mp4
    │      │      
    │      ├─8-10 删除文章
    │      │      21.删除文章 - 实现删除文章的功能.mp4
    │      │      22.删除文章 - 分析删除文章时存在的问题.mp4
    │      │      23.删除文章 - 判断页面中是否还有剩余数据.mp4
    │      │      24.删除文章 - 实现页码值-1的操作.mp4
    │      │      
    │      ├─8-11 发布文章
    │      │      25.发布文章 - 创建文章发布页面的基本结构.mp4
    │      │      26.发布文章 - 新建基本的表单结构.mp4
    │      │      27.发布文章 - 渲染文章类别对应的下拉选择框.mp4
    │      │      28.发布文章 - 渲染富文本编辑器.mp4
    │      │      29.发布文章 - 渲染封面裁剪区域.mp4
    │      │      30.发布文章 - 渲染提交按钮区域.mp4
    │      │      31.发布文章 - 点击选择封面按钮打开文件选择.mp4
    │      │      32.发布文章 - 将选择的图片设置到裁剪区域中.mp4
    │      │      33.发布文章 - 分析发布文章的实现步骤.mp4
    │      │      34.发布文章 - 基于Form表单创建FormData对象.mp4
    │      │      35.发布文章 - 将裁剪后的封面追加到FormData.mp4
    │      │      36.发布文章 - 发起Ajax请求实现发布文章的功能.mp4
    │      │      37.将开发完成的项目代码推送到GitHub.mp4
    │      │      
    │      ├─8-2 登录注册
    │      │      05.登录注册 - 绘制login页面的基本结构.mp4
    │      │      06.登录注册 - 实现登录和注册的按需切换.mp4
    │      │      07.登录注册 - 绘制登录表单的基本结构.mp4
    │      │      08.登录注册 - 美化登录表单的样式.mp4
    │      │      09.登录注册 - 绘制文本框前面的小图标.mp4
    │      │      10.登录注册 - 快速绘制注册的表单.mp4
    │      │      11.登录注册 - 为表单项添加验证规则.mp4
    │      │      12.登录注册 - 自定义校验规则.mp4
    │      │      13.登录注册 - 为注册表单设置校验规则.mp4
    │      │      14.登录注册 - 调用接口发起注册用户的请求.mp4
    │      │      15.登录注册 - 使用layer提示消息.mp4
    │      │      16.登录注册 - 调用接口发起登录的请求.mp4
    │      │      17.登录注册 - 在ajaxPrefilter中统一拼接请求的.mp4
    │      │      18.登录注册 - 提交login分支的代码到GitHub.mp4
    │      │      【补充】大事件项目接口说明.mp4
    │      │      
    │      ├─8-3 后台主页
    │      │      01.后台主页 - 获取用户的基本信息.mp4
    │      │      02.后台主页 - 渲染用户头像.mp4
    │      │      03.后台主页 - 统一为有权限的接口设置headers.mp4
    │      │      04.后台主页 - 实现退出功能.mp4
    │      │      05.后台主页 - 控制用户的访问权限.mp4
    │      │      06.后台主页 - 优化权限控制的代码.mp4
    │      │      07.后台主页 - 将本地仓库中的代码合并到GitH.mp4
    │      │      19.后台主页 - 快速实现后台主页的布局效果.mp4
    │      │      20.后台主页 - 修改侧边栏的结构.mp4
    │      │      21.后台主页 - 使用lay-shrink实现左侧菜单互斥.mp4
    │      │      22.后台主页 - 为菜单项添加图标.mp4
    │      │      23.后台主页 - 了解iframe标签如何使用.mp4
    │      │      24.后台主页 - 使用iframe标签在内容主体区域显.mp4
    │      │      25.后台主页 - 解决3个小问题.mp4
    │      │      26.后台主页 - 渲染图片头像和文字头像.mp4
    │      │      
    │      ├─8-4 基本资料
    │      │      08.基本资料 - 创建基本资料对应的页面.mp4
    │      │      09.基本资料 - 绘制基本资料对应的表单.mp4
    │      │      10.基本资料 - 获取用户的基本信息.mp4
    │      │      11.基本资料 - 使用form.val方法快速为表单赋值.mp4
    │      │      12.基本资料 - 实现表单的重置效果.mp4
    │      │      13.基本资料 - 发起请求更新用户的信息.mp4
    │      │      
    │      ├─8-5 重置密码
    │      │      14.重置密码 - 渲染重置密码的页面结构.mp4
    │      │      15.重置密码 - 为密码框定义校验规则.mp4
    │      │      16.重置密码 - 发起请求实现重置密码的功能.mp4
    │      │      
    │      ├─8-6 更换头像
    │      │      17.更换头像 - 初步渲染更换头像页面的结构.mp4
    │      │      18.更换头像 - 快速初始化头像裁剪区域.mp4
    │      │      19.更换头像 - 实现选择文件的功能.mp4
    │      │      20.更换头像 - 实现裁剪区域图片的替换.mp4
    │      │      21.更换头像 - 将裁剪后的头像上传到服务器.mp4
    │      │      22.更换头像 - 了解base64格式的图片.mp4
    │      │      23.更换头像 - 设置头部区域的快捷方式.mp4
    │      │      24.更换头像 - 将本地的代码推送到GitHub.mp4
    │      │      
    │      ├─8-7 文章类别
    │      │      01.文章类别 - 点击编辑按钮展示修改文章分类.mp4
    │      │      02.文章类别 - 为修改文章分类的弹出层填充表单.mp4
    │      │      03.文章类别 - 更新文章分类的数据.mp4
    │      │      04.文章类别 - 删除文章分类.mp4
    │      │      25.文章类别 - 创建并显示文章类别页面.mp4
    │      │      26.文章类别 - 快速绘制文章类别页面的基本结构.mp4
    │      │      27.文章类别 - 获取并使用模板引擎渲染表格的.mp4
    │      │      28.文章类别 - 使用layer.open实现弹出层效果.mp4
    │      │      30.文章类别 - 实现添加文章分类的功能.mp4
    │      │      
    │      ├─8-8 文章列表
    │      │      05.文章列表 - 创建文章列表页面.mp4
    │      │      06.文章列表 - 定义查询参数对象q.mp4
    │      │      07.文章列表 - 请求文章列表数据并使用模板引.mp4
    │      │      08.文章列表 - 定义美化时间格式的过滤器.mp4
    │      │      09.文章列表 - 绘制筛选区域的UI结构.mp4
    │      │      10.文章列表 - 发起请求获取并渲染文章分类的下.mp4
    │      │      11.文章列表 - 使用form.render方法重新渲染表单区域的UI结构.mp4
    │      │      12.文章列表 - 实现筛选的功能.mp4
    │      │      
    │      └─8-9 分页
    │              13.分页 - 定义渲染分页的renderPage方法.mp4
    │              14.分页 - 调用laypage.render方法渲染分页的.mp4
    │              15.分页 - 在jump回调函数中通过obj.curr获取.mp4
    │              16.分页 - 演示直接调用initTable方法时死循环.mp4
    │              17.分页 - 分析jump回调函数发生死循环的原因.mp4
    │              18.分页 - 解决jump回调函数发生死循环的问题.mp4
    │              19.分页 - 自定义分页的功能项.mp4
    │              20.分页 - 实现切换每页展示多少条数据的功能.mp4
    │              
    ├─05、阶段五 Vue.js项目实战开发
    │  ├─01、第一章 webpack+vue基础
    │  │  ├─1-1 vue前置知识-ES6模块化
    │  │  │      00.学习目标.mp4
    │  │  │      01.ES6模块化 - 什么是ES6模块化.mp4
    │  │  │      02.ES6模块化 - 在node.js中体验ES6模块化.mp4
    │  │  │      03.ES6模块化 - 默认导出与默认导入.mp4
    │  │  │      04.ES6模块化 - 默认导出与默认导入的注意事项.mp4
    │  │  │      05.ES6模块化 - 按需导出与按需导入.mp4
    │  │  │      06.ES6模块化 - 按需导出与按需导入的注意事项.mp4
    │  │  │      07.ES6模块化 - 直接导入并执行模块中的代码.mp4
    │  │  │      
    │  │  ├─1-10 webpack处理图片和字体图标文件
    │  │  │      13_webpack处理图片_配置asset.mp4
    │  │  │      14_webpack处理图片_优点和缺点.mp4
    │  │  │      15_webpack处理字体图标文件.mp4
    │  │  │      16_webpack加载器_babel降级js语法.mp4
    │  │  │      
    │  │  ├─1-11 webpack开发服务器
    │  │  │      17_webpack_开发服务器概述.mp4
    │  │  │      18_webpack_开发服务器_基础使用.mp4
    │  │  │      19_webpack_开发服务器_相关配置.mp4
    │  │  │      20_今日总结_作业布置.mp4
    │  │  │      上午总结.mp4
    │  │  │      复习_git克隆分支.mp4
    │  │  │      
    │  │  ├─1-12 Vue介绍
    │  │  │      01_vue_为什么学.mp4
    │  │  │      02_vue_是什么.mp4
    │  │  │      03_vue_开发方式_学习方法.mp4
    │  │  │      
    │  │  ├─1-13 Vue脚手架介绍
    │  │  │      04_vue_脚手架环境介绍.mp4
    │  │  │      05_vue_安装全局包.mp4
    │  │  │      06_vue_创建脚手架项目_启动.mp4
    │  │  │      07_vue_脚手架文件说明.mp4
    │  │  │      
    │  │  ├─1-14 Vue配置
    │  │  │      08_vue_主要的3个文件和关系.mp4
    │  │  │      09_vue_开发服务器_自定义配置.mp4
    │  │  │      10_vue_eslint简介_暂时关闭设置.mp4
    │  │  │      
    │  │  ├─1-15 Vue单文件开发
    │  │  │      11_vue_单vue文件开发方式介绍.mp4
    │  │  │      12_vue_清空脚手架欢迎界面.mp4
    │  │  │      13_阶段小结_总结脚手架项目环境.mp4
    │  │  │      
    │  │  ├─1-16 Vue指令(一)
    │  │  │      14_vue基础语法_插值表达式.mp4
    │  │  │      15_vue基础语法_MVVM设计模式.mp4
    │  │  │      16_vue指令_v-bind.mp4
    │  │  │      17_vue指令_v-on绑定事件.mp4
    │  │  │      18_vue事件_接收事件对象.mp4
    │  │  │      19_vue事件_修饰符.mp4
    │  │  │      20_vue按键_修饰符.mp4
    │  │  │      21_课上练习_翻转世界.mp4
    │  │  │      
    │  │  ├─1-17 Vue指令(二)
    │  │  │      22_vue指令_v-model基础使用.mp4
    │  │  │      23_vue指令_v-model绑定不同表单标签.mp4
    │  │  │      24_vue指令_v-model修饰符.mp4
    │  │  │      25_vue指令_v-text和v-html.mp4
    │  │  │      26_vue指令_v-show和v-if的使用.mp4
    │  │  │      27_案例_折叠面板.mp4
    │  │  │      28_v-for的使用.mp4
    │  │  │      29_今日总结_作业布置.mp4
    │  │  │      
    │  │  ├─1-18 补充和总结
    │  │  │      今日_上午总结.mp4
    │  │  │      补充_js里引入图片.mp4
    │  │  │      补充_笔记分享.mp4
    │  │  │      
    │  │  ├─1-19 v-for更新监测
    │  │  │      01_v-for_更新监测.mp4
    │  │  │      02_v-for_更新性能_为何高.mp4
    │  │  │      昨日反馈_new补充讲解.mp4
    │  │  │      昨日复习.mp4
    │  │  │      
    │  │  ├─1-2 vue前置知识-Promise
    │  │  │      08.Promise - 回调地狱以及Promise的作用.mp4
    │  │  │      09.Promise - Promise的基本概念.mp4
    │  │  │      10.Promise - 基于then-fs异步的读取文件内容.mp4
    │  │  │      11.Promise - 基于Promise按顺序读取文件的内容.mp4
    │  │  │      12.Promise - 通过.catch方法捕获错误.mp4
    │  │  │      13.Promise - Promise.all和Promise.race方法的.mp4
    │  │  │      14.Promise - 基于Promise封装异步读文件的.mp4
    │  │  │      15.Promise - 基于Promise封装异步读文件的方.mp4
    │  │  │      
    │  │  ├─1-20 虚拟DOM+Diff算法
    │  │  │      03_虚拟DOM.mp4
    │  │  │      04_diff算法.mp4
    │  │  │      05_key作用.mp4
    │  │  │      06_阶段小结.mp4
    │  │  │      
    │  │  ├─1-21 动态样式绑定和案例
    │  │  │      07_动态clas.mp4
    │  │  │      08_动态style.mp4
    │  │  │      09_案例_品牌管理_铺设.mp4
    │  │  │      10_案例_品牌管理_新增.mp4
    │  │  │      11_案例_品牌管理_删除.mp4
    │  │  │      
    │  │  ├─1-22 过滤器+案例
    │  │  │      12_过滤器_基础.mp4
    │  │  │      13_过滤器_更多用法.mp4
    │  │  │      14_案例_品牌管理_时间过滤器.mp4
    │  │  │      
    │  │  ├─1-23 计算属性+案例
    │  │  │      15_计算属性_基础.mp4
    │  │  │      16_计算属性_缓存特性.mp4
    │  │  │      17_案例_品牌管理_总价和均价.mp4
    │  │  │      18_计算属性_完整写法.mp4
    │  │  │      
    │  │  ├─1-24 全选和反选案例
    │  │  │      19_案例_小选框影响全选.mp4
    │  │  │      20_案例_全选框影响小选.mp4
    │  │  │      21_案例_反选.mp4
    │  │  │      
    │  │  ├─1-25 侦听器+案例
    │  │  │      22_侦听器_基础.mp4
    │  │  │      23_侦听器_深度侦听.mp4
    │  │  │      24_案例_品牌管理_数据缓存.mp4
    │  │  │      25_今日总结_作业布置.mp4
    │  │  │      上午总结.mp4
    │  │  │      
    │  │  ├─1-26 Vue组件
    │  │  │      01_为什么要使用组件.mp4
    │  │  │      02_组件基本概念.mp4
    │  │  │      03_组件_基本使用4步.mp4
    │  │  │      04_scoped作用过程.mp4
    │  │  │      昨日反馈.mp4
    │  │  │      昨日复习.mp4
    │  │  │      
    │  │  ├─1-27 组件通信
    │  │  │      05_组件通信_父向子.mp4
    │  │  │      06_组件通信_父向子_配合循环.mp4
    │  │  │      07_组件通信_单向数据流.mp4
    │  │  │      08_组件通信_子向父.mp4
    │  │  │      09_组件通信_跨组件传值.mp4
    │  │  │      09_阶段小结.mp4
    │  │  │      上午总结.mp4
    │  │  │      
    │  │  ├─1-28 todo案例
    │  │  │      10_todo案例_项目创建_静态页面准备.mp4
    │  │  │      11_todo案例_铺设待办任务.mp4
    │  │  │      12_todo案例_添加任务.mp4
    │  │  │      13_todo案例_删除任务.mp4
    │  │  │      14_todo案例_统计任务数量.mp4
    │  │  │      15_todo案例_筛选显示任务.mp4
    │  │  │      16_todo案例_清除已完成.mp4
    │  │  │      17_todo案例_数据缓存.mp4
    │  │  │      18_todo案例_全选.mp4
    │  │  │      19_今日总结_作业布置.mp4
    │  │  │      
    │  │  ├─1-29 Vue生命周期
    │  │  │      01_vue的生命周期.mp4
    │  │  │      02_vue的钩子函数.mp4
    │  │  │      03_钩子函数_初始化阶段.mp4
    │  │  │      04_钩子函数_挂载阶段.mp4
    │  │  │      05_钩子函数_更新阶段.mp4
    │  │  │      06_钩子函数_销毁阶段.mp4
    │  │  │      昨日反馈.mp4
    │  │  │      昨日复习.mp4
    │  │  │      
    │  │  ├─1-3 vue前置知识-async和await
    │  │  │      16.async和await - 了解async和await的基本使用.mp4
    │  │  │      17.async和await - async和await的使用注意事项.mp4
    │  │  │      
    │  │  ├─1-30 axios
    │  │  │      07_axios的介绍.mp4
    │  │  │      08_axios_获取所有图书_get请求.mp4
    │  │  │      09_axios_获取某本图书_get传参.mp4
    │  │  │      10_axios_添加书籍_post传参.mp4
    │  │  │      11_axios_全局默认配置基地址.mp4
    │  │  │      上午总结.mp4
    │  │  │      
    │  │  ├─1-31 ref属性
    │  │  │      12_ref获取原生DOM元素.mp4
    │  │  │      13_ref属性_组件对象.mp4
    │  │  │      
    │  │  ├─1-32 nextTick+name属性
    │  │  │      14_nextTick基础使用.mp4
    │  │  │      15_nextTick使用场景.mp4
    │  │  │      16_组件里name属性作用.mp4
    │  │  │      
    │  │  ├─1-33 购物车案例
    │  │  │      17_购物车案例_项目初始化.mp4
    │  │  │      18_购物车案例_头部自定义.mp4
    │  │  │      19_购物车案例_请求数据.mp4
    │  │  │      20_购物车案例_数据铺设.mp4
    │  │  │      21_购物车案例_商品选中效果.mp4
    │  │  │      22_购物车案例_商品数量控制.mp4
    │  │  │      23_购物车案例_全选.mp4
    │  │  │      24_购物车案例_总数量.mp4
    │  │  │      25_购物车案例_总价.mp4
    │  │  │      26_今日总结_作业布置.mp4
    │  │  │      昨日复习_昨日反馈.mp4
    │  │  │      
    │  │  ├─1-34 组件缓存
    │  │  │      01_动态组件.mp4
    │  │  │      02_组件缓存.mp4
    │  │  │      03_组件缓存_激活的钩子函数.mp4
    │  │  │      
    │  │  ├─1-35 插槽
    │  │  │      04_组件插槽.mp4
    │  │  │      05_组件插槽_默认内容.mp4
    │  │  │      07_作用域插槽.mp4
    │  │  │      08_作用域插槽_使用场景.mp4
    │  │  │      上午总结.mp4
    │  │  │      
    │  │  ├─1-36 自定义指令
    │  │  │      09_自定义指令.mp4
    │  │  │      10_自定义指令传值.mp4
    │  │  │      
    │  │  ├─1-37 tabar案例
    │  │  │      11_tabbar案例_项目初始化_组件复用.mp4
    │  │  │      12_tabbar案例_底部封装.mp4
    │  │  │      13_tabbar案例_点谁谁亮.mp4
    │  │  │      14_tabbar案例_组件切换.mp4
    │  │  │      15_tabbar案例_请求数据_铺设表格.mp4
    │  │  │      16_tabbar案例_插槽使用.mp4
    │  │  │      17_tabbar案例_tags铺设.mp4
    │  │  │      18_tabbar案例_删除数据.mp4
    │  │  │      19_tabbar案例_创建tags.mp4
    │  │  │      20_今日总结.mp4
    │  │  │      
    │  │  ├─1-38 Vue路由(一)
    │  │  │      01_什么是路由.mp4
    │  │  │      02_为什么要学路由.mp4
    │  │  │      03_如何使用路由.mp4
    │  │  │      04_组件分类.mp4
    │  │  │      05_vue-router基础使用.mp4
    │  │  │      06_声明式导航_基础使用.mp4
    │  │  │      07_声明式导航_跳转传值.mp4
    │  │  │      昨日反馈.mp4
    │  │  │      昨日复习.mp4
    │  │  │      
    │  │  ├─1-39 Vue路由(二
    │  │  │      08_路由重定向.mp4
    │  │  │      09_路由404设置.mp4
    │  │  │      10_路由模式修改.mp4
    │  │  │      11_编程式导航.mp4
    │  │  │      12_编程式导航_传参.mp4
    │  │  │      13_路由嵌套.mp4
    │  │  │      14_激活类名的区别.mp4
    │  │  │      15_路由守卫.mp4
    │  │  │      
    │  │  ├─1-4 vue前置知识-EventLoop
    │  │  │      18.EventLoop - 同步任务和异步任务.mp4
    │  │  │      19.EventLoop - 同步任务和异步任务的执行过程.mp4
    │  │  │      20.EventLoop - EventLoop的概念及经典面试题.mp4
    │  │  │      
    │  │  ├─1-40 Vant组件库
    │  │  │      16_vant组件库_介绍.mp4
    │  │  │      17_vant组件库_全部引入.mp4
    │  │  │      18_vant组件库_手动按需引入.mp4
    │  │  │      20_vant组件库_弹出框.mp4
    │  │  │      21_vant组件库_登陆表单.mp4
    │  │  │      22_今日总结.mp4
    │  │  │      
    │  │  ├─1-41 网易云音乐项目初始化
    │  │  │      1.0_网易云音乐_本地接口.mp4
    │  │  │      1.1_网易云音乐_本地接口启动.mp4
    │  │  │      1.2_网易云音乐_前端项目初始化.mp4
    │  │  │      1.3_网易云音乐_需求分析.mp4
    │  │  │      1.4_网易云音乐_路由准备.mp4
    │  │  │      
    │  │  ├─1-42 TabBar+NavBar+网络请求封装
    │  │  │      1.5_网易云音乐_TabBar组件.mp4
    │  │  │      1.6_网易云音乐_NavBar导航组件.mp4
    │  │  │      1.7_网易云音乐_NavBar标题切换.mp4
    │  │  │      1.8_网易云音乐_网络请求封装.mp4
    │  │  │      
    │  │  ├─1-43 推荐歌单+搜索关键字
    │  │  │      1.10_网易云音乐_首页_最新音乐.mp4
    │  │  │      1.11_网易云音乐_搜索_热搜关键字.mp4
    │  │  │      1.12_网易云音乐_搜索_点击热搜_搜索结果.mp4
    │  │  │      1.9_网易云音乐_首页_推荐歌单.mp4
    │  │  │      
    │  │  ├─1-44 搜索加载更多
    │  │  │      1.13_网易云音乐_输入框_搜索结果.mp4
    │  │  │      1.14_网易云音乐_搜索结果_加载更多.mp4
    │  │  │      1.15_网易云音乐_加载更多_bug修复.mp4
    │  │  │      
    │  │  ├─1-45 播放音乐
    │  │  │      1.16_网易云音乐_输入框_防抖.mp4
    │  │  │      1.17_网易云音乐_页码bug修复.mp4
    │  │  │      1.18_网易云音乐_Layout边距修复.mp4
    │  │  │      1.19_网易云音乐_SongItem封装.mp4
    │  │  │      1.20_网易云音乐_播放音乐.mp4
    │  │  │      1.21_网易云音乐_vant适配.mp4
    │  │  │      
    │  │  ├─1-5 vue前置知识-宏任务和微任务
    │  │  │      21.宏任务和微任务 - 宏任务与微任务的概念.mp4
    │  │  │      22.宏任务和微任务 - 举例分析宏任务和微任务的.mp4
    │  │  │      23.宏任务和微任务 - 经典面试题 - 1.mp4
    │  │  │      24.宏任务和微任务 - 经典面试题 - 2.mp4
    │  │  │      
    │  │  ├─1-6 vue前置知识案例-API接口案例
    │  │  │      25.API接口案例 - 初始化项目.mp4
    │  │  │      26.API接口案例 - 创建db数据库操作模块.mp4
    │  │  │      27.API接口案例 - 创建user_ctrl模块.mp4
    │  │  │      28.API接口案例 - 创建并使用user_router路由模.mp4
    │  │  │      29.API接口案例 - 使用try…catch捕获异常错误.mp4
    │  │  │      30.总结.mp4
    │  │  │      
    │  │  ├─1-7 webpack基本使用
    │  │  │      01_webpack_为何学.mp4
    │  │  │      02_webpack_基本概述.mp4
    │  │  │      03_webpack_使用前_准备工作.mp4
    │  │  │      04_webpack_基本使用_打包2个js文件.mp4
    │  │  │      
    │  │  ├─1-8 webpack打包
    │  │  │      05_webpack_更新打包_重新打包.mp4
    │  │  │      06_webpack_修改默认入口和出口.mp4
    │  │  │      07_webpack_打包流程.mp4
    │  │  │      08_webpack案例_隔行变色.mp4
    │  │  │      09_webpack插件_自动生成html文件.mp4
    │  │  │      10_webpack_打包css文件问题.mp4
    │  │  │      
    │  │  └─1-9 webpack加载器
    │  │          11_webpack加载器_打包css文件.mp4
    │  │          12_webpack加载器_打包less文件.mp4
    │  │          
    │  ├─02、第二章 社交媒体-黑马头条项目
    │  │  ├─2-1 Vuex
    │  │  │      1.Vuex基础-介绍.mp4
    │  │  │      10.1设计categtory和newlist的vuex模块.mp4
    │  │  │      10.2分类模块下设置分类数组和当前激活分类.mp4
    │  │  │      10.3遍历分类数据并判断激活class.mp4
    │  │  │      10.4封装调用获取分类action,激活第一个分类.mp4
    │  │  │      10.5定义新闻数据,并封装获取新闻的Action.mp4
    │  │  │      10.6监听激活分类,触发获取新闻Action.mp4
    │  │  │      10.7处理显示新闻内容的数据.mp4
    │  │  │      2.vuex基础-初始化功能.mp4
    │  │  │      3.vuex基础-state.mp4
    │  │  │      4.vuex基础-mutations.mp4
    │  │  │      5.vuex基础-actions.mp4
    │  │  │      6.vuex基础-getters.mp4
    │  │  │      7.1为什么会有模块化.mp4
    │  │  │      7.2模块化的简单应用.mp4
    │  │  │      7.3模块化中的命名空间.mp4
    │  │  │      8.vuex案例-搭建黑马头条项目.mp4
    │  │  │      9.vuex案例-封装分类组件和频道组件.mp4
    │  │  │      
    │  │  ├─2-10 编辑用户资料
    │  │  │      01 编辑用户资料-修改头像-功能介绍.mp4
    │  │  │      02 编辑用户资料-修改头像-图片上传预览(处理file-input).mp4
    │  │  │      03 编辑用户资料-修改头像-图片上传预览(功能.mp4
    │  │  │      04 编辑用户资料-修改头像-图片上传预览(样式处理).mp4
    │  │  │      05 编辑用户资料-修改头像-图片裁切(初始化).mp4
    │  │  │      06 编辑用户资料-修改头像-图片裁切(配置说明).mp4
    │  │  │      07 编辑用户资料-修改头像-图片裁切(获取结果.mp4
    │  │  │      08 编辑用户资料-修改头像-图片裁切(处理完.mp4
    │  │  │      13 编辑用户资料-模块介绍.mp4
    │  │  │      14 编辑用户资料-创建页面组件并配置路由.mp4
    │  │  │      15 编辑用户资料-页面布局.mp4
    │  │  │      16 编辑用户资料-展示用户信息.mp4
    │  │  │      17 编辑用户资料-修改昵称-处理弹出层.mp4
    │  │  │      18 编辑用户资料-修改昵称-内容组件.mp4
    │  │  │      19 编辑用户资料-修改昵称-内容布局.mp4
    │  │  │      20 编辑用户资料-修改昵称-数据处理.mp4
    │  │  │      21 编辑用户资料-修改昵称-处理完成.mp4
    │  │  │      22 编辑用户资料-修改性别.mp4
    │  │  │      23 编辑用户资料-修改生日-准备.mp4
    │  │  │      24 编辑用户资料-修改生日-处理完成.mp4
    │  │  │      
    │  │  ├─2-2 项目初始化
    │  │  │      00-项目演示.mp4
    │  │  │      01 项目初始化-模块介绍.mp4
    │  │  │      02 项目初始化-使用VueCLI创建项目.mp4
    │  │  │      03 项目初始化-加入Git版本管理.mp4
    │  │  │      04 项目初始化-调整初始目录结构.mp4
    │  │  │      05 项目初始化-导入图标素材.mp4
    │  │  │      06 项目初始化-引入Vant组件库.mp4
    │  │  │      07 项目初始化-移动端REM适配.mp4
    │  │  │      08 项目初始化-移动端REM适配(关于PostCS.mp4
    │  │  │      09 项目初始化-封装请求模块.mp4
    │  │  │      
    │  │  ├─2-3 登录注册
    │  │  │      01 登录注册-登录状态提示.mp4
    │  │  │      02 登录注册-表单验证.mp4
    │  │  │      03 登录注册-发送验证码-验证手机号.mp4
    │  │  │      04 登录注册-发送验证码-使用倒计时组件.mp4
    │  │  │      05 登录注册-验证码处理-发送验证码.mp4
    │  │  │      06 登录注册-处理用户Token.mp4
    │  │  │      07 登录注册-封装本地存储操作模块.mp4
    │  │  │      08 登录注册-关于Token过期问题.mp4
    │  │  │      10 项目初始化-模块总结.mp4
    │  │  │      11 登录注册-模块介绍.mp4
    │  │  │      13 登录注册-准备-布局结构.mp4
    │  │  │      14 登录注册-准备-布局样式.mp4
    │  │  │      15 登录注册-实现基本登录功能.mp4
    │  │  │      黑马头条接口问题说明【重要,后续接口有问题,可以使用备用接口】.mp4
    │  │  │      
    │  │  ├─2-4 个人中心
    │  │  │      09 个人中心-模块介绍.mp4
    │  │  │      10 个人中心-TabBar处理.mp4
    │  │  │      11 个人中心-页面布局-顶部未登录.mp4
    │  │  │      12 个人中心-页面布局-顶部已登录状态.mp4
    │  │  │      13 个人中心-页面布局-宫格导航.mp4
    │  │  │      14 个人中心-处理页面显示状态.mp4
    │  │  │      15 个人中心-用户退出.mp4
    │  │  │      16 个人中心-展示当前登录用户信息.mp4
    │  │  │      17 个人中心-优化设置Token.mp4
    │  │  │      补充】个人中心-页面布局-消息通知和小智.mp4
    │  │  │      
    │  │  ├─2-5 首页-展示文章列表
    │  │  │      01 首页-文章列表项-样式调整.mp4
    │  │  │      01 首页-页面布局-头部导航栏.mp4
    │  │  │      02 首页-处理文章频道列表-使用Tab标签页组件.mp4
    │  │  │      02 首页-文章列表项-关于第三方图片资源403问.mp4
    │  │  │      03 首页-处理文章频道列表-样式调整(基础样式).mp4
    │  │  │      03 首页-文章列表项-处理相对时间(初始化Day.mp4
    │  │  │      04 首页-文章列表项-处理相对时间(处理完成).mp4
    │  │  │      04-首页-处理文章频道列表-样式调整(处理汉堡.mp4
    │  │  │      06 首页-文章列表-创建列表组件.mp4
    │  │  │      07 首页 展示文章列表-使用List列表组件.mp4
    │  │  │      08 首页-展示文章列表-请求获取数据.mp4
    │  │  │      09 首页-展示文章列表-处理响应结果.mp4
    │  │  │      10 首页-展示文章列表-请求失败的处理.mp4
    │  │  │      11 首页-展示文章列表-下拉刷新.mp4
    │  │  │      12 首页-展示文章列表-头部固定定位.mp4
    │  │  │      13 首页-展示文章列表-记住列表的滚动位置.mp4
    │  │  │      14 首页-文章列表项-准备组件.mp4
    │  │  │      15 首页-文章列表项-展示列表项内容.mp4
    │  │  │      
    │  │  ├─2-6 频道编辑
    │  │  │      01 频道编辑-数据持久化-业务分析.mp4
    │  │  │      02 频道编辑-数据持久化-添加频道.mp4
    │  │  │      03 频道编辑-数据持久化-删除频道.mp4
    │  │  │      04 频道编辑-正确的获取展示首页频道列表.mp4
    │  │  │      05 频道编辑-模块介绍.mp4
    │  │  │      06 文章搜索-创建组件并配置路由.mp4
    │  │  │      06 频道编辑-使用弹出层组件.mp4
    │  │  │      07 频道编辑-创建频道编辑组件.mp4
    │  │  │      08 频道编辑-页面布局.mp4
    │  │  │      09 频道编辑-样式调整.mp4
    │  │  │      10 频道编辑-展示我的频道.mp4
    │  │  │      11 频道编辑-处理激活频道高亮.mp4
    │  │  │      12 频道编辑-展示推荐频道-获取所有频道.mp4
    │  │  │      13 频道编辑-展示推荐频道-处理完成.mp4
    │  │  │      14 频道编辑-添加频道.mp4
    │  │  │      15 频道编辑-处理编辑状态.mp4
    │  │  │      16 频道编辑-切换频道.mp4
    │  │  │      17 频道编辑-删除频道.mp4
    │  │  │      
    │  │  ├─2-7 文章搜索
    │  │  │      01 文章搜索-历史记录-添加历史记录.mp4
    │  │  │      02 文章搜索-历史记录-展示历史记录.mp4
    │  │  │      05 文章搜索-模块介绍.mp4
    │  │  │      07 文章搜索-页面布局-搜索栏.mp4
    │  │  │      08 文章搜索-页面布局-完成.mp4
    │  │  │      09 文章搜索-处理页面展示逻辑.mp4
    │  │  │      10 文章搜索-联想建议-获取并监视输入框内容.mp4
    │  │  │      11 文章搜索-联想建议-请求获取展示数据.mp4
    │  │  │      12 文章搜索-联想建议-优化防抖.mp4
    │  │  │      13 文章搜索-联想建议-搜索关键字高亮-思路.mp4
    │  │  │      14 文章搜索-联想建议-搜索关键字高亮.mp4
    │  │  │      15 文章搜索-搜索结果-传递搜索内容.mp4
    │  │  │      16 文章搜索-搜索结果-处理完成.mp4
    │  │  │      
    │  │  ├─2-8 文章详情
    │  │  │      01 文章详情-关注用户(视图处理).mp4
    │  │  │      02 文章详情-关注用户(实现基本功能.mp4
    │  │  │      03 文章搜索-历史记录-处理删除显示状态.mp4
    │  │  │      03 文章详情-关注用户(loading处理).mp4
    │  │  │      04 文章搜索-历史记录-处理删除操作.mp4
    │  │  │      04 文章详情-关注用户(组件封装).mp4
    │  │  │      05 文章搜索-历史记录-数据持久.mp4
    │  │  │      05 文章详情-关注用户(在组件上使用v-mod.mp4
    │  │  │      06 文章详情-文章收藏(准备组件).mp4
    │  │  │      06 文章详情-模块介绍.mp4
    │  │  │      07 文章详情-创建组件并配置路由.mp4
    │  │  │      07 文章详情-文章收藏(视图处理).mp4
    │  │  │      08 文章详情-使用组件Props解耦路由参数.mp4
    │  │  │      08 文章详情-文章收藏(处理完成.mp4
    │  │  │      09 文章详情-文章点赞(准备组件).mp4
    │  │  │      09 文章详情-页面布局.mp4
    │  │  │      10 文章详情-文章点赞(处理完成).mp4
    │  │  │      10 文章详情-请求获取文章数据(404).mp4
    │  │  │      12 文章详情-关于后端返回数据中的大数字问题.mp4
    │  │  │      13 文章详情-关于后端返回数据中的大数字问题.mp4
    │  │  │      14 文章详情-展示文章详情.mp4
    │  │  │      15 文章详情-处理内容加载状态.mp4
    │  │  │      16 文章详情-关于文章正文的样式.mp4
    │  │  │      17 文章详情-图片点击预览(使用ImagePreview 组件).mp4
    │  │  │      18 文章详情-图片点击预览(处理完成).mp4
    │  │  │      
    │  │  └─2-9 文章评论
    │  │          01 文章评论-评论回复-功能介绍.mp4
    │  │          02 文章评论-评论回复-准备弹出层.mp4
    │  │          03 文章评论-评论回复-点击回复展示弹出层.mp4
    │  │          04 文章评论-评论回复-封装组件.mp4
    │  │          05 文章评论-评论回复-将点击回复的评论项传递.mp4
    │  │          06 文章评论-评论回复-处理头部及当前评论项.mp4
    │  │          07 文章评论-评论回复-展示回复列表(基本处.mp4
    │  │          08 文章评论-评论回复-展示回复列表(解决重复.mp4
    │  │          09 文章评论-评论回复-展示回复列表(解决内容不重新获取问题).mp4
    │  │          10 文章评论-评论回复-发布回复(处理底部视图.mp4
    │  │          11 文章评论-模块介绍.mp4
    │  │          11 文章评论-评论回复-发布回复(参数处理).mp4
    │  │          12 文章评论-展示文章评论列表-准备组件.mp4
    │  │          12 文章评论-评论回复-发布回复(处理完成).mp4
    │  │          13 文章评论-展示文章评.mp4
    │  │          14 文章评论-展示文章评论总数量.mp4
    │  │          15 文章评论-评论列表项组件.mp4
    │  │          16 文章评论-评论点赞-视图处理.mp4
    │  │          17 文章评论-评论点赞-处理完成.mp4
    │  │          18 文章评论-发布文章评论-准备弹出层.mp4
    │  │          19 文章评论-发布文章评论-准备组件.mp4
    │  │          20 文章评论-发布文章评论-请求发布.mp4
    │  │          21 文章评论-发布文章评论-发布成功处理.mp4
    │  │          22 文章评论-发布文章评论-空内容处理.mp4
    │  │          
    │  ├─03、第三章 HR-saas中台管理项目
    │  │  ├─3-1 项目前置知识
    │  │  │      1.1实现表单基本结构.mp4
    │  │  │      1.2表单校验的先决条件.mp4
    │  │  │      1.3表单校验规则.mp4
    │  │  │      1.4自定义校验规则.mp4
    │  │  │      1.5手动校验的实现.mp4
    │  │  │      2.1关于Promise你必须知道几件事.mp4
    │  │  │      2.异步编程的终极方案.mp4
    │  │  │      
    │  │  ├─3-10 权限设计和管理
    │  │  │      1.权限设计-RBAC的权限设计思想.mp4
    │  │  │      2.1新建分配角色窗体.mp4
    │  │  │      2.2获取角色列表和当前用户角色.mp4
    │  │  │      2.3给员工分配角色.mp4
    │  │  │      3.1新建权限点管理页面.mp4
    │  │  │      3.2获取权限数据并转化树形.mp4
    │  │  │      3.3新增编辑权限的弹层.mp4
    │  │  │      3.4新增,编辑,删除权限点.mp4
    │  │  │      4.1新建分配权限弹出层1.mp4
    │  │  │      4.1新建分配权限弹出层2.mp4
    │  │  │      4.2给角色分配权限.mp4
    │  │  │      5.1权限受控的主体思路.mp4
    │  │  │      5.2新建Vuex中管理权限的模块.mp4
    │  │  │      5.3Vuex筛选权限路由.mp4
    │  │  │      5.4权限拦截出调用筛选权限Action.mp4
    │  │  │      5.5静态路由动态路由解除合并.mp4
    │  │  │      6. 登出时,重置路由权限和 404问题.mp4
    │  │  │      7.1功能权限的受控思路.mp4
    │  │  │      7.2使用Mixin技术将检查方法注入.mp4
    │  │  │      
    │  │  ├─3-11 首页
    │  │  │      1.全模块集成.mp4
    │  │  │      1.首页的页面结构.mp4
    │  │  │      2.首页用户资料显示.mp4
    │  │  │      3.1新建工作日历组件结构.mp4
    │  │  │      3.2实现工作日历逻辑.mp4
    │  │  │      4.1了解雷达图.mp4
    │  │  │      4.2封装雷达图插件.mp4
    │  │  │      5.审批流程业务的基本介绍.mp4
    │  │  │      6.提交一个离职审批-弹层.mp4
    │  │  │      6.提交一个离职审批-调用接口.mp4
    │  │  │      
    │  │  ├─3-12 多语言tab页
    │  │  │      1.全屏插件的引用.mp4
    │  │  │      2.动态主题的设置.mp4
    │  │  │      3.1初始化多语言包-2.mp4
    │  │  │      3.1初始化多语言包.mp4
    │  │  │      3.2引入自定义语言包.mp4
    │  │  │      3.3在左侧菜单中应用多语言包.mp4
    │  │  │      3.4封装多语言插件.mp4
    │  │  │      4.tab页的视图引入.mp4
    │  │  │      
    │  │  ├─3-13 项目打包上线
    │  │  │      1.打包之前的路由模式.mp4
    │  │  │      2.1性能分析.mp4
    │  │  │      2.2webpack排除打包.mp4
    │  │  │      2.3CDN文件配置.mp4
    │  │  │      2.4注入CDN文件到模.mp4
    │  │  │      3.1使用koa框架部署项目.mp4
    │  │  │      3.2解决history页面访问问题.mp4
    │  │  │      3.3解决生产环境跨域问题.mp4
    │  │  │      
    │  │  ├─3-2 项目基础环境搭建
    │  │  │      1.vue-element-admin的了解和介绍.mp4
    │  │  │      2.搭建项目前的一些基本准备.mp4
    │  │  │      3.项目模板启动和目录介绍.mp4
    │  │  │      4.1项目运行机制和代码注释-main.js.mp4
    │  │  │      4.2项目运行机制和代码注释-App.vue.mp4
    │  │  │      4.3项目运行机制和代码注释-permission.j.mp4
    │  │  │      4.4项目运行机制和代码注释.mp4
    │  │  │      4.5.6项目运行机制和代码注释-scss-icons.mp4
    │  │  │      5.1SCSS处理的了解和使用-搭建小型的测试环境.mp4
    │  │  │      5.2SCSS处理的了解和使用-基本语法.mp4
    │  │  │      7.2api模块的单独封装.mp4
    │  │  │      8.公共资源图片和统一样式.mp4
    │  │  │      
    │  │  ├─3-3 登录模块
    │  │  │      1.设置固定的本地访问端口和网站名称.mp4
    │  │  │      2.登录页面的基础布局.mp4
    │  │  │      3.1表单校验的先决条件.mp4
    │  │  │      3.2手机号和密码的校.mp4
    │  │  │      3.3关于修饰符.mp4
    │  │  │      4.1为什么会出现跨域.mp4
    │  │  │      4.2开发环境解决跨越代理.mp4
    │  │  │      5.封装单独的登录接口.mp4
    │  │  │      6.2封装登录的Action.mp4
    │  │  │      7.2处理axios的响应拦截器.mp4
    │  │  │      8.登录页面调用登录action,处理异常.mp4
    │  │  │      【补充说明】人资项目接口说明.mp4
    │  │  │      
    │  │  ├─3-4 主页模块
    │  │  │      1.1权限拦截的流程图.mp4
    │  │  │      1.2流程图转化代码.mp4
    │  │  │      10.Token失效的被动处理.mp4
    │  │  │      2.主页的左侧导航样式.mp4
    │  │  │      3.设置头部内容的布局和样式.mp4
    │  │  │      4. 获取用户资料接口和token注入.mp4
    │  │  │      5.封装获取用户资料的action并共享用户状态.mp4
    │  │  │      6.1权限拦截器调用action.mp4
    │  │  │      6.2获取头像接口合并数据.mp4
    │  │  │      7.2在main.js完成自定义指令全局注册.mp4
    │  │  │      8.实现登出功能.mp4
    │  │  │      9.1主动介入token处理的业务逻辑.mp4
    │  │  │      9.2流程图转化代码.mp4
    │  │  │      
    │  │  ├─3-5 路由和页面
    │  │  │      1.路由页面整理.mp4
    │  │  │      2.1新建模块的页面和路由文件.mp4
    │  │  │      2.2设置每个模块的路由规则.mp4
    │  │  │      3.静态路由和动态路由临时合并,形成左侧菜单.mp4
    │  │  │      7.1自定义指令.mp4
    │  │  │      
    │  │  ├─3-6 组织架构
    │  │  │      1.1认识组织架构.mp4
    │  │  │      1.2实现组织架构的头部内容.mp4
    │  │  │      1.3树形组件认识.mp4
    │  │  │      1.4实现树形的静态组织结构.mp4
    │  │  │      10.1封装编辑接口,保存区分场景.mp4
    │  │  │      10.2校验规则支持编辑场景下的校验.mp4
    │  │  │      2.1封装单独的树操作栏组件.mp4
    │  │  │      2.2在组织架构中应用操作栏组件.mp4
    │  │  │      3.1封装API接口,获取组织架构数据.mp4
    │  │  │      3.2将数组数据转化成树形结构.mp4
    │  │  │      4.1封装删除接口,注册下拉菜单事件.mp4
    │  │  │      4.2调用删除接口,通知父组件更新数据.mp4
    │  │  │      4.左侧菜单的显示逻辑,设置菜单图标.mp4
    │  │  │      5.1封装新增接口,新建组件中的弹层结构.mp4
    │  │  │      5.2点击新增子部门显示弹层组件.mp4
    │  │  │      6.1完成新增表单的基本校验条件.mp4
    │  │  │      6.2配置新增表单的基本校验规则.mp4
    │  │  │      6.3部门名称和部门编码的自定义校验.mp4
    │  │  │      6.4处理首部内容的pid数据.mp4
    │  │  │      7.新增部门功能-部门负责人数据.mp4
    │  │  │      8.1校验通过,调用新增接口.mp4
    │  │  │      8.3取消时重置数据和校验.mp4
    │  │  │      9.1点击编辑弹出层,记录当前节点.mp4
    │  │  │      9.2父组件调用子组件的获取详情方法.mp4
    │  │  │      9.3根据计算属性显示控制标题.mp4
    │  │  │      
    │  │  ├─3-7 公司角色和角色管理
    │  │  │      1.1通用工具栏的组件结构.mp4
    │  │  │      1.2组件统一注册.mp4
    │  │  │      2.1读取角色列表数据.mp4
    │  │  │      3.删除角色功能.mp4
    │  │  │      4.1封装编辑接口,新建编辑弹层.mp4
    │  │  │      4.2实现编辑功能,为新增功能留口.mp4
    │  │  │      5.新增角色功能.mp4
    │  │  │      8.2利用sync修饰符关闭新增弹层.mp4
    │  │  │      
    │  │  ├─3-8 员工管理
    │  │  │      1.建立公司角色页面的基本结构.mp4
    │  │  │      10.1安装excel所需依赖和按需加载.mp4
    │  │  │      10.3excel导出基本的结构.mp4
    │  │  │      10.4导出时间格式的处理.mp4
    │  │  │      10.5复杂表头的导出.mp4
    │  │  │      11.1详情页的基本布局和路由.mp4
    │  │  │      11.2读取和保存用户信息的接口.mp4
    │  │  │      11.3实现用户名和密码的修改.mp4
    │  │  │      12.1封装个人详情组件.mp4
    │  │  │      12.2封装岗位组件.mp4
    │  │  │      13.1读取个人保存个人信息.mp4
    │  │  │      13.2读取保存岗位信息.mp4
    │  │  │      14.配置腾讯云Cos.mp4
    │  │  │      2.员工列表页面的基本布局和结构.mp4
    │  │  │      3.员工列表数据请求和分页加载.mp4
    │  │  │      4.1利用列格式化属性处理聘用形式.mp4
    │  │  │      4.2过滤器解决时间格式的处理.mp4
    │  │  │      5.删除员工功能.mp4
    │  │  │      6.1新建员工弹层组件.mp4
    │  │  │      6.2引用弹出层,点击弹出.mp4
    │  │  │      6.3新增员工的表单校验.mp4
    │  │  │      6.4加载部门数据转化树形.mp4
    │  │  │      6.5点击部门赋值表单数据.mp4
    │  │  │      7.新增员工功能-确定-取消.mp4
    │  │  │      8.员工导入组件封装.mp4
    │  │  │      9.1建立公共导入的页面路由.mp4
    │  │  │      9.2分析excel导入代码,封装接口.mp4
    │  │  │      9.3实现excel导入.mp4
    │  │  │      9.4excel导入的时间问题.mp4
    │  │  │      
    │  │  └─3-9 图片上传、预览及打印
    │  │          15.封装上传图片组件-上传组件需求分析.mp4
    │  │          16.1新建文件上传组件.mp4
    │  │          16.2点击图片进行预览.mp4
    │  │          16.3根据上传数量控制上传按钮.mp4
    │  │          16.4删除图片和添加图片.mp4
    │  │          16.5上传之前检查.mp4
    │  │          16.6上传动作调用上传腾讯云.mp4
    │  │          16.7上传成功之后处理返回数据.mp4
    │  │          17.1将员工的头像和证件照赋值给上传组件.mp4
    │  │          17.2保存时处理头像和证件照的保存.mp4
    │  │          18.员工列表显示图片.mp4
    │  │          19.图片地址生成二维码.mp4
    │  │          20.1新建打印页面及路由.mp4
    │  │          20.2利用vue-print-nb进行打印.mp4
    │  │          
    │  ├─04、第四章 Vue3.0小兔鲜儿电商项目
    │  │  ├─4-1 Vue3.0组合式API(01)
    │  │  │      01-为什么学vue3.mp4
    │  │  │      02-vite基本使用.mp4
    │  │  │      03-创建vue应用.mp4
    │  │  │      04-选项API和组合API.mp4
    │  │  │      05-组合API-setup函数.mp4
    │  │  │      06-组合API-生命周期.mp4
    │  │  │      
    │  │  ├─4-10 首页头部导航组件和交互
    │  │  │      03-首页-顶部通栏布局.mp4
    │  │  │      07-首页-头部分类导航组件.mp4
    │  │  │      08-首页-头部分类导航渲染.mp4
    │  │  │      09-首页-头部分类导航交互.mp4
    │  │  │      10-首页-吸顶头部组件-传统实现.mp4
    │  │  │      11-首页-吸顶头部组件-组合API.mp4
    │  │  │      
    │  │  ├─4-11 首页主体区域布局和功能实现
    │  │  │      12-首页主体-左侧分类-结构渲染.mp4
    │  │  │      13-首页主体-左侧分类-弹层展示.mp4
    │  │  │      14-首页主体-左侧分类-处理品牌.mp4
    │  │  │      15-首页主体-左侧分类-骨架效果.mp4
    │  │  │      
    │  │  ├─4-12 轮播图布局+逻辑封装
    │  │  │      01-昨日回顾&今日介绍.mp4
    │  │  │      02-首页主体-轮播图-基础布局.mp4
    │  │  │      03-首页主体-轮播图-渲染结构.mp4
    │  │  │      04-首页主体-轮播图-逻辑封装.mp4
    │  │  │      
    │  │  ├─4-13 首页主体-面板封装
    │  │  │      05-首页主体-面板封装.mp4
    │  │  │      06-首页主体-新鲜好物.mp4
    │  │  │      07-首页主体-人气推荐.mp4
    │  │  │      08-首页主体-补充-vue动画.mp4
    │  │  │      09-首页主体-面板骨架效果.mp4
    │  │  │      
    │  │  ├─4-14 组件数据懒加载
    │  │  │      10-首页主体-组件数据懒加载.mp4
    │  │  │      11-首页主体-组件数据懒加载-补充.mp4
    │  │  │      12-首页主体-热门品牌-01基础功能.mp4
    │  │  │      13-首页主体-热门品牌-02骨架和数据懒加载.mp4
    │  │  │      
    │  │  ├─4-15 图片懒加
    │  │  │      14-首页主体-商品区块.mp4
    │  │  │      15-首页主体-最新专题.mp4
    │  │  │      16-首页主体-图片懒加载-01-IntersectionOb.mp4
    │  │  │      17-首页主体-图片懒加载-02-懒加载指令.mp4
    │  │  │      
    │  │  ├─4-16 面包屑组件
    │  │  │      00-昨日回顾&今日介绍.mp4
    │  │  │      01-顶级类目-面包屑组件-初级.mp4
    │  │  │      02-顶级类目-面包屑组件-高级-01过渡mp4.mp4
    │  │  │      02-顶级类目-面包屑组件-高级-02终极.mp4
    │  │  │      
    │  │  ├─4-17 批量注册组件+分类商品
    │  │  │      03-顶级类目-批量注册组件.mp4
    │  │  │      04-顶级类目-基础布局搭建-改造.mp4
    │  │  │      04-顶级类目-基础布局搭建.mp4
    │  │  │      05-顶级类目-分类商品-布局.mp4
    │  │  │      07-顶级类目-面包屑切换动画.mp4
    │  │  │      
    │  │  ├─4-18 筛选区展示
    │  │  │      08-二级类目-处理跳转细节.mp4
    │  │  │      09-二级类目-展示面包屑.mp4
    │  │  │      10-二级类目-筛选区展示.mp4
    │  │  │      
    │  │  ├─4-19 复选框组件封装+排序组件
    │  │  │      00-昨日回顾&今日介绍.mp4
    │  │  │      01-二级类目-复选框组件封装.mp4
    │  │  │      02-二级类目-结果区-排序组件.mp4
    │  │  │      
    │  │  ├─4-2 Vue3.0组合式API(02
    │  │  │      07-组合API-reactive函数.mp4
    │  │  │      08-组合API-toRef函数.mp4
    │  │  │      09-组合API-toRefs函数.mp4
    │  │  │      10-组合API-ref函数.mp4
    │  │  │      11-知识运用案例.mp4
    │  │  │      
    │  │  ├─4-20 无限加载组件+排序和筛选
    │  │  │      03-二级类目-结果区-数据加载-01-无限加载组件.mp4
    │  │  │      04-二级类目-结果区-数据加载-02-使用无限加.mp4
    │  │  │      05-二级类目-结果区-进行筛选-01-排序.mp4
    │  │  │      06-二级类目-结果区-进行筛选-02-筛选.mp4
    │  │  │      
    │  │  ├─4-21 图片预览组件+图片放大镜
    │  │  │      07-商品详情-基础布局.mp4
    │  │  │      08-商品详情-渲染面包屑.mp4
    │  │  │      09-商品详情-图片预览组件.mp4
    │  │  │      10-商品详情-图片放大镜.mp4
    │  │  │      11-商品详情-基本信息展示.mp4
    │  │  │      
    │  │  ├─4-22 城市组件
    │  │  │      00-昨日回顾&今日介绍.mp4
    │  │  │      01-商品详情-城市组件-基础布局.mp4
    │  │  │      02-商品详情-城市组件-获取数据.mp4
    │  │  │      03-商品详情-城市组件-交互逻辑.mp4
    │  │  │      
    │  │  ├─4-23 SKU&SPU概念
    │  │  │      04-规格组件-SKU&SPU概念.mp4
    │  │  │      05-规格组件-基础结构和样式.mp4
    │  │  │      06-规格组件-渲染与选中效果.mp4
    │  │  │      
    │  │  ├─4-24 规格组件禁用效果
    │  │  │      06-规格组件-渲染与选中效果.mp4
    │  │  │      07-规格组件-禁用效果-思路分析.mp4
    │  │  │      08-规格组件-禁用效果-路径字典.mp4
    │  │  │      09-规格组件-禁用效果-设置状态.mp4
    │  │  │      
    │  │  ├─4-25 规格组件数据通讯
    │  │  │      00-昨日反馈&今日介.mp4
    │  │  │      01-梳理下SKU组件选中和禁用功能.mp4
    │  │  │      02-规格组件-数据通讯-01根据skuId默认选中按钮.mp4
    │  │  │      03-规格组件-数据通讯-02选择sku后通知父.mp4
    │  │  │      
    │  │  ├─4-26 商品详情中的相关组件(一
    │  │  │      04-商品详情-数量选择组件.mp4
    │  │  │      05-商品详情-按钮组件.mp4
    │  │  │      06-商品详情-同类推荐组件.mp4
    │  │  │      
    │  │  ├─4-27 商品详情中的相关组件(二)
    │  │  │      07-商品详情-标签页组件.mp4
    │  │  │      08-商品详情-热榜组件.mp4
    │  │  │      09-商品详情-详情组件.mp4
    │  │  │      10-商品详情-注意事项组件.mp4
    │  │  │      
    │  │  ├─4-28 评价组件
    │  │  │      11-商品详情-评价组件-头部渲染.mp4
    │  │  │      12-商品详情-评价组件-实现列表-01需求确认.mp4
    │  │  │      12-商品详情-评价组件-实现列表-02-筛选参数.mp4
    │  │  │      12-商品详情-评价组件-实现列表-03-完成渲染&.mp4
    │  │  │      
    │  │  ├─4-29 图片预览+分页组件
    │  │  │      00-昨日反馈今日介绍.mp4
    │  │  │      02-商品详情-评价组件-图片预览.mp4
    │  │  │      03-商品详情-评价组件-分页组件-01依赖.mp4
    │  │  │      04-商品详情-评价组件-分页组件-03渲染组件.mp4
    │  │  │      04-商品详情-评价组件-分页组件-04数据通讯.mp4
    │  │  │      04-商品详情-评价组件分页组件-02得到需要.mp4
    │  │  │      
    │  │  ├─4-3 Vue3.0组合式API(03)
    │  │  ├─4-30 登录表单校验
    │  │  │      05-登录-路由与组件.mp4
    │  │  │      06-登录-基础布局.mp4
    │  │  │      07-登录-切换效果.mp4
    │  │  │      08-登录-表单组件.mp4
    │  │  │      09-登录-表单校验-01-大致步骤.mp4
    │  │  │      09-登录-表单校验-02-基本使用.mp4
    │  │  │      09-登录-表单校验-03-完成所有校验.mp4
    │  │  │      
    │  │  ├─4-31 消息提示组件封装
    │  │  │      10-登录-消息提示组件封装-01基本功能和动画.mp4
    │  │  │      10-登录-消息提示组件封装-02函数式调用.mp4
    │  │  │      
    │  │  ├─4-32 手机号登录
    │  │  │      00-昨日反馈&今日介绍.mp4
    │  │  │      01-登录-账户登录.mp4
    │  │  │      02-登录-手机号登录-01-思路分析&发送短信验.mp4
    │  │  │      03-登录-手机号登录-02完成登录.mp4
    │  │  │      
    │  │  ├─4-33 QQ登录流程分析+布局
    │  │  │      04-退出登录.mp4
    │  │  │      05-登录-QQ登录-流程分析.mp4
    │  │  │      06-登录-QQ登录-按钮处理-01-本地host.mp4
    │  │  │      07-登录-QQ登录-按钮处理-02-按钮跳转.mp4
    │  │  │      08-登录-QQ登录-回跳页面-01-基础布局.mp4
    │  │  │      09-登录-QQ登录-回跳页面-02-绑定帐号组件.mp4
    │  │  │      
    │  │  ├─4-34 QQ登录表单校验
    │  │  │      10-登录-QQ登录-已注册已绑定.mp4
    │  │  │      11-登录-QQ登录-已注册未绑定-01-获取唯.mp4
    │  │  │      12-登录-QQ登录-已注册未绑定-02-表单校验.mp4
    │  │  │      
    │  │  ├─4-35 QQ登录立即绑定+发送短信验证码
    │  │  │      13-登录-QQ登录-已注册未绑定-03-发送短信.mp4
    │  │  │      14-登录-QQ登录-已注册未绑定-04-立即绑定.mp4
    │  │  │      15-登录-QQ登录-未绑定没账号.mp4
    │  │  │      
    │  │  ├─4-36 加入购物车分析+编写Vue
    │  │  │      00-每日反馈&今日介绍.mp4
    │  │  │      01-购物车功能分析.mp4
    │  │  │      02-加入购物车-本地(约定存储字段,编写vuex的mutations和actions,.mp4
    │  │  │      
    │  │  ├─4-37 头部购物车商品列表+删除操作
    │  │  │      03-头部购物车-基础布局&渲染.mp4
    │  │  │      04-头部购物车-商品列表-本地.mp4
    │  │  │      05-头部购物车-删除操作-本地.mp4
    │  │  │      
    │  │  ├─4-38 购物车页面列表展示+单选操作
    │  │  │      06-购物车页面-基础布局.mp4
    │  │  │      07-购物车页面-列表展示-本地.mp4
    │  │  │      08-购物车页面-单选操作-本地.mp4
    │  │  │      09-购物车页面-全选操作-本地.mp4
    │  │  │      
    │  │  ├─4-39 购物车页面删除操作+确认框组件
    │  │  │      10-购物车页面-删除操作-本地.mp4
    │  │  │      11-购物车页面-确认框组件.mp4
    │  │  │      
    │  │  ├─4-4 Vue3.0组合式API(04
    │  │  │      15-组合API-父子通讯-01父传子.mp4
    │  │  │      15-组合API-父子通讯-02子传父.mp4
    │  │  │      15-组合API-父子通讯-03-v-model新用法.mp4
    │  │  │      16-组合API-依赖注入.mp4
    │  │  │      
    │  │  ├─4-40 购物车批量删除+修改数量
    │  │  │      00-每日反馈&今日介绍.mp4
    │  │  │      01-昨日回顾&今日介绍.mp4
    │  │  │      02-购物车页面-批量删除-本地.mp4
    │  │  │      03-购物车页面-无效商品-本地.mp4
    │  │  │      04-购物车页面-修改数量-本地.mp4
    │  │  │      
    │  │  ├─4-41 购物车-修改规格
    │  │  │      05-购物车页面-修改规格-本地-01组件准备和.mp4
    │  │  │      05-购物车页面-修改规格-本地-02-渲染规格.mp4
    │  │  │      05-购物车页面-修改规格-本地-03-修改规格.mp4
    │  │  │      
    │  │  ├─4-42 登录合并购物车+加入购物车+修改规格
    │  │  │      06-登录后-合并购物车.mp4
    │  │  │      07-登录后-商品列表.mp4
    │  │  │      08-登录后-加入购物车.mp4
    │  │  │      09-登录后-删除操作.mp4
    │  │  │      10-登录后-批量删除.mp4
    │  │  │      11-登录后-选中状态&修改数量.mp4
    │  │  │      12-登录后-修改规格 (1).mp4
    │  │  │      13-登录后-修改规格 (2).mp4
    │  │  │      
    │  │  ├─4-43 下单结算页面渲染
    │  │  │      14-下单结算.mp4
    │  │  │      15-结算-页面布局.mp4
    │  │  │      16-结算-渲染页面-01-获取数据&渲染结算页面.mp4
    │  │  │      17-结算-渲染页面-收货地址默认渲染.mp4
    │  │  │      
    │  │  ├─4-44 对话框组件封装
    │  │  │      00-昨日回顾&今日内容.mp4
    │  │  │      01-结算-对话框组件封装-01基本结构.mp4
    │  │  │      02-结算-对话框组件封装-02双向绑定.mp4
    │  │  │      
    │  │  ├─4-45 收获地址切换和添加
    │  │  │      03-结算-收货地址-切换-通知结算组件一个默认地.mp4
    │  │  │      04-结算-收货地址-切换-完成切换功能.mp4
    │  │  │      05-结算-收货地址-添加-准备对话框和表单.mp4
    │  │  │      
    │  │  ├─4-46 提交订单
    │  │  │      06-结算-收货地址-添加-添加收货地址完成.mp4
    │  │  │      07-结算-收货地址-.mp4
    │  │  │      08-结算-提交订单.mp4
    │  │  │      
    │  │  ├─4-47 支付宝支付
    │  │  │      09-支付-支付页面-基础布局.mp4
    │  │  │      10-支付-支付页面-信息展示-01获取数据展示金.mp4
    │  │  │      10-支付-支付页面-信息展示-02倒计时函数封装.mp4
    │  │  │      11-支付-支付流程.mp4
    │  │  │      12-支付-等待支付和跳转支付宝.mp4
    │  │  │      13-支付-结果展示.mp4
    │  │  │      
    │  │  ├─4-48 个人中心页面渲染
    │  │  │      00-昨日反馈&今日内容.mp4
    │  │  │      02-个人中心-基础布局.mp4
    │  │  │      03-个人中心-渲染页面.mp4
    │  │  │      04-个人中心-mock数据.mp4
    │  │  │      05-个人中心-模拟接口.mp4
    │  │  │      
    │  │  ├─4-49 个人中心菜单激活
    │  │  │      06-个人中心-菜单激活-01-routerlink的激活类名.mp4
    │  │  │      06-个人中心-菜单激活-02-嵌套路由写法改造.mp4
    │  │  │      
    │  │  ├─4-5 项目介绍
    │  │  │      01-补充-v-model语法糖.mp4
    │  │  │      02-补充-mixins语法.mp4
    │  │  │      03-项目介绍.mp4
    │  │  │      04-配套资源.mp4
    │  │  │      05-使用技术.mp4
    │  │  │      06-前情提要.mp4
    │  │  │      
    │  │  ├─4-50 订单管理tabs组件
    │  │  │      07-订单管理-tabs组件-01-体验jsx语法.mp4
    │  │  │      07-订单管理-tabs组件-02-动态渲染结构.mp4
    │  │  │      07-订单管理-tabs组件-03-实现双向绑定和点击自.mp4
    │  │  │      07-订单管理-tabs组件-04使用组件渲染订单tab.mp4
    │  │  │      
    │  │  ├─4-51 订单管理列表渲染
    │  │  │      08-订单管理-基础布局.mp4
    │  │  │      08-订单详情-查看物流-01-async的setup组件使.mp4
    │  │  │      09-订单管理-列表渲染-01-抽离组件和获取数据.mp4
    │  │  │      09-订单管理-列表渲染-02渲染订单组件.mp4
    │  │  │      
    │  │  ├─4-52 订单管理(条件查询、取消、删除订单、确认收货、查看物流)
    │  │  │      00-昨日回顾&今日内容.mp4
    │  │  │      01-订单管理-条件查询.mp4
    │  │  │      02-订单管理-取消订单.mp4
    │  │  │      03-订单管理-删除订单.mp4
    │  │  │      04-订单管理-确认收货.mp4
    │  │  │      05-订单管理-查看物流.mp4
    │  │  │      
    │  │  ├─4-53 订单详情功能完善
    │  │  │      06-订单详情-头部展示.mp4
    │  │  │      08-订单详情-查看物流-01-async的setup组件使.mp4
    │  │  │      09-订单详情-物流信息-02-teleport组件使用.mp4
    │  │  │      10-订单详情-商品信息.mp4
    │  │  │      11-订单详情-取消订单.mp4
    │  │  │      
    │  │  ├─4-54 项目总结和重点
    │  │  │      12-订单详情-确认收货.mp4
    │  │  │      13-再次购买.mp4
    │  │  │      14-总结-划重点.mp4
    │  │  │      15-总结-vue3.0踩过的坑.mp4
    │  │  │      16-Vue3.0关注功能.mp4
    │  │  │      
    │  │  ├─4-6 项目搭建
    │  │  │      07-创建项目.mp4
    │  │  │      08-目录调整-01调整代码和目录.mp4
    │  │  │      09-目录调整-额外配置文件.mp4
    │  │  │      10-vuex-vue3.0的根模块各种用法.mp4
    │  │  │      11-vuex-vue3.0模块的用法.mp4
    │  │  │      12-准备远端仓库查看代码.mp4
    │  │  │      
    │  │  ├─4-7 Vuex持久化+axios拦截
    │  │  │      13-vuex-持久化.mp4
    │  │  │      14-请求工具-01创建新axios实例&请求拦截器.mp4
    │  │  │      15-请求工具-响应拦截器.mp4
    │  │  │      
    │  │  ├─4-8 axios请求封装+路由设计
    │  │  │      16-请求工具-03-请求函数封装.mp4
    │  │  │      17-请求工具-04-测试请求工具函数.mp4
    │  │  │      18-路由设计.mp4
    │  │  │      19-首页-路由与组件.mp4
    │  │  │      20-首页-less的自动化导入-01准备变量文件和.mp4
    │  │  │      21-首页-less的自动化导入-02自动导入.mp4
    │  │  │      未命名(41).mp4
    │  │  │      未命名(42).mp4
    │  │  │      
    │  │  └─4-9 首页布局分析+布局
    │  │          03-首页-顶部通栏布局.mp4
    │  │          04-首页-顶部通栏布局-setup使用vuex数据需要.mp4
    │  │          05-首页-头部布局.mp4
    │  │          06-首页-底部布局.mp4
    │  │          
    │  └─05、第五章 Vue原理
    │      ├─5-1 Vue原理
    │      │      01.vue原理进阶-整体目标.mp4
    │      │      02.vue原理进阶-实现响应式的可选方案.mp4
    │      │      03.vue原理进阶-defineProperty基础使用.mp4
    │      │      04.vue原理进阶-set和get联动问题复现.mp4
    │      │      05.vue原理进阶-解决set和get联动.mp4
    │      │      06.vue原理进阶-更加通用的对象劫持转化.mp4
    │      │      07.vue原理进阶-拓展理解作用域闭包的独立性.mp4
    │      │      08.vue原理进阶-拓展函数调用拆解说明.mp4
    │      │      09.vue原理进阶-响应式总结.mp4
    │      │      10.vue原理进阶-数据变化映射到视图-命令式操作.mp4
    │      │      11.vue原理进阶-数据变化反映到视图-指令-.mp4
    │      │      12.vue原理进阶-数据变化反映到视图-指令-重.mp4
    │      │      13.vue原理进阶-视图裱花反映到数据-v-mode.mp4
    │      │      14.vue原理进阶-现存问题思考无法精准更新.mp4
    │      │      15.vue原理进阶-优化思路分析.mp4
    │      │      16.vue原理进阶-浏览器的事件模型了解.mp4
    │      │      17.vue原理进阶-.mp4
    │      │      18.vue原理进阶-发布订阅优化架构实现精准更新.mp4
    │      │      
    │      ├─5-2 Vue组件开发
    │      │      01.vue进阶知识点总结1.mp4
    │      │      02.vue进阶知识点总结2.mp4
    │      │      03.vue进阶知识点总结3.mp4
    │      │      04.vue组件开发依赖环境搭建.mp4
    │      │      05.Button组件开发-基础组件实现.mp4
    │      │      06.Button组件开发-实现type的配置.mp4
    │      │      07.Button组件开发-实现size的配置.mp4
    │      │      08.Button组件开发-实现参数的校验.mp4
    │      │      09、-Button组件开发-click事件处理【海量 资 源:666java.com】.mp4
    │      │      10.Button组件开发-整理总结回顾.mp4
    │      │      11.Editor组件开发-基础三方组件使用.mp4
    │      │      12.Editor组件开发-数据回显功能实现(数据到视图).mp4
    │      │      13.Editor组件开发-编辑内容修改绑定属性(视.mp4
    │      │      14.Editor组件开发-修复bug(内容变化及时再次回显).mp4
    │      │      15.Editor组件开发-重点知识总结.mp4
    │      │      
    │      └─5-3 SSR入门
    │              01.什么是服务端渲染.mp4
    │              02.什么是客户端渲染.mp4
    │              03.服务端渲染对比客户端渲染.mp4
    │              04.vue的服务端渲染.mp4
    │              05.理解同构的概念.mp4
    │              06.使用nuxt.js快速创建项目.mp4
    │              07.nuxt小项目介绍.mp4
    │              08.asyncData函数的理解与使用.mp4
    │              09.asyncData中请求真实数据并完成融合数据.mp4
    │              10.ssr重点总结.mp4
    │              
    ├─06、阶段六 微信小程序【拓展课程】
    │  ├─01、第一章 微信小程序
    │  │  ├─1-1 微信小程序快速入门
    │  │  │      00.学习目标.mp4
    │  │  │      01.小程序简介 - 小程序与普通网页开发的区别.mp4
    │  │  │      02.小程序简介 - 体验微信小程序.mp4
    │  │  │      03.第一个小程序 - 了解注册小程序开发账号的流.mp4
    │  │  │      04.第一个小程序 - 获取小程序的AppID.mp4
    │  │  │      05.第一个小程序 - 安装微信开发者工具.mp4
    │  │  │      06.第一个小程序 - 扫码登录到微信开发者工具.mp4
    │  │  │      07.第一个小程序 - 设置外观和代理.mp4
    │  │  │      08.第一个小程序 - 演示新建小程序项目的步骤.mp4
    │  │  │      09.第一个小程序 - 查看项目运行效果的两种方式.mp4
    │  │  │      10.第一个小程序 - 了解微信开发者工具主界面的.mp4
    │  │  │      11.小程序代码的构成 - 了解项目的基本组成结构.mp4
    │  │  │      12.小程序代码的构成 - 小程序页面的组成部分.mp4
    │  │  │      13.小程序代码的构成 - 认识小程序中的4种配置.mp4
    │  │  │      14.小程序代码的构成 - app.json文件.mp4
    │  │  │      15.小程序代码的构成 - project.config.json文件.mp4
    │  │  │      16.小程序代码的构成 - sitemap.json文件.mp4
    │  │  │      17.小程序代码的构成 - 页面的.json配置文.mp4
    │  │  │      18.小程序代码的构成 - 新建小程序页面.mp4
    │  │  │      19.小程序代码的构成 - 修改项目首页.mp4
    │  │  │      20.小程序代码的构成 - WXML的概念以及和H.mp4
    │  │  │      21.小程序代码的构成 - WXSS的概念以及和CS.mp4
    │  │  │      22.小程序代码的构成 - 了解小程序中JS文件的.mp4
    │  │  │      
    │  │  ├─1-10 本地生活综合案例
    │  │  │      39.案例 - 商铺列表页面的效果演示.mp4
    │  │  │      40.案例 - 把项目代码加载到微信开发者工具中.mp4
    │  │  │      41.案例 - 实现导航跳转并传参.mp4
    │  │  │      42.案例 - 动态设置商铺列表页面的标题内容.mp4
    │  │  │      43.案例 - 创建商铺列表页面的编译模式.mp4
    │  │  │      44.案例 - 了解API接口并定义需要的数据节点.mp4
    │  │  │      45.案例 - 定义getShopList方法获取商品列表数据.mp4
    │  │  │      46.案例 - 渲染商铺列表的UI结构并美化样式.mp4
    │  │  │      47.案例 - 展示loading提示效果.mp4
    │  │  │      48.案例 - 上拉触底时请求下一页数据.mp4
    │  │  │      49.案例 - 对上拉触底事件进行节流控制.mp4
    │  │  │      50.案例 - 演示并分析数据加载的问题.mp4
    │  │  │      51.案例 - 介绍判断是否还有下一页数据的公式.mp4
    │  │  │      52.案例 - 根据公式判断是否还有下一页的数据.mp4
    │  │  │      53.案例 - 为商铺列表页面开启下拉刷新效果.mp4
    │  │  │      54.案例 - 实现下拉刷新的功能.mp4
    │  │  │      55.案例 - 解决下拉刷新窗口效果不会自动关闭.mp4
    │  │  │      56.案例 - 使用wxs处理手机号.mp4
    │  │  │      57.总结.mp4
    │  │  │      
    │  │  ├─1-11 微信小程序组件和样式
    │  │  │      00.学习目标.mp4
    │  │  │      01.准备今天要用到的项目.mp4
    │  │  │      02.自定义组件 - 组件的创建与引用 - 创建自定义.mp4
    │  │  │      03.自定义组件 - 组件的创建与引用 - 局部引用.mp4
    │  │  │      04.自定义组件 - 组件的创建与引用 - 全局引用组.mp4
    │  │  │      05.自定义组件 - 组件的创建与引用 - 全局引用.mp4
    │  │  │      06.自定义组件 - 组件的创建与引用 - 组件和页面.mp4
    │  │  │      07.自定义组件 - 样式 - 组件的样式隔离特性.mp4
    │  │  │      08.自定义组件 - 样式 - 组件样式隔离的注意点.mp4
    │  │  │      09.自定义组件 - 样式 - 修改组件的样式隔离选项.mp4
    │  │  │      
    │  │  ├─1-12 微信小程序数据、方法、属性和数据监听
    │  │  │      10.自定义组件 - 数据、方法、属性 - 定义data私有数据.mp4
    │  │  │      11.自定义组件 - 数据、方法、属性 - methods方法.mp4
    │  │  │      12.自定义组件 - 数据、方法、属性 - 定义prop.mp4
    │  │  │      13.自定义组件 - 数据、方法、属性 - 使用max.mp4
    │  │  │      14.自定义组件 - 数据、方法、属性 - data和pr.mp4
    │  │  │      15.自定义组件 - 数据、方法、属性 - 使用setData修改properties的值.mp4
    │  │  │      16.自定义组件 - 数据监听器 - 什么是数据监听.mp4
    │  │  │      17.自定义组件 - 数据监听器 - 数据监听器的基.mp4
    │  │  │      
    │  │  ├─1-13 微信小程序数据监听案例
    │  │  │      18.自定义组件 - 数据监听器 - 监听对象属性的.mp4
    │  │  │      19.自定义组件 - 数据监听器案例 - 创建组件并.mp4
    │  │  │      21.自定义组件 - 数据监听器案例 - 定义button的事件处理函数.mp4
    │  │  │      22.自定义组件 - 数据监听器案例 - 监听对象中.mp4
    │  │  │      23.自定义组件 - 数据监听器案例 - 监听对象中.mp4
    │  │  │      24.自定义组件 - 纯数据字段 - 什么是纯数据字段.mp4
    │  │  │      25.自定义组件 - 纯数据字段 - 使用规则.mp4
    │  │  │      26.自定义组件 - 纯数据字段 - 使用纯数据字.mp4
    │  │  │      
    │  │  ├─1-14 组件生命周期和插槽
    │  │  │      27.自定义组件 - 组件的生命周期 - 组件全部的.mp4
    │  │  │      28.自定义组件 - 组件的生命周期 - 组件主要的.mp4
    │  │  │      29.自定义组件 - 组件的生命周期 - lifetimes节点.mp4
    │  │  │      30.自定义组件 - 组件所在页面的生命周期 - 概念.mp4
    │  │  │      31.自定义组件 - 组件所在页面的生命周期 - pag.mp4
    │  │  │      32.自定义组件 - 组件所在页面的生命周期 - 生成.mp4
    │  │  │      33.自定义组件 - 插槽 - 什么是插槽.mp4
    │  │  │      34.自定义组件 - 插槽 - 单个插槽.mp4
    │  │  │      35.自定义组件 - 插槽 - 启用多个插槽.mp4
    │  │  │      36.自定义组件 - 插槽 - 定义和使用多个插槽.mp4
    │  │  │      
    │  │  ├─1-15 父子组件通信和behaviors
    │  │  │      37.自定义组件 - 父子组件通信 - 了解父子组件.mp4
    │  │  │      38.自定义组件 - 父子组件通信 - 属性绑定.mp4
    │  │  │      39.自定义组件 - 父子组件通信 - 实现子组件的c.mp4
    │  │  │      40.自定义组件 - 父子组件通信 - 了解事件绑定.mp4
    │  │  │      41.自定义组件 - 父子组件通信 - 了解事件绑定.mp4
    │  │  │      42.自定义组件 - 父子组件通信 - 通过事件绑定实.mp4
    │  │  │      43.自定义组件 - 父子组件通信 - 使用selectCom.mp4
    │  │  │      44.自定义组件 - behaviors - 了解什么是behaviors以及它的工作方式.mp4
    │  │  │      45.自定义组件 - behaviors - 创建behavior.mp4
    │  │  │      46.自定义组件 - behaviors - 导入并使用beha.mp4
    │  │  │      47.自定义组件 - behaviors - 了解behavior中所.mp4
    │  │  │      48.自定义组件 - behaviors - 同名字段的覆盖和.mp4
    │  │  │      49.自定义组件 - 总结.mp4
    │  │  │      
    │  │  ├─1-16 vant 小程序 UI 组件库和API的Promise化
    │  │  │      01.导入需要用到的小程序项目.mp4
    │  │  │      02.使用npm包 - 小程序中对npm的支持与限制.mp4
    │  │  │      03.使用npm包 - vant - 了解什么是Vant Weapp.mp4
    │  │  │      04.使用npm包 - vant - 安装Vant组件库.mp4
    │  │  │      05.使用npm包 - vant - 使用Vant组件.mp4
    │  │  │      06.使用npm包 - vant - 定义和使用CSS变量.mp4
    │  │  │      07.使用npm包 - vant - 使用CSS变量定制Van.mp4
    │  │  │      08.使用npm包 - API的Promise化 - 什么是小程序API的Promise化.mp4
    │  │  │      09.使用npm包 - API的Promise化 - 安装并构建.mp4
    │  │  │      10.使用npm包 - API的Promise化 - 三个步骤实现API的Promise化.mp4
    │  │  │      11.使用npm包 - API的Promise化 - 调用Prom.mp4
    │  │  │      
    │  │  ├─1-17 微信小程序全局数据共享
    │  │  │      12.全局数据共享 - 什么是全局数据共享.mp4
    │  │  │      13.全局数据共享 - 小程序中的全局数据共享方案.mp4
    │  │  │      14.全局数据共享 - 安装并构建MobX相关的包.mp4
    │  │  │      15.全局数据共享 - 创建Store实例对象.mp4
    │  │  │      16.全局数据共享 - 定义计算属性.mp4
    │  │  │      17.全局数据共享 - 定义actions方法.mp4
    │  │  │      18.全局数据共享 - 了解将Store中的成员绑定.mp4
    │  │  │      19.全局数据共享 - 将Store中的成员绑定到页面上.mp4
    │  │  │      20.全局数据共享 - 在页面中使用Store中的成员.mp4
    │  │  │      21.全局数据共享 - 了解将Store中的成员绑定到.mp4
    │  │  │      22.全局数据共享 - 将Store中的成员绑定到组件上.mp4
    │  │  │      23.全局数据共享 - 在组件中使用Store中的成员.mp4
    │  │  │      
    │  │  ├─1-18 分包
    │  │  │      24.分包 - 基础概念 - 了解分包的概念以及好处.mp4
    │  │  │      25.分包 - 基础概念 - 分包前后项目的构.mp4
    │  │  │      26.分包 - 基础概念 - 分包的加载规则.mp4
    │  │  │      27.分包 - 基础概念 - 分包的体积限制.mp4
    │  │  │      29.分包 - 使用分包 - 演示在项目中如何配置分包.mp4
    │  │  │      30.分包 - 使用分包 - 设置分包的别名并查看分.mp4
    │  │  │      31.分包 - 使用分包 - 打包原则.mp4
    │  │  │      32.分包 - 使用分包 - 引用原则.mp4
    │  │  │      33.分包 - 独立分包 - 了解什么是独立分包以及它.mp4
    │  │  │      35.分包 - 独立分包 - 将普通分包改造为独立分包.mp4
    │  │  │      36.分包 - 独立分包 - 独.mp4
    │  │  │      37.分包 - 分包预下载 - 介绍分包预下载的概念以及好处.mp4
    │  │  │      38.分包 - 分包预下载 - 配置分包的预下载.mp4
    │  │  │      39.分包 - 分包预下载 - 分包预下载的限制.mp4
    │  │  │      未命名(192).mp4
    │  │  │      
    │  │  ├─1-19 自定义tabBar
    │  │  │      40.自定义tabBar - 演示案例效果.mp4
    │  │  │      41.自定义tabBar - 了解自定义tabBar的实现步.mp4
    │  │  │      42.自定义tabBar - 在app.json中声明自定义ta.mp4
    │  │  │      43.自定义tabBar - 添加tabBar的代码文件.mp4
    │  │  │      44.自定义tabBar - 基于Vant组件渲染出基本的自定义tabBar效果.mp4
    │  │  │      45.自定义tabBar - 自定义tabBar的图标和文本.mp4
    │  │  │      46.自定义tabBar - 循环渲染tabBar的Item项.mp4
    │  │  │      47.自定义tabBar - 渲染并美化数字徽标的样式.mp4
    │  │  │      48.自定义tabBar - 按需渲染数字徽标.mp4
    │  │  │      49.自定义tabBar - 把Store中sum的值渲染为数字徽标.mp4
    │  │  │      50.自定义tabBar - 实现tabBar页面的切换.mp4
    │  │  │      51.自定义tabBar - 使用全局数据共享解决tabBar选中项不准确的问题.mp4
    │  │  │      52.自定义tabBar - 修改tabBar选中项文本的颜色.mp4
    │  │  │      53.总结.mp4
    │  │  │      
    │  │  ├─1-2 微信小程序的宿主环境
    │  │  │      23.宿主环境 - 了解宿主环境的概念.mp4
    │  │  │      24.宿主环境 - 小程序的宿主环境.mp4
    │  │  │      25.宿主环境 - 通信的主体.mp4
    │  │  │      26.宿主环境 - 小程序的通信模型.mp4
    │  │  │      27.宿主环境 - 运行机制.mp4
    │  │  │      28.宿主环境 - 组件 - 了解常用的视图容器组件.mp4
    │  │  │      29.宿主环境 - 组件 - view组件的基本使用.mp4
    │  │  │      30.宿主环境 - 组件 - scroll-view组件的基本使用.mp4
    │  │  │      31.宿主环境 - 组件 - swiper和swiper-item的基.mp4
    │  │  │      32.宿主环境 - 组件 - swiper组件的常用属性.mp4
    │  │  │      33.宿主环境 - 组件 - text和rich-text组件.mp4
    │  │  │      34.宿主环境 - 组件 - button按钮组件.mp4
    │  │  │      35.宿主环境 - 组件 - image图片组件.mp4
    │  │  │      36.宿主环境 - 小程序API的3大分类.mp4
    │  │  │      
    │  │  ├─1-3 微信小程序协同工作和发布
    │  │  │      37.协同工作 - 了解权限管理需求、组织结构、.mp4
    │  │  │      38.协同工作 - 了解小程序成员管理的两个方面.mp4
    │  │  │      39.协同工作 - 开发者的权限说明.mp4
    │  │  │      40.协同工作 - 了解如何添加项目成员和体验成员.mp4
    │  │  │      41.发布 - 了解小程序的版本阶段.mp4
    │  │  │      42.发布 - 了解小程序发布上线的主要步骤.mp4
    │  │  │      43.发布 - 基于小程序码进行推.mp4
    │  │  │      44.发布 -.mp4
    │  │  │      45.总结.mp4
    │  │  │      
    │  │  ├─1-4 微信小程序基础
    │  │  │      00.学习目标.mp4
    │  │  │      01.数据绑定 - 了解数据绑定的原则.mp4
    │  │  │      02.数据绑定 - 动态绑定属性.mp4
    │  │  │      03.数据绑定 - 三元运算.mp4
    │  │  │      04.数据绑定 - 算数运算.mp4
    │  │  │      05.事件绑定 - 了解什么是事件以及小程序中常.mp4
    │  │  │      06.事件绑定 - 事件对象的属性列表.mp4
    │  │  │      07.事件绑定 - target和currentTarget的区别.mp4
    │  │  │      08.事件绑定 - bindtap的语法格式.mp4
    │  │  │      09.事件绑定 - 在事件处理函数中为data中的数.mp4
    │  │  │      10.事件绑定 - 事件传参.mp4
    │  │  │      11.事件绑定 - bindinput的语法格式.mp4
    │  │  │      12.事件绑定 - 实现文本框和data之间的数据同步.mp4
    │  │  │      13.条件渲染 - if…elif…else.mp4
    │  │  │      14.条件渲染 - 基于block标签使用if条件渲染.mp4
    │  │  │      15.条件渲染 - hidden.mp4
    │  │  │      16.条件渲染 - if和hidden的区别.mp4
    │  │  │      17.列表渲染 - for循环的基本用法.mp4
    │  │  │      18.列表渲染 - 手动指定索引和当前项的变量名.mp4
    │  │  │      19.列表渲染 - 指定key值提高渲染效率.mp4
    │  │  │      
    │  │  ├─1-5 微信小程序进阶
    │  │  │      20.wxss - 了解什么是wxss以及它和css之间的关.mp4
    │  │  │      21.wxss - 了解什么是rpx以及它的实现原理.mp4
    │  │  │      22.wxss - rpx与px之间的单位换算.mp4
    │  │  │      23.wxss - @import样式导入.mp4
    │  │  │      24.wxss - 全局样式.mp4
    │  │  │      25.wxss - 局部样式.mp4
    │  │  │      26.全局配置 - 常用的全局配置项以及小程序窗口.mp4
    │  │  │      27.全局配置 - window - 设置导航栏的标题.mp4
    │  │  │      28.全局配置 - window - 设置导航栏的背景色.mp4
    │  │  │      29.全局配置 - window - 设置导航栏的标题颜色.mp4
    │  │  │      30.全局配置 - window - 全局开启下拉刷新的功能.mp4
    │  │  │      31.全局配置 - window - 关于模拟器的问题说明.mp4
    │  │  │      32.全局配置 - window - 设置下拉刷新时的窗口.mp4
    │  │  │      33.全局配置 - window - 设置下拉刷新时loading的样式.mp4
    │  │  │      34.全局配置 - window - 设置上拉触底的距离.mp4
    │  │  │      35.全局配置 - tabBar - 什么是tabBar.mp4
    │  │  │      36.全局配置 - tabBar - tabBar的6个组成部分.mp4
    │  │  │      37.全局配置 - tabBar - 了解tabBar中的配置项.mp4
    │  │  │      38.全局配置 - tabBar - 实现tabBar案例的效果.mp4
    │  │  │      39.页面配置 - 了解页面配置和全局配置的关.mp4
    │  │  │      40.页面配置 - 页面配置中常用的配置项.mp4
    │  │  │      
    │  │  ├─1-6 微信小程序数据请求和案例
    │  │  │      41.数据请求 - 小程序中网络数据请求的限制.mp4
    │  │  │      42.数据请求 - 配置request合法域名.mp4
    │  │  │      43.数据请求 - 发起GET请求.mp4
    │  │  │      44.数据请求 - 发起POST请求.mp4
    │  │  │      45.数据请求 - 了解如何在页面刚加载的时候请求.mp4
    │  │  │      46.数据请求 - 跳过request合法域名校验.mp4
    │  │  │      47.数据请求 - 关于跨域和Ajax的说明.mp4
    │  │  │      48.案例 - 创建项目并梳理项目结.mp4
    │  │  │      49.案例 - 配置导航栏效果.mp4
    │  │  │      50.案例 - 配置tabBar效果.mp4
    │  │  │      51.案例 - 获取轮播图的数据.mp4
    │  │  │      52.案例 - 渲染轮播图效果.mp4
    │  │  │      53.案例 - 获取九宫格的数据.mp4
    │  │  │      54.案例 - 渲染九宫格的布局效果.mp4
    │  │  │      55.案例 - 实现首页底部图片的布局效果.mp4
    │  │  │      56.总结.mp4
    │  │  │      
    │  │  ├─1-7 微信小程序页面导航
    │  │  │      00.学习目标.mp4
    │  │  │      01.页面导航 - 了解小程序中实现页面导航的两种.mp4
    │  │  │      02.页面导航 - 声明式导航 - 导航到tabBar页面.mp4
    │  │  │      03.页面导航 -声明式导航 - 导航到非tabBar.mp4
    │  │  │      04.页面导航 - 声明式导航 - 实现后退导航效果.mp4
    │  │  │      05.页面导航 - 编程式导航 - 导航到tabBar页面.mp4
    │  │  │      06.页面导航 - 编程式导航 - 导航到非tabBar页面.mp4
    │  │  │      07.页面导航 - 编程式导航 - 实现后退导航效果.mp4
    │  │  │      08.页面导航 - 导航传参 - 声明式导航传参.mp4
    │  │  │      09.页面导航 - 导航传参 - 编程式导航传参.mp4
    │  │  │      10导航传参.mp4
    │  │  │      
    │  │  ├─1-8 微信小程序页面事件和上拉触底案例
    │  │  │      11.页面事件 - 下拉刷新 - 了解什么是下拉刷.mp4
    │  │  │      12.页面事件 - 下拉刷新 - 启用下拉刷新.mp4
    │  │  │      13.页面事件 - 下拉刷新 - 配置下拉刷新窗口的样式.mp4
    │  │  │      14.页面事件 - 下拉刷新 - 监听页面的下拉刷新.mp4
    │  │  │      15.页面事件 - 下拉刷新 - 停止下拉刷新的效果.mp4
    │  │  │      16.页面事件 - 上拉触底 - 了解什么是上拉触底.mp4
    │  │  │      17.页面事件 - 上拉触底 - 监听页面的上拉触底.mp4
    │  │  │      18.页面事件 - 上拉触底 - 配置上拉触底距离.mp4
    │  │  │      19.上拉触底案例 - 案例效果展示.mp4
    │  │  │      20.上拉触底案例 - 定义获取随机颜色的方法.mp4
    │  │  │      21.上拉触底案例 - 渲染UI结构并美化页面效果.mp4
    │  │  │      22.上拉触底案例 - 上拉触底时获取随机颜色.mp4
    │  │  │      23.上拉触底案例 - 添加loading提示效果.mp4
    │  │  │      24.上拉触底案例 - 介绍为什么需要对上拉触.mp4
    │  │  │      25.上拉触底案例 - 对上拉触底进行节流处理.mp4
    │  │  │      26.扩展 - 自定义编译模式.mp4
    │  │  │      54.案例 - 渲染九宫格的布局效果.mp4
    │  │  │      
    │  │  └─1-9 微信小程序生命周期和wxs
    │  │          27.生命周期 - 什么是生命周期.mp4
    │  │          28.生命周期 - 小程序中生命周期的两个分类.mp4
    │  │          29.生命周期 - 什么是生命周期函数.mp4
    │  │          30.生命周期 - 小程序中生命周期函数的两个分类.mp4
    │  │          31.生命周期 - 应用的生命周期函数.mp4
    │  │          32.生命周期 - 页面的生命周期函数.mp4
    │  │          33.wxs - 了解什么是wxs以及应用场景.mp4
    │  │          34.wxs - 了解wxs和JavaScript的关系.mp4
    │  │          35.wxs - 内嵌wxs脚本.mp4
    │  │          36.wxs - 定义外联的wxs脚本.mp4
    │  │          37.wxs - 使用外联的wxs脚本.mp4
    │  │          38.wxs - 了解wxs的4个特点.mp4
    │  │          
    │  └─02、第二章 黑马优购商城项目2.0
    │      ├─2-1 uni-app和项目搭建
    │      │      01.起步 - 项目介绍.mp4
    │      │      02.起步 - 项目文档.mp4
    │      │      03.起步 - 了解什么是uni-app.mp4
    │      │      04.起步 - 下载和安装HBuilderX.mp4
    │      │      05.起步 - 安装scss编译的插件.mp4
    │      │      06.起步 - 对HBuilderX进行个性化的配置.mp4
    │      │      07.起步 - 创建uni-app项目.mp4
    │      │      08.起步 - 了解uni-app项目的目录结构.mp4
    │      │      09.起步 - 把项目运行到微信开发者工具.mp4
    │      │      10.起步 - 配置checkSiteMap选项.mp4
    │      │      11.起步 - 使用Git本地管理uni-app项.mp4
    │      │      12.起步 - 把本地项目托管到码云.mp4
    │      │      13.tabbar - 创建tabBar对应的4个页面.mp4
    │      │      14.tabbar - 配置tabBar效果.mp4
    │      │      15.tabbar - 配置导航条的样式效果.mp4
    │      │      16.tabbar - 分支的合并与提交.mp4
    │      │      
    │      ├─2-10 购物车页面-收货地址功能实现
    │      │      20.购物车页面 - 收货地址区域 - 创建my-addr.mp4
    │      │      21.购物车页面 - 收货地址区域 - 渲染收货地址.mp4
    │      │      22.购物车页面 - 收货地址区域 - 渲染收货地址.mp4
    │      │      23.购物车页面 - 收货地址区域 - 实现收货地址区.mp4
    │      │      24.购物车页面 - 收货地址区域 - 实现选择收货地.mp4
    │      │      25.购物车页面 - 收货地址区域 - 渲染收货人的信.mp4
    │      │      26.购物车页面 - 收货地址区域 - 在vuex中定义用户相关的m_user模块.mp4
    │      │      27.购物车页面 - 收货地址区域 - 将address信息.mp4
    │      │      28.购物车页面 - 收货地址区域 - 将vuex中的a.mp4
    │      │      29.购物车页面 - 收货地址区域 - 将addstr抽离.mp4
    │      │      30.购物车页面 - 收货地址区域 - 重新选择收货地.mp4
    │      │      31.购物车页面 - 收货地址区域 - 演示取消授权时.mp4
    │      │      32.购物车页面 - 收货地址区域 - 判断用户是否授.mp4
    │      │      33.购物车页面 - 收货地址区域 - 提示用户重新.mp4
    │      │      34.购物车页面 - 收货地址区域 - 调用openSetti.mp4
    │      │      35.购物车页面 - 收货地址区域 - 解决iPhone真机上无法重新授权的问题.mp4
    │      │      
    │      ├─2-11 购物车页面-结算功能实现
    │      │      01.购物车页面 - 结算区域 - 把结算区域封装为独.mp4
    │      │      02.购物车页面 - 结算区域 - 渲染结算区域的结构.mp4
    │      │      03.购物车页面 - 结算区域 - 动态渲染已勾选商.mp4
    │      │      04.购物车页面 - 结算区域 - 动态渲染全选按钮的.mp4
    │      │      05.购物车页面 - 结算区域 - 使用数组的reduc.mp4
    │      │      06.购物车页面 - 结算区域 - 实现商品的全选与.mp4
    │      │      07.购物车页面 - 结算区域 - 动态渲染已勾选商.mp4
    │      │      08.购物车页面 - 结算区域 - 动态计算tabBar中.mp4
    │      │      09.购物车页面 - 结算区域 - 渲染购物车为空时候.mp4
    │      │      10.购物车页面 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-12 登录功能实现
    │      │      11.登录与支付 - 创建settle分支.mp4
    │      │      12.登录与支付 - 点击结算按钮进行条件判断.mp4
    │      │      13.登录与支付 - 登录 - 定义my页面的编译模式.mp4
    │      │      14.登录与支付 - 登录 - 实现登录组件和用户信.mp4
    │      │      15.登录与支付 - 登录 - 初步渲染登录组件的基.mp4
    │      │      16.登录与支付 - 登录 - 美化登录组件的样式.mp4
    │      │      17.登录与支付 - 登录 - 绘制登录盒子底部的半.mp4
    │      │      18.登录与支付 - 登录 - 分析登录功能的实现思路.mp4
    │      │      19.登录与支付 - 登录 - 点击登录按钮获取微信用.mp4
    │      │      20.登录与支付 - 登录 - 处理用户取消登录授权的.mp4
    │      │      21.登录与支付 - 登录 - 将用户的基本信息存储到.mp4
    │      │      22.登录与支付 - 登录 - 调用uni.login获取code.mp4
    │      │      23.登录与支付 - 登录 - 进一步完善uni.login调.mp4
    │      │      24.登录与支付 - 登录 - 登录获取Token字符串.mp4
    │      │      25.登录与支付 - 登录 - 将Token存储到vuex中.mp4
    │      │      
    │      ├─2-13 用户信息和自动跳转功能实现
    │      │      26.登录与支付 - 用户信息 - 实现用户头像、昵.mp4
    │      │      27.登录与支付 - 用户信息 - 渲染用户的头像和.mp4
    │      │      28.登录与支付 - 用户信息 - 渲染第1个面板的U.mp4
    │      │      29.登录与支付 - 用户信息 - 美化第1个面板的.mp4
    │      │      30.登录与支付 - 用户信息 - 渲染第2个面板区域.mp4
    │      │      31.登录与支付 - 用户信息 - 渲染第3个面板区域.mp4
    │      │      32.登录与支付 - 用户信息 - 实现退出登录的功能.mp4
    │      │      33.登录与支付 - 三秒后自动跳转 - 实现倒计时提.mp4
    │      │      34.登录与支付 - 三秒后自动跳转 - 控制秒数的边.mp4
    │      │      35.登录与支付 - 三秒后自动跳转 - 解决second.mp4
    │      │      36.登录与支付 - 三秒后自动跳转 - 将返回页的.mp4
    │      │      37.登录与支付 - 三秒后自动跳转 - 根据redirectI.mp4
    │      │      
    │      ├─2-14 微信支付功能和小程序项目发布
    │      │      38.登录与支付 - 微信支付 - 在请求头中添加Tok.mp4
    │      │      39.登录与支付 - 微信支付 - 了解微信支付的流程.mp4
    │      │      40.登录与支付 - 微信支付 - 创建订单.mp4
    │      │      42.登录与支付 - 微信支付 - 实现微信支付.mp4
    │      │      43.登录与支付 - 分支的合并与提交.mp4
    │      │      44.发布 - 为什么要进行发布.mp4
    │      │      45.发布 - 了解将uni-app项目发布为小程序的基.mp4
    │      │      46.发布 - 演示将uni-app项目发布为小程序的流.mp4
    │      │      47.发布 - 了解将uni-app项目发布为Android.mp4
    │      │      48.发布 - 演示将uni-app项目发布为Android A.mp4
    │      │      
    │      ├─2-2 首页功能实现
    │      │      17.首页 - 轮播图 - 创建home子分支.mp4
    │      │      18.首页 - 轮播图 - 安装并配置网络请求的第三.mp4
    │      │      19.首页 - 轮播图 - 请求轮播图的数据.mp4
    │      │      20.首页 - 轮播图 - 渲染轮播图的UI结构.mp4
    │      │      21.首页 - 轮播图 - 配置小程序的分包.mp4
    │      │      22.首页 - 轮播图 - 点击轮播图跳转到商品详情页.mp4
    │      │      23.首页 - 轮播图 - 封装uni.$showMsg()方法.mp4
    │      │      24.首页 - 分类导航 - 获取分类导航的数据.mp4
    │      │      25.首页 - 分类导航 - 渲染分类导航的UI结构.mp4
    │      │      26.首页 - 分类导航 - 切换到分类页面.mp4
    │      │      27.首页 - 楼层区域 - 获取楼层的数据.mp4
    │      │      28.首页 - 楼层区域 - 渲染楼层的标题.mp4
    │      │      29.首页 - 楼层区域 - 渲染楼层左侧的大图.mp4
    │      │      30.首页 - 楼层区域 - 渲染楼层右侧的小图片.mp4
    │      │      31.首页 - 楼层区域 - 点击楼层图片跳转到商品列.mp4
    │      │      32.首页 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-3 分类页面功能实现
    │      │      01.分类 - 创建cate分支以及分类页面的编译模式.mp4
    │      │      02.分类 - 实现分类页面滑动区域的左右布局.mp4
    │      │      03.分类 - 动态设置scroll-view组件的高度.mp4
    │      │      04.分类 - 美化左侧scroll-view中item项的样式.mp4
    │      │      05.分类 - 获取分类列表的数据.mp4
    │      │      06.分类 - 动态渲染左侧的一级分类列表.mp4
    │      │      07.分类 - 定义二级分类的数据列表.mp4
    │      │      08.分类 - 动态渲染右侧的二级分类列表.mp4
    │      │      09.分类 - 动态渲染右侧的三级分类列.mp4
    │      │      10.分类 - 切换一级分类后重置滚动条的位置.mp4
    │      │      11.分类 - 点击三级分类跳转到商品列表页面.mp4
    │      │      12.分类 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-4 自定义搜索组件
    │      │      13.搜索 - 介绍搜索相关的功能.mp4
    │      │      14.搜索 - 创建search分支.mp4
    │      │      15.搜索 - 自定义组件 - 在uni-app项目中新建.mp4
    │      │      16.搜索 - 自定义组件 - 渲染my-search组件的.mp4
    │      │      17.搜索 - 自定义组件 - 解决cate分类页面scroll-.mp4
    │      │      18.搜索 - 自定义组件 - 通过自定义属性增强组件.mp4
    │      │      20.搜索 - 自定义组件 - 点击cate页面的搜索组.mp4
    │      │      21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶.mp4
    │      │      9.搜索 - 自定义组件 - 为自定义组件封装click事.mp4
    │      │      
    │      ├─2-5 搜索建议和搜索历史功能实现
    │      │      21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶.mp4
    │      │      22.搜索 - 搜索建议 - 渲染搜索页面的基本结构.mp4
    │      │      23.搜索 - 搜索建议 - 实现搜索框自动获取焦点.mp4
    │      │      24.搜索 - 搜索建议 - 实现搜索框的防抖处理.mp4
    │      │      25.搜索 - 搜索建议 - 根据关键词查询搜索建议列.mp4
    │      │      26.搜索 - 搜索建议 - 循环渲染搜索建议列表的U.mp4
    │      │      27.搜索 - 搜索建议 - 美化搜索建议列表的UI结构.mp4
    │      │      28.搜索 - 搜索建议 - 点击搜索Item项导航到商.mp4
    │      │      29.搜索 - 搜索历史 - 渲染搜索历史记录的基本.mp4
    │      │      30.搜索 - 搜索历史 - 美化搜索历史区域的UI结构.mp4
    │      │      31.搜索 - 搜索历史 - 实现搜索建议和搜索历史.mp4
    │      │      32.搜索 - 搜索历史 - 将搜索关键词存入historyL.mp4
    │      │      33.搜索 - 搜索历史 - 解决关键词前后顺序的问题.mp4
    │      │      34.搜索 - 搜索历史 - 解决关键词重复的问题.mp4
    │      │      35.搜索 - 搜索历史 - 将搜索历史记录持久化存.mp4
    │      │      36.搜索 - 搜索历史 - 清空搜索历史记录.mp4
    │      │      37.搜索 - 搜索历史 - 点击搜索历史跳转到商品.mp4
    │      │      38.搜索 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-6 商品列表功能实现
    │      │      01.商品列表 - 介绍商品列表页面的功能并创建.mp4
    │      │      02.商品列表 - 创建goodslist分支.mp4
    │      │      03.商品列表 - 定义请求参数对象.mp4
    │      │      04.商品列表 - 获取商品列表数据.mp4
    │      │      05.商品列表 - 定义商品列表页面的UI结构.mp4
    │      │      06.商品列表 - 美化商品列表页面的UI结构.mp4
    │      │      07.商品列表 - 把商品Item项封装为自定义组件.mp4
    │      │      08.商品列表 - 使用过滤器处理商品价格.mp4
    │      │      09.商品列表 - 初步实现上拉加载更多.mp4
    │      │      10.商品列表 - 使用节流阀防止发起额外的数据请.mp4
    │      │      11.商品列表 - 判断数据是否加载完毕.mp4
    │      │      12.商品列表 - 实现下拉刷新的效果.mp4
    │      │      13.商品列表 - 点击商品item项导航到商品详情页.mp4
    │      │      14.商品列表 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-7 商品详情功能实现
    │      │      15.商品详情 - 创建goodsdetail分支.mp4
    │      │      16.商品详情 - 添加商品详情页的编译模式.mp4
    │      │      17.商品详情 - 获取商品详情的数据.mp4
    │      │      18.商品详情 - 渲染轮播图区域.mp4
    │      │      19.商品详情 - 实现轮播图的大图预览效果.mp4
    │      │      20.商品详情 - 渲染商品信息区域的UI结构.mp4
    │      │      21.商品详情 - 美化商品信息区域的样式.mp4
    │      │      22.商品详情 - 使用rich-text组件渲染HTML内容.mp4
    │      │      23.商品详情 - 解决商品图文详情中图片底部空.mp4
    │      │      24.商品详情 - 解决webp格式的图片在ios设备上.mp4
    │      │      25.商品详情 - 解决商品价格闪烁的问题.mp4
    │      │      26.商品详情 - 渲染商品导航区域的UI结构.mp4
    │      │      27.商品详情 - 自定义商品导航区域的按钮信息.mp4
    │      │      28.商品详情 - 点击购物车按钮导航到购物车页面.mp4
    │      │      29.商品详情 - 分支的合并与提交.mp4
    │      │      
    │      ├─2-8 加入购物车功能实现
    │      │      27.商品详情 - 自定义商品导航区域的按钮信息.mp4
    │      │      30.加入购物车 - 创建cart分支.mp4
    │      │      31.加入购物车 - 配置vuex.mp4
    │      │      32.加入购物车 - 创建购物车的store模块.mp4
    │      │      33.加入购物车 - 在商品详情页中使用store中.mp4
    │      │      34.加入购物车 - 在mutations中定义addToCart方法.mp4
    │      │      35.加入购物车 - 实现加入购物车的功能.mp4
    │      │      36.加入购物车 - 动态统计购物车中商品的总数量.mp4
    │      │      37.加入购物车 - 持久化存储购物车中的商品.mp4
    │      │      38.加入购物车 - 优化商品详情页的total侦听器.mp4
    │      │      39.加入购物车 - 动态为tabBar设置数字徽标.mp4
    │      │      40.加入购物车 - 将设置tabBar徽标的代码抽离为.mp4
    │      │      
    │      └─2-9 购物车页面-商品列表功能实现
    │              01.购物车页面 - 演示购物车页面要实现的功能.mp4
    │              02.购物车页面 - 创建购物车页面的编译模式.mp4
    │              03.购物车页面 - 商品列表区域 - 渲染商品列表.mp4
    │              04.购物车页面 - 商品列表区域 - 渲染商品列表.mp4
    │              05.购物车页面 - 商品列表区域 - 为my-goods组.mp4
    │              06.购物车页面 - 商品列表区域 - 通过props属性.mp4
    │              07.购物车页面 - 商品列表区域 - 动态绑定radi.mp4
    │              08.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装radio-change事件的实现思路.mp4
    │              09.购物车页面 - 商品列表区域 - 为my-goods.mp4
    │              10.购物车页面 - 商品列表区域 - 修改购物车中.mp4
    │              11.购物车页面 - 商品列表区域 - 为my-goods组件封装NumberBox.mp4
    │              12.购物车页面 - 商品列表区域 - 通过props属性.mp4
    │              13.购物车页面 - 商品列表区域 - 介绍为my-goo.mp4
    │              14.购物车页面 - 商品列表区域 - 为my-goods.mp4
    │              15.购物车页面 - 商品列表区域 - 解决NumberBox组件数据不合法的问.mp4
    │              16.购物车页面 - 商品列表区域 - 完善NumberBox的inputValue侦听器.mp4
    │              17.购物车页面 - 商品列表区域 - 修改购物车中.mp4
    │              18.购物车页面 - 商品列表区域 - 渲染滑动删除.mp4
    │              19.购物车页面 - 商品列表区域 - 实现滑动删除的功能.mp4
    │              
    ├─07、阶段七 React项目实战【拓展课程】
    │  ├─01、第一章 React基础
    │  │  ├─1-1 React介绍
    │  │  │      01-课程安排.mp4
    │  │  │      02-react介绍.mp4
    │  │  │      03-react的特点.mp4
    │  │  │      04-react-脚手架的使用.mp4
    │  │  │      05-react-基本使用.mp4
    │  │  │      06-react-小练习.mp4
    │  │  │      
    │  │  ├─1-10 跨组件通信
    │  │  │      01-学生反馈.mp4
    │  │  │      02-兄弟组件通讯-状态提升的思想.mp4
    │  │  │      03-父子组件通讯的使用.mp4
    │  │  │      04-context跨级组件通讯的使用.mp4
    │  │  │      05-context跨级组件通讯的使用.mp4
    │  │  │      06-props的children属性的使用功能.mp4
    │  │  │      07-props中children属性的使用.mp4
    │  │  │      08-props校验-重要性.mp4
    │  │  │      09-PropTypes校验的基本使用步骤.mp4
    │  │  │      10-propTypes完整的校验说明.mp4
    │  │  │      11-类的静态成员语法使用.mp4
    │  │  │      
    │  │  ├─1-11 生命周期
    │  │  │      12-生命周期-vue.mp4
    │  │  │      13-react生命周期-初始化阶段.mp4
    │  │  │      14-react生命周期-更新阶段.mp4
    │  │  │      15-react声明周期-卸载阶段.mp4
    │  │  │      16-react生命周期-todos-本地存储功能.mp4
    │  │  │      17-react生命周期-todomvc-自动获取焦点.mp4
    │  │  │      
    │  │  ├─1-12 setState函数
    │  │  │      18-setState-setState是异步的.mp4
    │  │  │      19-setState-第一个参数可以是函数.mp4
    │  │  │      20-setState-第二个参数.mp4
    │  │  │      21-setState的练习.mp4
    │  │  │      22-react组件更新机制.mp4
    │  │  │      
    │  │  ├─1-13 组件性能优化
    │  │  │      23-组件性能优化-减轻stat.mp4
    │  │  │      24-组件性能优化-shouldComponentUpdate的.mp4
    │  │  │      25-组件性能优化-shouldComponentUpdate.mp4
    │  │  │      26-纯组件的基本使用.mp4
    │  │  │      27-纯组件的浅层对比的说明.mp4
    │  │  │      
    │  │  ├─1-14 路由
    │  │  │      01-单页应用程序SPA的介绍.mp4
    │  │  │      02-React路由的介绍.mp4
    │  │  │      03-React模拟实现单页应用程序.mp4
    │  │  │      04-React-Router的基本使用.mp4
    │  │  │      05-HashRoute.mp4
    │  │  │      06-路由的执行过程.mp4
    │  │  │      08-Link与NavLink组件.mp4
    │  │  │      09-Switch与404页面.mp4
    │  │  │      10-react-router-嵌套路由的配置.mp4
    │  │  │      11-react-router-Redirect的使用.mp4
    │  │  │      12-react-router-dom-编程式导航的使用.mp4
    │  │  │      13-rect动态路由参数与获取.mp4
    │  │  │      
    │  │  ├─1-2 JSX语法
    │  │  │      07-jsx-jsx的基本概念.mp4
    │  │  │      08-jsx的基本使用步骤.mp4
    │  │  │      09-jsx的注意事项.mp4
    │  │  │      10-prettier插件的使用.mp4
    │  │  │      11-jsx中使用表达式.mp4
    │  │  │      12-jsx-条件渲染.mp4
    │  │  │      13-jsx-列表渲染.mp4
    │  │  │      14-jsx-列表渲染的练习.mp4
    │  │  │      15-jsx-通过style控制样式.mp4
    │  │  │      16-jsx-通过className控制类名.mp4
    │  │  │      17-jsx-动态控制className.mp4
    │  │  │      18-jsx-classnames库的使用.mp4
    │  │  │      19-jsx-综合小练习.mp4
    │  │  │      20-jsx-react中jsx的总结.mp4
    │  │  │      
    │  │  ├─1-3 类组件
    │  │  │      01-学生反馈.mp4
    │  │  │      03-函数组件-使用箭头函数创建组件.mp4
    │  │  │      04-类-class的基本语法.mp4
    │  │  │      05-类-extends继承的使用.mp4
    │  │  │      06-类-extends的练习.mp4
    │  │  │      07-类组件-定义类组件的基本语法.mp4
    │  │  │      08-把组件抽取到单独的js文件中.mp4
    │  │  │      09-有状态组件和无状态组件的说明.mp4
    │  │  │      10-类组件-提供状态.mp4
    │  │  │      11-类组件-提供状态的简写.mp4
    │  │  │      
    │  │  ├─1-4 组件中this
    │  │  │      12-react中注册事件的基本语法.mp4
    │  │  │      13-react中注册事件-this指向问题.mp4
    │  │  │      14-处理this指向问题-箭头函数.mp4
    │  │  │      15-处理this指向-bind和类实例语法.mp4
    │  │  │      16-注册事件-处理this指向的说明.mp4
    │  │  │      17-setState修改状态的说明.mp4
    │  │  │      18-setState的使用说明.mp4
    │  │  │      19-react中状态不可变.mp4
    │  │  │      
    │  │  ├─1-5 受控组件
    │  │  │      20-react-受控组件的方式控制表单元素.mp4
    │  │  │      21-react-多个受控组件的处理.mp4
    │  │  │      22-react-多个受控组件的封装.mp4
    │  │  │      23-react-属性名表达式的使用.mp4
    │  │  │      24-react-多个受控组件的说明.mp4
    │  │  │      25-react-受控组件的封装.mp4
    │  │  │      26-react-ref与非受控组件.mp4
    │  │  │      
    │  │  ├─1-6 评论列表案例
    │  │  │      27-评论列表案例-列表渲染功能.mp4
    │  │  │      28-评论列表案例-清空评论功能.mp4
    │  │  │      29-评论列表案例-删除功能.mp4
    │  │  │      30-评论列表案例-添加功能.mp4
    │  │  │      
    │  │  ├─1-7 组件通信
    │  │  │      01-学生反馈.mp4
    │  │  │      02-rect开发者工具的使用.mp4
    │  │  │      03-组件通讯-props在函数组件中的使用.mp4
    │  │  │      04-组件通讯-类组件接收props属性.mp4
    │  │  │      05-组件通讯-props的特点.mp4
    │  │  │      06-组件通讯-类组件中传递props参数.mp4
    │  │  │      07-组件通讯-父传子说明.mp4
    │  │  │      08-组件通讯-父传子.mp4
    │  │  │      09-组件通讯-子传父功能.mp4
    │  │  │      10-组件通讯-子传父的练习.mp4
    │  │  │      
    │  │  ├─1-8 TODOMVC案例上
    │  │  │      11-todomvc-基本结构搭建.mp4
    │  │  │      12-todomvc-组件封装.mp4
    │  │  │      13-todomvc-任务列表渲染功能.mp4
    │  │  │      14-todomvc-删除任务功能完成.mp4
    │  │  │      15-todomvc-任务状态修改功能.mp4
    │  │  │      16-todomvc-添加任务功能.mp4
    │  │  │      17-todomvc-双击-显示修改框.mp4
    │  │  │      18-todomvc-双击回显任务名称.mp4
    │  │  │      19-todomvc-双击修改任务功能完成.mp4
    │  │  │      
    │  │  └─1-9 TODOMVC案例下
    │  │          20-todomvc-底部任务数量的显示.mp4
    │  │          21-todomvc-清空任务功能.mp4
    │  │          22-todomvc-底部样式切换.mp4
    │  │          23-todomvc-任务列表切换功能.mp4
    │  │          24-todomvc-全选功能完成.mp4
    │  │          25-todomvc-hash模式与history模式.mp4
    │  │          
    │  ├─02、第二章 极客园PC端项目
    │  │  ├─2-1 项目介绍
    │  │  │      14-react-极客网项目介绍.mp4
    │  │  │      15-项目初始化-创建项目.mp4
    │  │  │      16-项目初始化-配置路由.mp4
    │  │  │      17-项目初始化-使用antd组件库.mp4
    │  │  │      18-登录功能-基本结构与样式.mp4
    │  │  │      19-登录功能-项目绝对路径的使用和sass的配置.mp4
    │  │  │      20-登录功能-登录表单的基本结构.mp4
    │  │  │      21-登录功能-表单校验功能.mp4
    │  │  │      
    │  │  ├─2-10 修改文
    │  │  │      01-学生反馈.mp4
    │  │  │      02-修改文章-配置修改文章的路由.mp4
    │  │  │      03-修改文章-获取文章的详细信息.mp4
    │  │  │      04-修改文章-数据回显功能完成.mp4
    │  │  │      05-修改文章-修复路由跳转的bug.mp4
    │  │  │      06-修改文章-修改功能完成.mp4
    │  │  │      07-修改文章-处理导航高亮的问题.mp4
    │  │  │      
    │  │  ├─2-2 登录功能
    │  │  │      01-登录组件-antd表单校验时机的说明.mp4
    │  │  │      02-登录组件-获取表单的数据.mp4
    │  │  │      03-登录功能-自定义校验-Promise的静态方法.mp4
    │  │  │      04-登录功能-axios请求封装.mp4
    │  │  │      05-登录功能-api封装以及登录功能.mp4
    │  │  │      06-登录功能-优化antd的消息提示.mp4
    │  │  │      
    │  │  ├─2-3 首页CSS处理
    │  │  │      07-首页-css in js的介绍.mp4
    │  │  │      08-首页-css-modules的基本使用.mp4
    │  │  │      09-首页-css-modules全局类名global的使用.mp4
    │  │  │      10-首页-css-module-global的使用.mp4
    │  │  │      11-首页-css-modules的使用解决react样式冲突.mp4
    │  │  │      
    │  │  ├─2-4 首页退出功能
    │  │  │      12-首页布局-使用antd的布局组件.mp4
    │  │  │      13-首页-头部的结构与样式.mp4
    │  │  │      14-首页-侧边栏结构与样式的处理.mp4
    │  │  │      15-首页-内容区域的结构与样式.mp4
    │  │  │      16-首页-嵌套路由的配置.mp4
    │  │  │      17-首页-退出功能.mp4
    │  │  │      18-首页-token的封装处理.mp4
    │  │  │      19-首页-拦截未登录用户Router的render用法.mp4
    │  │  │      
    │  │  ├─2-5 AuthRoute组件
    │  │  │      20-AuthRoute封装-基本结构.mp4
    │  │  │      21-AuthRoute封装-render的使用.mp4
    │  │  │      22-AuthRoute的答疑.mp4
    │  │  │      23-AuthRoute封装-1-AuthRoute的结构.mp4
    │  │  │      24-AuthRoute组件-判断用户是否登录.mp4
    │  │  │      25-AuthRoute-基本功能完成.mp4
    │  │  │      
    │  │  ├─2-6 AuthRouter组件封装
    │  │  │      01-学生反馈.mp4
    │  │  │      02-反馈-css-modules的基本使用步骤.mp4
    │  │  │      03-反馈-css modules的使用优化.mp4
    │  │  │      04-反馈-Route的使用-render函数的介绍.mp4
    │  │  │      05-反馈-route中render属性的props说明.mp4
    │  │  │      06-route-封装AuthRoute-踩坑.mp4
    │  │  │      07-AuthRouter组件封装-基本处理.mp4
    │  │  │      08-AuthRoute组件封装-props的 处理.mp4
    │  │  │      09-react-router-dom-官网的privateRoute组.mp4
    │  │  │      10-AuthRoute组件-登录成功的回跳.mp4
    │  │  │      11-首页布局-渲染用户的基本信息.mp4
    │  │  │      12-HashRouter和BrowserRouter的本质.mp4
    │  │  │      13-使用Router配合history组件使用.mp4
    │  │  │      14-处理layout组件-菜单高亮.mp4
    │  │  │      15-数据概览-功能完成.mp4
    │  │  │      
    │  │  ├─2-7 文章列表
    │  │  │      16-文章列表-Card组件与面包屑组件的基本使用.mp4
    │  │  │      17-文章列表-表单-单选框处理文章状态.mp4
    │  │  │      18-文章列表-渲染频道相关的数据.mp4
    │  │  │      19-文章列表-日期组件的使用以及中文处理.mp4
    │  │  │      20-文章列表-表格的基本结构.mp4
    │  │  │      21-文章列表-发送请求获取文章列表数据.mp4
    │  │  │      22-文章列表-渲染表格的列.mp4
    │  │  │      23-文章列表-处理图片的显示.mp4
    │  │  │      24-文章列表-标签的处理-没声音.mp4
    │  │  │      25-文章列表-状态的处理.mp4
    │  │  │      26-文章列表-按钮的处理.mp4
    │  │  │      
    │  │  ├─2-8 内容管理
    │  │  │      01-内容管理-分页的基本渲染.mp4
    │  │  │      02-内容管理-分页功能的实现.mp4
    │  │  │      03-内容管理-筛选功能的实现.mp4
    │  │  │      04-内容管理-moment的时间优化.mp4
    │  │  │      05-内容管理-删除功能完成.mp4
    │  │  │      
    │  │  └─2-9 发布文章
    │  │          06-发布文章-错误的处.mp4
    │  │          07-发布文章-表单基本结构.mp4
    │  │          08-发布文章-标题的处理与校验.mp4
    │  │          09-发布文章-channel组件的封装.mp4
    │  │          10-发布文章-富文本编辑器的使用.mp4
    │  │          11-发布文章-封面的切换逻辑.mp4
    │  │          12-发布文章-图片上传功能和删除功能.mp4
    │  │          13-发布文章-控制上传文件的数量.mp4
    │  │          14-发布文章-图片预览功能.mp4
    │  │          15-发布文章-上传图片的校验.mp4
    │  │          16-发布文章-文件校验-bug.mp4
    │  │          17-发布文章-功能完成.mp4
    │  │          18-发布文章-添加草稿功能完成.mp4
    │  │          
    │  ├─03、第三章 Hooks
    │  │  ├─3-1 render-prop
    │  │  │      01-react组件复用方式-mixins-废弃.mp4
    │  │  │      02-render-props封装-复用鼠标位置的逻辑.mp4
    │  │  │      03-render-props-复用逻辑.mp4
    │  │  │      04-render-props的整理.mp4
    │  │  │      05-render-props-把render改成children属性.mp4
    │  │  │      06-render-props模式-复用scroll.mp4
    │  │  │      
    │  │  ├─3-2 高阶组件
    │  │  │      07-高阶组件HOC-的基本使用.mp4
    │  │  │      08-高阶组件-HOCprops丢失的问题.mp4
    │  │  │      
    │  │  ├─3-3 hooks介绍
    │  │  │      09-hooks基本介绍.mp4
    │  │  │      10-为什么要有hooks.mp4
    │  │  │      11-hooks的优势.mp4
    │  │  │      
    │  │  ├─3-4 hooks中useState、useEffect的使用
    │  │  │      12-useState的基本语法.mp4
    │  │  │      13-useState的说明.mp4
    │  │  │      14-useState的使用规则.mp4
    │  │  │      15-useEffect-副作用的解释.mp4
    │  │  │      16-useEffect-基本使用-01.mp4
    │  │  │      17-useEffect的基本使用01.mp4
    │  │  │      18-useEffect的依赖项.mp4
    │  │  │      19-useEffect不要对依赖项撒谎.mp4
    │  │  │      20-useEffect清理副作用的说明.mp4
    │  │  │      21-useEffect清理副作用的说明.mp4
    │  │  │      22-hooks案例-实现鼠标移动.mp4
    │  │  │      23-自定义hook的使用.mp4
    │  │  │      24-useEffect发送请求.mp4
    │  │  │      25-useEffect-发送请求-循环依赖的问题.mp4
    │  │  │      26-useEffect取消请求的说明.mp4
    │  │  │      
    │  │  └─3-5 todos 案例 hooks版本
    │  │          01-学生反馈.mp4
    │  │          02-todos-hooks-列表展示.mp4
    │  │          03-todos-hooks-添加任务功能.mp4
    │  │          05-useContext的使用.mp4
    │  │          07-todos-hooks-修改状态和本地存储.mp4
    │  │          08-todos-hooks-双击显示弹窗.mp4
    │  │          09-todos-hooks-双击修改任务.mp4
    │  │          10-todos-hooks-底部筛选功能.mp4
    │  │          11-todos-自定义hooks优化.mp4
    │  │          12-React-memo高阶组件的使用.mp4
    │  │          13-useCallback的说明.mp4
    │  │          14-useMemo的使用.mp4
    │  │          15-hooks的复习.mp4
    │  │          
    │  ├─04、第四章 Redux
    │  │  ├─4-1 redux的介绍
    │  │  │      16-redux课程介绍.mp4
    │  │  │      17-redux的介绍.mp4
    │  │  │      18-复习vuex的核心逻辑.mp4
    │  │  │      19-redux的核心概念-action-reducer-store.mp4
    │  │  │      
    │  │  ├─4-2 redux的核心与案例
    │  │  │      01-学生反馈.mp4
    │  │  │      02-redux核心概念-action.mp4
    │  │  │      03-redux核心概念-action-creator.mp4
    │  │  │      04-纯函数的介绍.mp4
    │  │  │      05-reducer的使用.mp4
    │  │  │      06-redux-store的使用.mp4
    │  │  │      07-redux-实现加一和减一的效果.mp4
    │  │  │      08-redux配合react去使用.mp4
    │  │  │      09-react-redux的基本使用.mp4
    │  │  │      10-react-redux-练习(未删减).mp4
    │  │  │      11-react-redux的练习2.mp4
    │  │  │      12-redux-thunk处理异步代码.mp4
    │  │  │      13-action-types的介绍.mp4
    │  │  │      14-使用combineReducer合并多个reducer.mp4
    │  │  │      
    │  │  ├─4-3 todomvc 渲染
    │  │  │      15-开发者工具的使用.mp4
    │  │  │      16-json-server的基本使用.mp4
    │  │  │      17-todos-redux-项目结构.mp4
    │  │  │      18-todos-发送请求-获取数据.mp4
    │  │  │      19-关于yarn的使用的说明.mp4
    │  │  │      20-todomvc-列表渲染.mp4
    │  │  │      21-todomvc-添加任务功能.mp4
    │  │  │      22-关于预检请求的说明.mp4
    │  │  │      
    │  │  └─4-4 todomvc-redux版本
    │  │          01-redux的流程.mp4
    │  │          02-todomvc-删除功能的流程.mp4
    │  │          03-todomvc-思路整理.mp4
    │  │          04-todomvc-修改任务状态功能.mp4
    │  │          05-todomvc-双击显示弹窗.mp4
    │  │          06-setState同步异步的问题.mp4
    │  │          07-todomvc-修改任务名字.mp4
    │  │          08-todomvc-底部筛选功能.mp4
    │  │          
    │  ├─05、第五章 极客园H5项目
    │  │  ├─5-1 极客园项目-初始化
    │  │  │      09-极客园-移动端项目介绍.mp4
    │  │  │      10-极客园-项目技术栈介绍.mp4
    │  │  │      11-极客园-项目初始化.mp4
    │  │  │      12-极客园-修改项目目录.mp4
    │  │  │      13-样式搭建-通用样式处理.mp4
    │  │  │      14-极客园-项目搭建-导入组件库.mp4
    │  │  │      15-极客园-配置快捷路径.mp4
    │  │  │      16-极客园-配置px转vw.mp4
    │  │  │      17-配置项目路由.mp4
    │  │  │      18-项目搭建-redux环境配置.mp4
    │  │  │      19-字体图标的使用-js的方式.mp4
    │  │  │      20-登录功能-Icon组件的封装.mp4
    │  │  │      21-移动端1px的处理.mp4
    │  │  │      【重要、必看】补充说明:极客园-配置px转vm.mp4
    │  │  │      
    │  │  ├─5-10 token 刷新及406页面处理
    │  │  │      09-刷新token-功能完成.mp4
    │  │  │      
    │  │  ├─5-11 token 刷新及407页面处理
    │  │  │      10-刷新token-失败后刷新token且重新发请求.mp4
    │  │  │      
    │  │  ├─5-12 token 刷新及408页面处理
    │  │  │      11-刷新token-刷新token失败的处理.mp4
    │  │  │      
    │  │  ├─5-13 token 刷新及409页面处
    │  │  │      12-刷新token-发现bug.mp4
    │  │  │      
    │  │  ├─5-14 token 刷新及410页面处理
    │  │  │      13-刷新token-打断点.mp4
    │  │  │      
    │  │  ├─5-15 token 刷新及411页面处理
    │  │  │      14-404页面-处理定时跳转.mp4
    │  │  │      
    │  │  ├─5-16 token 刷新及412页面处理
    │  │  │      15-404页面-倒计时的处理.mp4
    │  │  │      
    │  │  ├─5-17 token 刷新及413页面处理
    │  │  │      16-404-处理定时器问题.mp4
    │  │  │      
    │  │  ├─5-18 tabs 组件
    │  │  │      17-首页-其他一些不常用的页面.mp4
    │  │  │      18-首页-tabs组件的基本使用.mp4
    │  │  │      19-首页tabs组件的渲染.mp4
    │  │  │      20-首页-频道管理-获取频道数据的逻辑优化.mp4
    │  │  │      21-首页-频道管理-展示频道管理组件.mp4
    │  │  │      22-首页-频道管理-推荐频道的渲染.mp4
    │  │  │      23-首页-lodash的使用介绍.mp4
    │  │  │      24-首页-lodash的按需导入.mp4
    │  │  │      
    │  │  ├─5-19 首页文章频道管理
    │  │  │      01-首页-频道高亮的切换.mp4
    │  │  │      02-首页-tabs组件的作用.mp4
    │  │  │      03-首页-编辑模块的切换.mp4
    │  │  │      04-首页-频道管理-删除频道的功能.mp4
    │  │  │      05-首页-频道管理-删除频道-删除逻辑优化.mp4
    │  │  │      06-首页-添加功能完成.mp4
    │  │  │      07-首页-articleList的基本结构与样式.mp4
    │  │  │      08-首页-发送请求-当前频道对应的文章数据.mp4
    │  │  │      09-首页-文章列表数据的渲染.mp4
    │  │  │      10-首页-把文章列表数据保存到redux中的分析.mp4
    │  │  │      11-首页-把文章列表数据保存到redux中.mp4
    │  │  │      12-首页-渲染文章列表.mp4
    │  │  │      
    │  │  ├─5-2 极客园项目-登录功能
    │  │  │      01-登录功能-导航条的封装-withRouter的用法.mp4
    │  │  │      02-登录功能-导航条封装-useHistory的使用.mp4
    │  │  │      03-登录功能-登录页面基本结构.mp4
    │  │  │      04-登录功能-Input组件的封装.mp4
    │  │  │      05-登录功能-Input组件封装-补充说明.mp4
    │  │  │      06-登录功能-formik的介绍.mp4
    │  │  │      07-登录功能-formik基本使用功能.mp4
    │  │  │      08-登录功能-formik校验的基本使用.mp4
    │  │  │      08-登录功能-yup的使用.mp4
    │  │  │      09-登录功能-登录按钮禁用的使用.mp4
    │  │  │      10-登录功能-axios的基本封装.mp4
    │  │  │      12-登录功能-获取验证码-消息提示优化.mp4
    │  │  │      13-登录功能-验证码倒计时.mp4
    │  │  │      14-登录功能-函数组件的特性说明.mp4
    │  │  │      15-登录功能-如何获取组件的最新值.mp4
    │  │  │      16-登录功能-倒计时完成.mp4
    │  │  │      17-登录功能-axios统一处理错误信息.mp4
    │  │  │      18-登录功能-把token存储到redux中.mp4
    │  │  │      19-登录功能-token保存到本地.mp4
    │  │  │      
    │  │  ├─5-20 上拉加载下拉刷新
    │  │  │      13-首页-下拉刷新功能与antd-mobile v5版本.mp4
    │  │  │      14-首页-上拉加载更多-infiniteScroll组件的使用.mp4
    │  │  │      15-首页-上拉加载更多数据.mp4
    │  │  │      16-首页-上拉加载更多数据-处理.mp4
    │  │  │      17-首页-上拉记载更多-整理.mp4
    │  │  │      18-首页-记录滚动条的位置.mp4
    │  │  │      
    │  │  ├─5-21 hooks中的API
    │  │  │      01-hooks中的useReducer.mp4
    │  │  │      02-redux配合class组件使用功能.mp4
    │  │  │      03-intersectionObserver的使用.mp4
    │  │  │      04-图片懒加载组件封装.mp4
    │  │  │      05-MoreAction-数据的分析.mp4
    │  │  │      06-MoreAction-控制弹窗的显示和隐藏.mp4
    │  │  │      07-MoreAction-控制显示和隐藏.mp4
    │  │  │      08-拉黑功能-举报文章.mp4
    │  │  │      09-不喜欢文章功能-完成.mp4
    │  │  │      10-举报功能-功能完成.mp4
    │  │  │      
    │  │  ├─5-3 极客园项目-首页
    │  │  │      01-学生反馈.mp4
    │  │  │      02-token为什么要存在redux和localstorage中.mp4
    │  │  │      03-请求拦截器-统一配置token信息.mp4
    │  │  │      04-首页-基础布局.mp4
    │  │  │      05-首页-tabBar基本渲染完成.mp4
    │  │  │      06-首页-配置项目二级路由.mp4
    │  │  │      07-首页-配置二级路由的注意事项.mp4
    │  │  │      08-首页-个人中心基本结构与样式.mp4
    │  │  │      09-首页-个人中心-发送请求获取用户信息.mp4
    │  │  │      
    │  │  ├─5-4 极客园项目-个人中心(上)
    │  │  │      10-个人中心-渲染个人信息.mp4
    │  │  │      11-个人中心-准备个人详情的结构与样式.mp4
    │  │  │      12-个人中心-获取个人详细信息.mp4
    │  │  │      13-个人中心-渲染用户详细信息.mp4
    │  │  │      14-个人中心-抽屉组件-样式bug.mp4
    │  │  │      15-个人中心-抽屉组件-样式.mp4
    │  │  │      16-个人中心-抽屉组件-基本使用功能.mp4
    │  │  │      17-个人中心-封装editInput组件.mp4
    │  │  │      18-个人中心-EditiInput组件的封装.mp4
    │  │  │      19-个人中心-判断显示昵称还是简介.mp4
    │  │  │      20-个人中心-Textarea组件的封装.mp4
    │  │  │      21-个人中心-回显了昵称和简介.mp4
    │  │  │      22-个人中心-修改昵称和简介完成.mp4
    │  │  │      
    │  │  ├─5-5 极客园项目-个人中心(下)
    │  │  │      01-学生反馈.mp4
    │  │  │      02-学生反馈-http的基础.mp4
    │  │  │      03-学生反馈-ip地址的解析.mp4
    │  │  │      04-学生反馈-三次握手和四次挥.mp4
    │  │  │      05-学生反馈-完整流程.mp4
    │  │  │      06-个人中心-修改昵称和简介-自动获取光标.mp4
    │  │  │      07-个人中心-修改性别和头像-抽屉组件的使用.mp4
    │  │  │      08-个人中心-区分头像和性别的渲染.mp4
    │  │  │      09-个人中心-上传头像功能完成.mp4
    │  │  │      10-个人中心- 上传图片的说明.mp4
    │  │  │      11-个人中心-修改生日.mp4
    │  │  │      12-个人中心-退出功能.mp4
    │  │  │      
    │  │  ├─5-6 极客园项目-小智同学
    │  │  │      13-websocket介绍.mp4
    │  │  │      14-websocket的流程介绍.mp4
    │  │  │      15-小智同学-准备组件和路由.mp4
    │  │  │      16-小智同学-基本结构与渲染.mp4
    │  │  │      17-小智同学-socketio的初始化.mp4
    │  │  │      18-小智同学-给小智同学发消息.mp4
    │  │  │      19-小智同学-监听消息并且滚动到底部.mp4
    │  │  │      20-个人中心-token的判断.mp4
    │  │  │      
    │  │  ├─5-7 路由守卫AuthRoute
    │  │  │      01-AuthRoute-render属性的语法.mp4
    │  │  │      02-AuthRoute-基本封装.mp4
    │  │  │      03-AuthRoute-登录跳回到拦截之前的页面.mp4
    │  │  │      04-history中push和replace的区别.mp4
    │  │  │      05-AuthRoute-使用push替换replace.mp4
    │  │  │      06-公司项目的流程说明.mp4
    │  │  │      
    │  │  ├─5-8 token 刷新及404页面处理
    │  │  │      07-刷新token的说明.mp4
    │  │  │      
    │  │  └─5-9 token 刷新及405页面处理
    │  │          08-刷新token-判断401-未删减.mp4
    │  │          
    │  └─06、第六章 Typescript
    │      ├─6-1 ts 介绍
    │      │      11-typescript的介绍.mp4
    │      │      12-typescript为什么要给js提供类型支持.mp4
    │      │      13-typescript相比js的优势.mp4
    │      │      14-typescript的基本使用步骤.mp4
    │      │      15-typescript的安装.mp4
    │      │      16-ts的原始类型.mp4
    │      │      
    │      ├─6-10 ts 改造登录功能
    │      │      22-ts改造-unknown类型.mp4
    │      │      23-ts改造-登录组件改造-useLocation的用法.mp4
    │      │      24-ts改造-login模块-action修改.mp4
    │      │      25-ts改造-登录功能-索引签名类型.mp4
    │      │      26-ts改造-登录功能-reducer的处理.mp4
    │      │      
    │      ├─6-11 Home组件
    │      │      01-profile组件改造-reducer的修改.mp4
    │      │      02-profile组件-actions的修改.mp4
    │      │      03-profile组件-如何获取RootState的类型.mp4
    │      │      04-profile组件-useSelector的使用.mp4
    │      │      05-Profile组件-索引查询类型.mp4
    │      │      06-Home组件-修改home组件reducer的类型.mp4
    │      │      07-Home组件修改-reducer修改完成.mp4
    │      │      08-Home组件-修改utils中saveToken报错问题.mp4
    │      │      09-Home组件-修改utils中logout报错问题.mp4
    │      │      10-Home组件-action的改造.mp4
    │      │      11-Home组件改造-RootThunkAction类型的.mp4
    │      │      12-Home组件-action修改完成.mp4
    │      │      
    │      ├─6-12 搜索功能-上
    │      │      13-搜索功能-ts改造首页.mp4
    │      │      14-搜索功能-search组件创建与路由配置.mp4
    │      │      15-搜索功能-准备redux的结构.mp4
    │      │      16-搜索功能-获取搜索内容以及防抖处理.mp4
    │      │      
    │      ├─6-13 搜索功能-下
    │      │      01-搜索功能-防抖函数的处理.mp4
    │      │      02-搜索功能-存储推荐数据到redux.mp4
    │      │      03-搜索功能-typescript如何指定泛型类型.mp4
    │      │      04-搜索功能-展示推荐列表.mp4
    │      │      05-搜索功能-高亮的逻辑处理.mp4
    │      │      06-搜索功能-高亮与null值处理.mp4
    │      │      07-搜索功能-控制搜索推荐和搜索历史的显示.mp4
    │      │      08-搜索功能-清空推荐功能.mp4
    │      │      09-搜索功能-清空的笔记.mp4
    │      │      10-搜索功能能-添加历史记录-上.mp4
    │      │      11-搜索功能-保存历史记录到redux和storage中.mp4
    │      │      12=搜索功能-添加历史记录.mp4
    │      │      13-搜索功能-清空历史记录.mp4
    │      │      14-搜索结果-路由的配置.mp4
    │      │      15-搜索功能-获取地址栏参数.mp4
    │      │      16-搜索功能-获取搜索结果数据.mp4
    │      │      17-搜索功能-加载更多文章.mp4
    │      │      18-图片403的解释和解决方案.mp4
    │      │      
    │      ├─6-14 文章详情(上)
    │      │      19-文章详情-配置路由.mp4
    │      │      20-文章详情-发送请求-获取文章详情数据.mp4
    │      │      21-文章详情-获取文章详情数据.mp4
    │      │      22-文章详情-渲染文章详情数据.mp4
    │      │      23-文章详情-使用dompurify防止xss攻击.mp4
    │      │      
    │      ├─6-15 文章详情(中)
    │      │      02-文章详情-顶部显示作者信息功能完成.mp4
    │      │      03-文章详情-获取评论数据.mp4
    │      │      04-文章详情-渲染评论列表.mp4
    │      │      05-文章详情-加载更多评论.mp4
    │      │      06-文章详情-评论的底部功能处理.mp4
    │      │      07-文章详情-点赞功能.mp4
    │      │      08-文章详情-收藏功能完成.mp4
    │      │      09-文章详情-跳转到评论与顶部的功能.mp4
    │      │      
    │      ├─6-16 文章详情(下)
    │      │      10-吸顶组件-功能完成.mp4
    │      │      11-商品详情-分享功能完成.mp4
    │      │      12-商品详情页-发表评论功能完成.mp4
    │      │      13-文章详情-样式bug修改.mp4
    │      │      14-文章详情-展示回复的弹窗.downloading
    │      │      15-文章详情-展示原评论.mp4
    │      │      16-文章详情-评论的回复列表显示.mp4
    │      │      17-文章详情-回复列表按钮的控制.mp4
    │      │      18-文章详情-回复评论的抽屉.mp4
    │      │      19-文章详情-添加回复功能.mp4
    │      │      20-文章详情-更新回复数量.mp4
    │      │      21-文章详情-回复功能数量+1.mp4
    │      │      22-优化-缓存组件的使用说明.mp4
    │      │      23-优化-react中cdn的配置.mp4
    │      │      
    │      ├─6-2 ts 基础
    │      │      17-ts-使用注意事项.mp4
    │      │      18-ts-数组类型的使用.mp4
    │      │      19-ts基础-联合类型.mp4
    │      │      20-ts基础-类型别名.mp4
    │      │      21-ts基础-函数类型基本使用.mp4
    │      │      22-ts基础-void类型.mp4
    │      │      22-ts基础-函数的可选参数与默认值.mp4
    │      │      23-ts基础-接口的基本使用功能.mp4
    │      │      
    │      ├─6-3 ts 对象
    │      │      24-对象类型的基本使用.mp4
    │      │      25-对象类型-可选属性.mp4
    │      │      26-接口指定对象类型.mp4
    │      │      27-对象类型的练习.mp4
    │      │      28-接口的继承.mp4
    │      │      
    │      ├─6-4 ts 类型
    │      │      01-ts基础-元组.mp4
    │      │      02-ts基础-类型推论.mp4
    │      │      03-字面量类型的使用.mp4
    │      │      04-枚举的基本使用.mp4
    │      │      05-枚举的值的说明.mp4
    │      │      06-any类型的介绍.mp4
    │      │      07-类型断言的使用.mp4
    │      │      08-typeof的说明.mp4
    │      │      
    │      ├─6-5 ts 泛型
    │      │      09-泛型的基本介绍.mp4
    │      │      10-泛型的基本类型.mp4
    │      │      11-泛型-简化使用.mp4
    │      │      12-泛型-数组就是一个泛型.mp4
    │      │      13-泛型-泛型的约束.mp4
    │      │      14-泛型约束.mp4
    │      │      15-泛型接口.mp4
    │      │      
    │      ├─6-6 react 中ts
    │      │      16-ts基础-useState与useRef.mp4
    │      │      17-ts基础-泛型工具类型.mp4
    │      │      18-在react中使用ts-ts配置文件的介绍.mp4
    │      │      19-在react中使用ts-ts和tsx的区别.mp4
    │      │      
    │      ├─6-7 类型声明文件
    │      │      20-类型声明文件d-ts的介绍.mp4
    │      │      21-类型声明文件-第三方库.mp4
    │      │      22-类型声明文件-给已有的js添加类型声明.mp4
    │      │      23-类型声明文件-把js改造成ts.mp4
    │      │      24-类型声明文件-使用声明文件改造js.mp4
    │      │      25-项目改造-增加ts的支持.mp4
    │      │      
    │      ├─6-8 面试题-节流
    │      │      01-面试题-请求节流.mp4
    │      │      02-面试题-请求节流2个一起发-todo.mp4
    │      │      03-面试题-请求节流2个一起发.mp4
    │      │      04-面试题-请求节流2个一起-优化.mp4
    │      │      
    │      └─6-9 ts 改造
    │              05-ts改造-App组件和history函数.mp4
    │              06-ts改造-修改storage中的setToken和getT.mp4
    │              07-非空断言的使用.mp4
    │              08-ts改造-修改storage-完成.mp4
    │              09-ts改造-拒绝访问.mp4
    │              10-ts改造-utils中request的改造.mp4
    │              11-ts改造-NavBar组件改造.mp4
    │              12-ts改造-修改Icon组件和NavBar组件.mp4
    │              13-ts改造-Img组件.mp4
    │              14-ts改造-useRef如何在typescript中使用.mp4
    │              15-ts改造-改造Input组件-上.mp4
    │              16-ts改造-Input组件-支持input框所有的属性.mp4
    │              17-ts改造-较差类型和Omit泛型类.mp4
    │              18-ts改造-Input改造完成.mp4
    │              19-ts改造-TextArea组件的改造.mp4
    │              20-ts改造-AutoRoute组件改造.mp4
    │              21-ts改造-改造Layout和NotFound组件.mp4
    │              22-ts改造-unknown类型.mp4
    │              
    ├─08、阶段八  360°职业规划-前端
    │  ├─01、第一章 1-前端-工作面试指导技巧
    │  │      01-工作指导课介绍.mp4
    │  │      01-简历核心组成部分以及标题讲解.mp4
    │  │      02-简历书写-求职意向.mp4
    │  │      03-简历书写-专业技能.mp4
    │  │      04-简历书写-工作经历.mp4
    │  │      05-简历书写-项目经验.mp4
    │  │      06-简历书写-教育经历&自我评价.mp4
    │  │      09-求职篇-招聘流程.mp4
    │  │      10-求职篇-简历相关.mp4
    │  │      11-求职篇-面试相关.mp4
    │  │      12-面试篇-注意事项.mp4
    │  │      13-工作篇.mp4
    │  │      14-市场篇.mp4
    │  │      15-人事篇.mp4
    │  │      16-工作心理篇.mp4
    │  │      
    │  ├─02、第二章 2-前端就业加强课
    │  │  ├─0-1 内容介绍【react面试题是选学,参考讲义即可】
    │  │  │      00-内容介绍.mp4
    │  │  │      
    │  │  ├─0-2 HTML+CSS
    │  │  │      01-HTML基础-HTML5的基本认知.mp4
    │  │  │      02-HTML基础-data-开头的元素属性是什么.mp4
    │  │  │      03-HTML基础-谈谈你对 HTML 语义化的理解.mp4
    │  │  │      04-HTML基础-HTML5 对比 HTML4 有哪些不同.mp4
    │  │  │      05-HTML基础-meta 标签有哪些常用用法?.mp4
    │  │  │      06-HTML基础-img 标签的 srcset 的作用是什么?.mp4
    │  │  │      07-HTML基础-响应式图片处理优化Picture标签.mp4
    │  │  │      08-HTML基础-在 script 标签上使用 defer 和 as.mp4
    │  │  │      09-HTML基础-前端做本地存储的方式有哪些.mp4
    │  │  │      10-CSS基础-CSS选择器的优先级.mp4
    │  │  │      11-CSS基础-通过CSS的哪些方式可以隐藏页面.mp4
    │  │  │      12-CSS基础-px, em, rem之间的区别.mp4
    │  │  │      13-CSS基础-让元素水平居中的方法有哪些(4种.mp4
    │  │  │      14-CSS基础-在 CSS 中有哪些定位方式.mp4
    │  │  │      15-CSS基础-如何理解 z-index, z-index的小坑.mp4
    │  │  │      16-CSS基础-如何清除浮动.mp4
    │  │  │      17-CSS基础-谈谈你对 BFC 的理解.mp4
    │  │  │      18-CSS基础-什么是CSS Sprites以及它的好处.mp4
    │  │  │      19-CSS基础-你对媒体查询的理解是什么样的?(响应式适配).mp4
    │  │  │      20-CSS基础-你对盒模型的理解是什么样的?标.mp4
    │  │  │      21-CSS基础-说说伪类和伪元素的区别.mp4
    │  │  │      22-CSS基础-谈谈你对 flex 的理解.mp4
    │  │  │      
    │  │  ├─0-3 JavaScript基础
    │  │  │      00-简要复习.mp4
    │  │  │      01-JS基础-谈谈你对 JavaScript 作用域链的理解.mp4
    │  │  │      02-JS基础-谈谈你对闭包的理解.mp4
    │  │  │      03-JS基础-闭包补充说明.mp4
    │  │  │      04-JS基础-数据类型的隐式转换规则(了解).mp4
    │  │  │      05-JS基础-谈谈你对原型链的理解.mp4
    │  │  │      06-JS基础-为什么要有继承.mp4
    │  │  │      07-JS基础-继承-原型继承.mp4
    │  │  │      08-JS基础-继承-组合式继承.mp4
    │  │  │      09-JS基础-继承-寄生组合式继承.mp4
    │  │  │      10-JS基础-es6-class 实现继承 extends.mp4
    │  │  │      11-JS基础-如何判断是否是数组.mp4
    │  │  │      12-JS基础-this指向的整理.mp4
    │  │  │      13-JS基础-this小练习-箭头函数中的this问题.mp4
    │  │  │      14-JS基础-Promise的静态方法.mp4
    │  │  │      15-JS基础-宏任务和微任务.mp4
    │  │  │      16-JS基础-宏任务微任务练习题1.mp4
    │  │  │      17-JS基础-宏任务微任务练习题2.mp4
    │  │  │      23-JS基础-解释下什么是变量提升.mp4
    │  │  │      24-JS基础-JS的参数以什么方式传递的.mp4
    │  │  │      25-JS基础-JavaScript垃圾回收01.mp4
    │  │  │      26-JS基础-JavaScript垃圾回收02.mp4
    │  │  │      
    │  │  ├─0-4 HTTP协议
    │  │  │      01-HTTP协议-为什么需要HTTPS.mp4
    │  │  │      02-HTTP协议-对称加密.mp4
    │  │  │      03-HTTP协议-非对称加密和HTTPS的加密解决方案.mp4
    │  │  │      04-HTTP协议-数字证书(保证你正在访问的.mp4
    │  │  │      05-HTTP协议-数字签名和小结.mp4
    │  │  │      06-HTTP协议-HTTP2和HTTP1相比的优势.mp4
    │  │  │      07-HTTP协议-http缓存的基本认知.mp4
    │  │  │      08-HTTP协议-强缓存的认知.mp4
    │  │  │      09-HTTP协议-协商缓存认知.mp4
    │  │  │      10-HTTP协议-整体巩固.mp4
    │  │  │      11-HTTP协议-整体缓存流程图.mp4
    │  │  │      18-HTTP协议-HTTP的常见方法.mp4
    │  │  │      19-HTTP协议-GET方法和POST方法有何区别.mp4
    │  │  │      20-HTTP协议-请求报文的组成部分.mp4
    │  │  │      21-HTTP协议-响应报文的组成部.mp4
    │  │  │      22-HTTP协议-状态码-2x.mp4
    │  │  │      23-HTTP协议-状态-3xx(重点记忆304).mp4
    │  │  │      24-HTTP协议-状态码(4xx和5xx)400,401.mp4
    │  │  │      25-HTTP协议-keep-alive是什么(复用连接).mp4
    │  │  │      26-简要小结.mp4
    │  │  │      
    │  │  ├─0-5 TCP协议
    │  │  │      12-TCP协议-一次完整的http服务的流程.mp4
    │  │  │      13-TCP协议-什么是DNS解析.mp4
    │  │  │      14-TCP协议-三次握手.mp4
    │  │  │      15-TCP协议-四次挥手.mp4
    │  │  │      
    │  │  ├─0-6 浏览器原理
    │  │  │      00-复习回顾.mp4
    │  │  │      01-浏览器原理-前端如何实现即时通信.mp4
    │  │  │      02-浏览器原理-同源策略和跨.mp4
    │  │  │      16-DOM-事件流和事件委托.mp4
    │  │  │      17-浏览器原理-浏览器是如何解析选择器的-1.mp4
    │  │  │      18-浏览器原理-如何解析选择器的-2.mp4
    │  │  │      19-浏览器原理-浏览器是如何进行界面渲染的.mp4
    │  │  │      20-浏览器原理-重排和重绘的认知.mp4
    │  │  │      21-浏览器原理-浏览器对于重绘重排的优化.mp4
    │  │  │      22-浏览器原理-如何从重绘和重排角度优化性能.mp4
    │  │  │      
    │  │  ├─0-7 前端工程化
    │  │  │      03-前端工程化-babel的原理.mp4
    │  │  │      04-前端工程化-babel实现插件.mp4
    │  │  │      05-前端工程化-git工作流.mp4
    │  │  │      06-前端工程化-git的rebase和merge的区别.mp4
    │  │  │      07-前端工程化-git的reset回退和revert撤销.mp4
    │  │  │      
    │  │  └─0-8 Vue相关
    │  │          08-vu.mp4
    │  │          09-vue相关-谈谈对于vue生命周期的理解.mp4
    │  │          10-vue相关-组件通信-父子props和$emit.mp4
    │  │          11-vue相关-组件通信-$children $parent $refs.mp4
    │  │          12-vue相关-组件通信-provide inject.mp4
    │  │          13-vue相关-组件通信-$attrs和$listeners.mp4
    │  │          14-vue相关-组件通信-vuex.mp4
    │  │          15-上午回顾.mp4
    │  │          16-vue相关-computed和watch的区别.mp4
    │  │          17-vue相关-vue双向数据绑定的原理.mp4
    │  │          18-vue相关-响应式系统原理(dep收集依赖-数据.mp4
    │  │          19-vue相关-key的作用.mp4
    │  │          20-vue相关-Vue 跳转路由时的传参方式 (query和params的区别).mp4
    │  │          21-vue相关-vue项目进行SEO优化.mp4
    │  │          22-vue相关-vue项目权限控制.mp4
    │  │          23-vue相关-vue项目支付功能.mp4
    │  │          24-vue相关-如何处理打包出来的项目首屏加载.mp4
    │  │          25-vue相关-你在项目中遇到过什么技术难题.mp4
    │  │          26-vue相关-请简单介绍一下你们的项目.mp4
    │  │          
    │  ├─03、第三章 3-Vue电商后台管理系统面试题【项目面试题】
    │  │      10、路由守卫.mp4
    │  │      11、通过axios 拦截器添加token验证.mp4
    │  │      12、菜单使用.mp4
    │  │      13、用户列表1.mp4
    │  │      14、用户列表2.mp4
    │  │      15、分页处理.mp4
    │  │      16、更新用户状态.mp4
    │  │      17、用户信息添加.mp4
    │  │      18、用户编辑.mp4
    │  │      19、用户删除.mp4
    │  │      1、学习内容介绍.mp4
    │  │      20、用户角色权限关系.mp4
    │  │      21、权限渲染.mp4
    │  │      22、删除指定角色下的权限.mp4
    │  │      23、为角色分配权限1.mp4
    │  │      24、为角色分配权限2.mp4
    │  │      25、为角色分配权限3.mp4
    │  │      26、为用户分配角色.mp4
    │  │      27、商品分类数据展示.mp4
    │  │      28、模板列渲染.mp4
    │  │      29、添加商品分类1.mp4
    │  │      2、系统的功能划分介绍.mp4
    │  │      30、添加商品分类2.mp4
    │  │      31、分类参数介绍.mp4
    │  │      32、获取分类参数数据.mp4
    │  │      33、添加分类参数.mp4
    │  │      34、分类参数编辑与删除.mp4
    │  │      35、指定参数添加.mp4
    │  │      36、过滤器应用.mp4
    │  │      37、商品添加1.mp4
    │  │      38、商品添加2.mp4
    │  │      39、实现图片上传.mp4
    │  │      3、开发模式介绍.mp4
    │  │      40、完成商品添加.mp4
    │  │      41、项目优化1.mp4
    │  │      42、项目优化2.mp4
    │  │      43.项目优化3.mp4
    │  │      44、项目部署上线.mp4
    │  │      4、技术选型 介绍.mp4
    │  │      5、登录业务流程.mp4
    │  │      6、token原理分析.mp4
    │  │      7、登录页面构建.mp4
    │  │      8、发起登录请求.mp4
    │  │      9、客户端存储token信息.mp4
    │  │      
    │  ├─04、第四章 4-Vue面试题精讲【含VUE3】
    │  │  ├─0-1 Vue核心知识点
    │  │  │      10、侦听器.mp4
    │  │  │      11、生命周期简介.mp4
    │  │  │      12、生命周期探讨1.mp4
    │  │  │      13、生命周期探讨2.mp4
    │  │  │      14、生命周期探讨3.mp4
    │  │  │      15、生命周期探讨4.mp4
    │  │  │      16、组件概述.mp4
    │  │  │      17、组件基本使用.mp4
    │  │  │      18、局部组件使用.mp4
    │  │  │      19、父组件向子组件传值.mp4
    │  │  │      1、课程介绍.mp4
    │  │  │      20、子组件向父组件传值.mp4
    │  │  │      21、兄弟组件传值.mp4
    │  │  │      22、插槽简介.mp4
    │  │  │      23、插槽基本创建.mp4
    │  │  │      24、具名插槽.mp4
    │  │  │      25、作用域插槽应用.mp4
    │  │  │      26、作用域查看案例.mp4
    │  │  │      27、插槽总结.mp4
    │  │  │      28、Vue组件化的理解.mp4
    │  │  │      29、Vue.set方法.mp4
    │  │  │      2、Vue基本使用介绍.mp4
    │  │  │      30、Vue.delete方法.mp4
    │  │  │      31、$on与$emit方法.mp4
    │  │  │      32、自定义组件实现双向绑定.mp4
    │  │  │      33、使用插槽完成内容分发.mp4
    │  │  │      34、事件总线.mp4
    │  │  │      35、$once与$off.mp4
    │  │  │      36、ref 和vm.$refs.mp4
    │  │  │      37、过滤器基本使用.mp4
    │  │  │      38、带参数的过滤器.mp4
    │  │  │      39、自定义指令基本使用.mp4
    │  │  │      3、属性绑定.mp4
    │  │  │      40、 自定义指令-带参数.mp4
    │  │  │      41、自定义局部指令.mp4
    │  │  │      42、渲染函数.mp4
    │  │  │      43、混入.mp4
    │  │  │      44、插件介绍.mp4
    │  │  │      4、列表渲染.mp4
    │  │  │      5、v-model.mp4
    │  │  │      6、v-on.mp4
    │  │  │      7、Class与Style绑定.mp4
    │  │  │      8、条件渲染.mp4
    │  │  │      9、计算属性.mp4
    │  │  │      
    │  │  ├─0-2 Vue-Router知识点
    │  │  │      10、将菜单改造为路由连接.mp4
    │  │  │      11、添加子路由规则并实现路由重定向.mp4
    │  │  │      12、渲染用户列表数据.mp4
    │  │  │      13、跳转到详情页.mp4
    │  │  │      14、路由全局守卫.mp4
    │  │  │      15、路由独享守卫.mp4
    │  │  │      16、组件内守卫.mp4
    │  │  │      17、addRoutes动态路由添加.mp4
    │  │  │      18、路由组件缓存.mp4
    │  │  │      19、Hash模式与History模式.mp4
    │  │  │      1、路由简介.mp4
    │  │  │      20、History模式使用1.mp4
    │  │  │      21、History模式2.mp4
    │  │  │      22、Nginx配置History模式.mp4
    │  │  │      23、复习VueRouter工作原理.mp4
    │  │  │      24、install方法实现.mp4
    │  │  │      25、构造方法创建.mp4
    │  │  │      26、解析路由规则.mp4
    │  │  │      27、创建router-link组件.mp4
    │  │  │      28、测试.mp4
    │  │  │      29、构建render函数.mp4
    │  │  │      2、路由基本使用.mp4
    │  │  │      30、构建router-view组件.mp4
    │  │  │      31、解决组件加载问题.mp4
    │  │  │      32、解决前进与后退问题.mp4
    │  │  │      33、复习总结.mp4
    │  │  │      34、查看Vue.use方法源码.mp4
    │  │  │      35、VueRouter目录结构分析.mp4
    │  │  │      36、VueRouter类初步创建.mp4
    │  │  │      37、install方法第二种方式实现.mp4
    │  │  │      38、组件创建测试.mp4
    │  │  │      3、路由重定向.mp4
    │  │  │      40、路由规则解析2.mp4
    │  │  │      41、路由规则解析完成.mp4
    │  │  │      42、match方法实现.mp4
    │  │  │      43、历史记录处理.mp4
    │  │  │      44、不同路由模式判断处理.mp4
    │  │  │      45、代码测试.mp4
    │  │  │      46、定义响应式路由属性.mp4
    │  │  │      47、创建$route与$router.mp4
    │  │  │      48、组件渲染1.mp4
    │  │  │      49、组件渲染2.mp4
    │  │  │      4、路由嵌套.mp4
    │  │  │      50、组件渲染完成.mp4
    │  │  │      5、动态匹配路由的基本用法.mp4
    │  │  │      6、路由组件传递参数.mp4
    │  │  │      7、命名路由.mp4
    │  │  │      8、编程式导航.mp4
    │  │  │      9、路由案例-渲染根组件.mp4
    │  │  │      
    │  │  ├─0-3 Vue响应式原理
    │  │  │      10、创建Observer类.mp4
    │  │  │      11、完善defineReactive方法.mp4
    │  │  │      12、Compiler类结构.mp4
    │  │  │      13、 compile方法实现.mp4
    │  │  │      14、compileText方法实现.mp4
    │  │  │      15、compileElement方法实现.mp4
    │  │  │      16、Dep类分析.mp4
    │  │  │      17、创建Dep类.mp4
    │  │  │      18、创建Watcher类.mp4
    │  │  │      19、创建Watcher对象.mp4
    │  │  │      1、课程目标.mp4
    │  │  │      20、创建Watcher对象2.mp4
    │  │  │      21、实现双向数据绑定.mp4
    │  │  │      22、响应式的问题.mp4
    │  │  │      2、数据驱动介绍.mp4
    │  │  │      3、defineProperty基本使用.mp4
    │  │  │      4、defineProperty使用2.mp4
    │  │  │      5、Vue3响应式原理.mp4
    │  │  │      6、发布订阅模式介绍.mp4
    │  │  │      7、发布订阅模式实现.mp4
    │  │  │      8、观察者模式.mp4
    │  │  │      9、模拟Vue响应式原理.mp4
    │  │  │      
    │  │  ├─0-4 Vue虚拟DOM
    │  │  │      10、h函数介绍.mp4
    │  │  │      11、Vnode函数.mp4
    │  │  │      12、虚拟DOM创建过程.mp4
    │  │  │      13、patch函数执行过程介绍.mp4
    │  │  │      14、init函数源码查看.mp4
    │  │  │      15、patch函数源码查看.mp4
    │  │  │      16、调试patch函数.mp4
    │  │  │      17、createElm函数源码解读.mp4
    │  │  │      18、addVnodes和removeVnodes方法.mp4
    │  │  │      19、patchVnode方法执行流程.mp4
    │  │  │      1、课程目标.mp4
    │  │  │      20、patchVode方法源码分.mp4
    │  │  │      20、创建Watcher对象2.mp4
    │  │  │      21、diff算法比较流程1.mp4
    │  │  │      22、diff算法比较2.mp4
    │  │  │      23、diff算法比较3.mp4
    │  │  │      24、diff算法比较4.mp4
    │  │  │      25、updateChildren方法源码分析1.mp4
    │  │  │      26、updateChildren方法源码分析2.mp4
    │  │  │      27、钩子函数介.mp4
    │  │  │      28、模块源码分析.mp4
    │  │  │      29、模块调用的时机分析.mp4
    │  │  │      2、虚拟DOM介绍.mp4
    │  │  │      3、为什么使用Virtual DOM.mp4
    │  │  │      4、虚拟DOM的作用.mp4
    │  │  │      5、创建项目.mp4
    │  │  │      6、Snabbdom导入.mp4
    │  │  │      7、Snabbdom的基本使用.mp4
    │  │  │      8、 Snabbdom的基本使用2.mp4
    │  │  │      9、模块的基本使用.mp4
    │  │  │      
    │  │  ├─0-5 Vuex状态管理
    │  │  │      10、Module应用.mp4
    │  │  │      11、Vuex严格模式.mp4
    │  │  │      12、购物车案例介绍.mp4
    │  │  │      13、商品列表.mp4
    │  │  │      14、添加购物车.mp4
    │  │  │      15、购物车列表展示.mp4
    │  │  │      16、计算商品数量与价格.mp4
    │  │  │      17、删除购物车中商品.mp4
    │  │  │      18、购物车商品展示.mp4
    │  │  │      19、实现全选功能.mp4
    │  │  │      1、课程介绍.mp4
    │  │  │      20、处理文本框.mp4
    │  │  │      21、实现选中商品的统计功能.mp4
    │  │  │      22、存储购物车中的商品数据.mp4
    │  │  │      23、模拟Vuex上.mp4
    │  │  │      24、模拟Vuex下.mp4
    │  │  │      25、总结.mp4
    │  │  │      2、状态管理介绍.mp4
    │  │  │      3、简易的状态管理.mp4
    │  │  │      4、Vuex介绍.mp4
    │  │  │      5、Vuex核心概念.mp4
    │  │  │      6、State应用.mp4
    │  │  │      7、Getters应用.mp4
    │  │  │      8、Mutation应用.mp4
    │  │  │      9、Action应用.mp4
    │  │  │      
    │  │  ├─0-6 Vue服务端渲染
    │  │  │      10、路由导航.mp4
    │  │  │      11、动态路由.mp4
    │  │  │      12、嵌套路由.mp4
    │  │  │      13、获取异步数据.mp4
    │  │  │      14、获取异步数据2.mp4
    │  │  │      15、上下文对象.mp4
    │  │  │      16、渲染Vue实例.mp4
    │  │  │      17、创建web服务器.mp4
    │  │  │      18、模板使用.mp4
    │  │  │      19、向模板中传递数据.mp4
    │  │  │      1、服务端渲染介绍.mp4
    │  │  │      20、问题说明.mp4
    │  │  │      21、创建目录结构.mp4
    │  │  │      22、Webpack配置1.mp4
    │  │  │      23、Webpack配置2.mp4
    │  │  │      24、配置构建命令.mp4
    │  │  │      25、测试打包.mp4
    │  │  │      26、实现客户端交互.mp4
    │  │  │      27、解析渲染的流程.mp4
    │  │  │      2、渲染的概念.mp4
    │  │  │      3、传统服务端渲染.mp4
    │  │  │      4、客户端渲染介绍.mp4
    │  │  │      5、客户端渲染问题描述.mp4
    │  │  │      6、什么是同构渲染.mp4
    │  │  │      7、同构渲染的问题.mp4
    │  │  │      8、初始化NuxtJS项目.mp4
    │  │  │      9、基本路由规则.mp4
    │  │  │      
    │  │  ├─0-7 Vue常见面试题 0-
    │  │  │      10、keep-alive.mp4
    │  │  │      11、mixin.mp4
    │  │  │      13、defineProperty问题1.mp4
    │  │  │      14、defineProperty问题2.mp4
    │  │  │      15、vue如何监听数组的变.mp4
    │  │  │      16、虚拟DOM和diff算法.mp4
    │  │  │      17、模板编译与渲染.mp4
    │  │  │      18、常见面试题说明.mp4
    │  │  │      1、watch问题.mp4
    │  │  │      2、v-if与v-show.mp4
    │  │  │      3、循环列表.mp4
    │  │  │      4、组件通信.mp4
    │  │  │      5、生命周期问题.mp4
    │  │  │      6、v-model问题.mp4
    │  │  │      7、$nextTick问题.mp4
    │  │  │      8、动态组件问题.mp4
    │  │  │      9、异步加载组件.mp4
    │  │  │      
    │  │  ├─0-8 Vue源码解读 0-
    │  │  │      10、Vue.mixin与Vue.extend方法源码.mp4
    │  │  │      11、initAssetRegisters方法源码.mp4
    │  │  │      12、Vue实例成员.mp4
    │  │  │      13、init方法.mp4
    │  │  │      14、initState方法.mp4
    │  │  │      15、总结.mp4
    │  │  │      16、响应式处理的入口.mp4
    │  │  │      17、Observe.mp4
    │  │  │      18、defineReactive.mp4
    │  │  │      19、依赖收集.mp4
    │  │  │      1、准备工作.mp4
    │  │  │      20、数组响应式处理.mp4
    │  │  │      21、数组响应式练习题.mp4
    │  │  │      22、总结响应式处理过程.mp4
    │  │  │      2、查找入口文件.mp4
    │  │  │      3.查看入口代码.mp4
    │  │  │      4、查看入口代码2.mp4
    │  │  │      5、Vue初始化过程.mp4
    │  │  │      6、Vue初始化过程2.mp4
    │  │  │      7、静态成员初始化.mp4
    │  │  │      8、extend源码分析.mp4
    │  │  │      9、Vue.use方法源码分析.mp4
    │  │  │      
    │  │  └─0-9 Vue3.0
    │  │          10、watch函数应用.mp4
    │  │          11、watchEffect函数应用.mp4
    │  │          12、todolist项目结构说明.mp4
    │  │          13、添加功能实现.mp4
    │  │          14、删除功能实现.mp4
    │  │          15、编辑操作实现1.mp4
    │  │          16、编辑操作实现2.mp4
    │  │          17、修改任务状态.mp4
    │  │          18、过滤任务状态.mp4
    │  │          19、清除已经完成的任务.mp4
    │  │          1、Vue3简介.mp4
    │  │          20、完成数据持久化.mp4
    │  │          21、总结.mp4
    │  │          2、Composition API 设计动机.mp4
    │  │          3、Vue3性能提升介绍.mp4
    │  │          4、Vite介绍.mp4
    │  │          5、Composition API基本使用.mp4
    │  │          6、生命周期钩子函数使用.mp4
    │  │          7、toRefs函数应用.mp4
    │  │          8、ref函数应用.mp4
    │  │          9、计算属性应用.mp4
    │  │          
    │  └─05、第五章 5-JavaScript面试精讲
    │      ├─0-1 JavaScript基础面试题
    │      │      10、parseFloat函数说明.mp4
    │      │      11、 isNaN( )函数与Number.isNaN( )函数区别.mp4
    │      │      12、字符串创建方式以及对应的区别.mp4
    │      │      13、怎样实现字符串逆序输出.mp4
    │      │      14、怎样统计出现最多的字符1.mp4
    │      │      15、怎样统计出出现最多字符2.mp4
    │      │      16、怎样实现字符串去重操作1.mp4
    │      │      17、怎样实现字符串去重操作2.mp4
    │      │      18、判断字符串是否为回文字符串1.mp4
    │      │      19、判断字符串是否为回文字符串2.mp4
    │      │      1、课程简单介绍.mp4
    │      │      20、双等运算符与三等运算符区别.mp4
    │      │      21、typeof运算符.mp4
    │      │      22、判断变量是否为空的方法.mp4
    │      │      23、switch结构问题.mp4
    │      │      2、基本数据类型与引用类型区别.mp4
    │      │      3、哪些场景中会出现undefined.mp4
    │      │      4、哪些场景中会出现null.mp4
    │      │      5、undefined与null之间的比较.mp4
    │      │      6、Boolean类型转换问题.mp4
    │      │      8、Number函数转换规则.mp4
    │      │      9、parseInt函数转换规则.mp4
    │      │      
    │      ├─0-2 引用类型 0-3 函
    │      │      10、什么是原型链.mp4
    │      │      11、原型链有什么特点.mp4
    │      │      12、怎样判断一个属性是实例自身的还是原型.mp4
    │      │      13、怎样判断一个变量是否为数组类型—instanceof.mp4
    │      │      14、怎样判断一个变量是否为数组类型—构造.mp4
    │      │      15、怎样判断一个变量是否为数组类型–toSt.mp4
    │      │      16、类型判断注意事项.mp4
    │      │      17、怎样过滤数组中的数据.mp4
    │      │      18、怎样完成数组元素的累加操作.mp4
    │      │      19、完成数组中最大值与最小值统计.mp4
    │      │      1、引用数据类型与基本类型区别复习.mp4
    │      │      20、常见的数组遍历方式有哪些.mp4
    │      │      21、手动模拟实现find函数.mp4
    │      │      22、手动模拟实现filter函数.mp4
    │      │      23、手动模拟实现some函数.mp4
    │      │      24.手动模拟实现every函数.mp4
    │      │      25、手动模拟实现map函数.mp4
    │      │      26、手动模拟实现reduce函数.mp4
    │      │      28、怎样实现数组去重操作2.mp4
    │      │      29、怎样实现数组去重操作3.mp4
    │      │      2、new操作符的作用.mp4
    │      │      30、获取数组中最多的元素1.mp4
    │      │      31、获取数组中最多的元素2.mp4
    │      │      4、属性访问与判断问题.mp4
    │      │      6、Object.create方法实现原理.mp4
    │      │      7、Object.create方法应用场景.mp4
    │      │      8、Object.create( )与new Object()的区别.mp4
    │      │      9、模拟new操作符的实现.mp4
    │      │      
    │      ├─0-3 函数常见问题讲解
    │      │      10、什么是作用域.mp4
    │      │      11、什么是作用域链.mp4
    │      │      12、作用域与作用域链的常见面试题1.mp4
    │      │      13、作用域与作用域链的常见面试题2.mp4
    │      │      14、变量提升.mp4
    │      │      15、函数提升.mp4
    │      │      16、函数提升问题.mp4
    │      │      17、执行上下文环境.mp4
    │      │      18、闭包.mp4
    │      │      19、闭包应用1.mp4
    │      │      1、函数定义的方式.mp4
    │      │      20、闭包应用2.mp4
    │      │      21、闭包常见面试题1.mp4
    │      │      22、闭包常见面试题2.mp4
    │      │      23、闭包常见面试题3.mp4
    │      │      24、闭包优点与缺点.mp4
    │      │      25、this指向问题1.mp4
    │      │      26、this指向问题2.mp4
    │      │      27、this指向问题3.mp4
    │      │      28、call()函数,apply( )函数,bind( )函数的使.mp4
    │      │      29、应用场景1.mp4
    │      │      2、Function构造函数问题.mp4
    │      │      30、应用场景2.mp4
    │      │      31、手动实现call函数.mp4
    │      │      32、手动实现apply函.mp4
    │      │      33、手动实现bind函数.mp4
    │      │      34、回调函数问题.mp4
    │      │      35、函数为什么被称为一等公民.mp4
    │      │      3、函数表达式应用场景介绍.mp4
    │      │      4、函数声明与函数表达式区别.mp4
    │      │      5、函数调用的方式.mp4
    │      │      6、实参与形参的区别.mp4
    │      │      7、介绍一下arguments对象.mp4
    │      │      9、构造函数与普通函数有什么区别.mp4
    │      │      
    │      ├─0-4 面试内容篇
    │      │      10、原型链继承.mp4
    │      │      11、构造函数继承.mp4
    │      │      12、拷贝继承.mp4
    │      │      13、组合继承.mp4
    │      │      14、寄生式组合继承.mp4
    │      │      15、模拟jQuery–基本结构实现.mp4
    │      │      16、模拟jQuery–this指向问题.mp4
    │      │      18、模拟jQuery-html方法实现.mp4
    │      │      19、模拟jQuery-extend方法实现.mp4
    │      │      1、 Object.defineProperty方法使用.mp4
    │      │      20、模拟jQuery-为标签添加样式.mp4
    │      │      21、模拟jQuery-复习.mp4
    │      │      22、模拟jQuery–封装独立命名空间.mp4
    │      │      23、对象常见问题总结.mp4
    │      │      2、属性访问方式区别.mp4
    │      │      3、创建对象的方式以及优缺点1.mp4
    │      │      4、创建对象的方式以及优缺点2.mp4
    │      │      5、什么是浅拷贝.mp4
    │      │      6、什么是深拷贝.mp4
    │      │      7、深拷贝模拟实现1.mp4
    │      │      8、深拷贝模拟实现2.mp4
    │      │      9、重写原型对象的问题.mp4
    │      │      
    │      ├─0-5 DOM与事件
    │      │      10、阻止事件冒泡.mp4
    │      │      11、事件冒泡与事件捕获综合问题.mp4
    │      │      12、Event对象使用.mp4
    │      │      13、事件模型1.mp4
    │      │      14、事件模型2.mp4
    │      │      15、事件模型3.mp4
    │      │      16、事件委托1.mp4
    │      │      17、事件委托2.mp4
    │      │      18、浏览器重排介绍.mp4
    │      │      19、浏览器重绘介绍.mp4
    │      │      1、DOM与事件常见问题说明.mp4
    │      │      2、常见选择器介绍.mp4
    │      │      3、HTMLCollection对象与NodeList对象区别.mp4
    │      │      4、常见DOM操作1.mp4
    │      │      5、常见DOM操作2.mp4
    │      │      6、DOM性能问题.mp4
    │      │      7、事件传播介绍.mp4
    │      │      8、什么是事件捕获.mp4
    │      │      9、什么是事件冒泡.mp4
    │      │      
    │      ├─0-6 Ajax常见问题讲解
    │      │      10、JSONP.mp4
    │      │      1、Ajax介绍.mp4
    │      │      2、Ajax创建流程.mp4
    │      │      3、Ajax优缺点总结.mp4
    │      │      4、Get请求与Post请求区别.mp4
    │      │      5、Get和Post请求的应用场景总结.mp4
    │      │      6、浏览器同源策略.mp4
    │      │      7、为什么浏览器会有跨域限制的问题.mp4
    │      │      8、跨域问题演示.mp4
    │      │      9、CORS.mp4
    │      │      
    │      ├─0-7 ES6
    │      │      10、扩展运算符应用场景.mp4
    │      │      11、rest运算符使用、优势、注意事.mp4
    │      │      12、箭头函数基本使用.mp4
    │      │      13、箭头函数中this指向的问题.mp4
    │      │      14、箭头函数不适合的场景说明.mp4
    │      │      15、Object.assign方法应用.mp4
    │      │      16、Object.assign方法注意事项.mp4
    │      │      17、什么是Symbol.mp4
    │      │      18、Symbol应用场景.mp4
    │      │      19、Proxy介绍.mp4
    │      │      1、let与var区别.mp4
    │      │      20、Proxy应用场景.mp4
    │      │      21、Proxy应用场景2.mp4
    │      │      22、Proxy应用场景3.mp4
    │      │      23、Set结构.mp4
    │      │      24、Generator函数基本使用.mp4
    │      │      25、Generator函数面试题.mp4
    │      │      26、Generator函数中的this问题.mp4
    │      │      26、Generator函数问题.mp4
    │      │      27、Generator函数应用场景1.mp4
    │      │      28、Generator函数应用场景2.mp4
    │      │      29、回调地狱问题.mp4
    │      │      2、为什么需要块级作用域.mp4
    │      │      30、同步的问题.mp4
    │      │      31、Promise基本使用.mp4
    │      │      32、Promise封装Ajax操作.mp4
    │      │      33、Promise常见误区.mp4
    │      │      34、Promise链式调用问题.mp4
    │      │      35、Promise异常处理.mp4
    │      │      36、Promise并行处理.mp4
    │      │      37、Promise.race方法.mp4
    │      │      38、Promise静态方法.mp4
    │      │      39、Promise执行顺序的问题.mp4
    │      │      3、块级作用域.mp4
    │      │      40、模拟Promise-搭建基本结构.mp4
    │      │      41、模拟Promise-异常处理.mp4
    │      │      42、模拟Promise–then方法处理.mp4
    │      │      43、模拟Promise-基本测试.mp4
    │      │      44、模拟Promise-完善操作.mp4
    │      │      46、常见的异步编程方式总结.mp4
    │      │      47、async介绍.mp4
    │      │      48、async函数应用.mp4
    │      │      49、async处理异步请求.mp4
    │      │      4、let命令注意事项.mp4
    │      │      50、请求依赖关系的处理.mp4
    │      │      51、并行处理的问题.mp4
    │      │      5、const命令注意事.mp4
    │      │      6、数组解构赋值.mp4
    │      │      7、对象解构赋值.mp4
    │      │      8、解构赋值好处.mp4
    │      │      9、扩展运算符基本使用.mp4
    │      │      
    │      ├─0-8 模块化
    │      │      1、模块化的发展过程.mp4
    │      │      2、常见模块化标准介绍.mp4
    │      │      3、ES Module特性说明.mp4
    │      │      4、模块导出操作.mp4
    │      │      5、导出的注意事项.mp4
    │      │      6、导入的注意事项.mp4
    │      │      7、导入与导出应用技巧.mp4
    │      │      
    │      └─0-9 JavaScript性能优化的问
    │              10、V8引擎垃圾回收1.mp4
    │              11、V8引擎垃圾回收2.mp4
    │              12、V8引擎垃圾回收3.mp4
    │              13、全局变量的问题.mp4
    │              14、全局变量问题2.mp4
    │              15、方法问题.mp4
    │              16、闭包的问.mp4
    │              17、循环的问题.mp4
    │              18、代码层级问题.mp4
    │              19、作用域问题.mp4
    │              1、什么是内存管理.mp4
    │              20、class基本使用.mp4
    │              21、class原理分析.mp4
    │              22、class继承实现.mp4
    │              2、什么是垃圾回收.mp4
    │              3、什么是GC算法.mp4
    │              4、引用计数算法实现原理分析.mp4
    │              5、引用计算算法的优点与缺点.mp4
    │              6、标记清除算法介绍.mp4
    │              7、标记清除算法的问题说明.mp4
    │              8、标记整理算法介绍.mp4
    │              9、V8引擎介绍.mp4
    │              
    └─资料
        ├─课件和试卷
        │  ├─01、阶段一 前端开发基础
        │  │  ├─第一章 HTML+CSS课前导学
        │  │  │      暂无课件.txt
        │  │  │      
        │  │  ├─第一阶段试卷
        │  │  │      前端开发基础-第1套试卷.doc
        │  │  │      博学谷官网静态页面制作(html+css).zip
        │  │  │      
        │  │  ├─第三章 CSS
        │  │  │      HTML CSS课程资料.ZIP
        │  │  │      
        │  │  ├─第二章 HTML
        │  │  │      HTML CSS课程资料.ZIP
        │  │  │      【博学谷】前端与移动开发就业班知识脑图.ZIP
        │  │  │      腾讯云项目-视频+代码资料.zip
        │  │  │      
        │  │  └─第四章 企业级小兔鲜儿项目
        │  │          HTML CSS课程资料.ZIP
        │  │          xtx-pc(小兔鲜儿项目代码完整版-作业补充-可以参考老师代码).ZIP
        │  │          
        │  ├─02、阶段二 移动Web网页开发
        │  │  │  【博学谷】前端与移动开发就业班知识脑图.ZIP
        │  │  │  移动Web开发课程资料.ZIP
        │  │  │  
        │  │  └─试卷
        │  │          PC端和移动端响应式网站.zip
        │  │          前端开发基本功-第1套试卷.doc
        │  │          
        │  ├─03、阶段三 JavaScript网页编程
        │  │  │  JavaScript基础课程资料.ZIP
        │  │  │  JavaScript高级课程资料.ZIP
        │  │  │  jQuery课程资料.ZIP
        │  │  │  WebAPI课程资料.ZIP
        │  │  │  阶段三:JavaScript 网页编程资料.ZIP
        │  │  │  
        │  │  └─试卷
        │  │          前后端交互-第1套试卷.doc
        │  │          腾讯电脑管家首页JS效果实现.zip
        │  │          
        │  ├─04、阶段四 前后端交互
        │  │  │  01-ajax课程资料(第二章 Ajax HTTP).ZIP
        │  │  │  02-Git github(第三章 Git和github基本使用).ZIP
        │  │  │  03-node.js(第四章node基础 – 第八章身份认证) (1).ZIP
        │  │  │  03-node.js(第四章node基础 – 第八章身份认证).ZIP
        │  │  │  04-大事件项目课程资料(第九章大事件后台管理系统项目).ZIP
        │  │  │  
        │  │  └─试卷
        │  │          前后端分离模式移动web网站开发.zip
        │  │          移动web开发-第1套试卷.doc
        │  │          
        │  ├─05、阶段五 Vue.js项目实战开发
        │  │  │  hr-saas-real-master.ZIP
        │  │  │  HR-saas中台管理项目资料.ZIP
        │  │  │  HR-人资项目备用接口.TXT
        │  │  │  Vue3.0小兔鲜儿项目资料.ZIP
        │  │  │  Vuex资料.ZIP
        │  │  │  Vue前置知识资料.ZIP
        │  │  │  Vue高级进阶课程资料.ZIP
        │  │  │  webpack Vue基础课程资料.ZIP
        │  │  │  课程作业答案.ZIP
        │  │  │  阶段五:社交媒体-黑马头条项目资料.RAR
        │  │  │  黑马头条项目备用接口.TXT
        │  │  │  
        │  │  ├─第五阶段:Vue.js项目实战开发知识脑图
        │  │  │      23Vue.js基础.xmind
        │  │  │      24Webpack.xmind
        │  │  │      26Vuex.xmind
        │  │  │      27Vue全家桶.xmind
        │  │  │      文件打开说明.txt
        │  │  │      
        │  │  └─试卷
        │  │          Vue.js项目实战开发-第2套试卷.doc
        │  │          课程购物车案例(vue).zip
        │  │          
        │  ├─06、阶段六 微信小程序
        │  │  │  最新接口文档-黑马优购项目(黑马优购项目接口请以此为准).TXT
        │  │  │  
        │  │  ├─第六阶段:微信小程序阶段
        │  │  │      01-微信小程序基础.zip
        │  │  │      02-微信小程序项目(黑马优购).zip
        │  │  │      
        │  │  └─试卷
        │  │          微信小程序-第2套试卷.doc
        │  │          
        │  ├─07、阶段七 React项目实战
        │  │  │  package.json.ZIP
        │  │  │  React课程全部资料.ZIP
        │  │  │  
        │  │  └─试卷
        │  │          试卷.doc
        │  │          
        │  └─08、阶段八 360°职业规划-前端
        │      │  面试资料.RAR
        │      │  
        │      ├─JavaScript面试精讲资料
        │      │  ├─代码
        │      │  │      testcode.rar
        │      │  │      
        │      │  └─讲义
        │      │      └─讲义
        │      │              讲义.rar
        │      │              讲义(1-3章).rar
        │      │              讲义(1-6章).rar
        │      │              
        │      ├─Vue精讲面试题
        │      │  └─讲义
        │      │      ├─第一章Vue知识点
        │      │      │      01-Vue核心知识点讲义.rar
        │      │      │      
        │      │      ├─第七章 Vue常见面试题
        │      │      │      讲义.rar
        │      │      │      
        │      │      ├─第三章Vue响应式原理
        │      │      │      Vue响应式原理.rar
        │      │      │      
        │      │      ├─第九章Vue3
        │      │      │      讲义.rar
        │      │      │      
        │      │      ├─第二章Vue Router
        │      │      │      Vue路由.rar
        │      │      │      
        │      │      ├─第五章 Vuex状态管理
        │      │      │      讲义.zip
        │      │      │      
        │      │      ├─第八章 Vue源码解读
        │      │      │      讲义.zip
        │      │      │      
        │      │      ├─第六章Vue服务端渲染
        │      │      │      讲义.rar
        │      │      │      
        │      │      └─第四章虚拟Dom
        │      │              讲义.zip
        │      │              
        │      ├─就业加强课课程资料
        │      │  └─前端就业加强课
        │      │          day01(HTML+CSS+JavaScript).zip
        │      │          day02(JavaScript+HTTP协议).zip
        │      │          day03(HTTP协议+TCP协议+浏览器原理).zip
        │      │          day04(浏览器原理+工程化+Vue相关).zip
        │      │          
        │      └─第三章 3-Vue电商后台管
        │              讲义.rar
        │              
        └─软件
            │  软件使用说明.txt
            │  
            ├─Mac
            │  │  fb058531503296faf2c7d63a8598fb61.pkg
            │  │  Firefox-latest.dmg
            │  │  Fireworks_CS6.rar
            │  │  Firework及破解文件.zip
            │  │  GoogleChrome.dmg
            │  │  pxcook_132391.dmg
            │  │  Sublime Text Build 3126.dmg
            │  │  typefu.dmg
            │  │  VSCode-darwin-stable.zip
            │  │  WebStorm_10.0.dmg
            │  │  winrarosx-5.4.0.tar.gz
            │  │  xmind-8-macosx.dmg
            │  │  
            │  ├─Photoshop
            │  │      Adobe_Photoshop_2020.dmg
            │  │      FireShot Capture 102 - ps2020 破解版mac下载-Adobe Photoshop 2020 for Mac(附ps 2020破解补丁) v21.2.1中文激_ - mac.orsoon.com.png
            │  │      
            │  └─photoshop  2019win.mac
            │          Adobe_Photoshop_CC_2019_20.0.4.26077_ACR11.2_SP_20190309.dmg
            │          Photoshop CC2019-windows.rar
            │          下载必看.txt
            │          
            ├─Windows
            │  │  AdobeAIR.rar
            │  │  android-studio-ide-183.5452501-windows.exe
            │  │  apowermirror_jb51.rar
            │  │  FastStoe_131_27662.exe
            │  │  Fireworks CS6 Ansifa绿色精简版.7z
            │  │  FSC.zip
            │  │  Git-2.23.0-64-bit.rar
            │  │  node-v10.16.0-x64.msi
            │  │  node-v14.16.1-x64.msi
            │  │  node-v14.16.1-x86.msi
            │  │  phpStudy20161103.exe.zip
            │  │  PhpStudy20180211.zip
            │  │  pxcook.rar
            │  │  Sublime(绿化-自带插件版本).zip
            │  │  typora-setup-x64.exe
            │  │  VSCode-win32-ia32-1.44.2.zip
            │  │  VSCode-win32-x64-1.44.2.zip
            │  │  Vue-devtools 6.0.0 beta.zip
            │  │  webstorm2017.rar
            │  │  webstrom11 破解方法.rar
            │  │  xmind-8-update9-windows.exe
            │  │  xmind-8-windows.exe
            │  │  金山打字.exe
            │  │  
            │  ├─64位
            │  │      55.0.2883.87_chrome_installer_x64.exe
            │  │      Adobe CC 2015  64位完整版.rar
            │  │      android-studio-ide-183.5452501-windows.exe
            │  │      apowermirror-installer.exe
            │  │      DiagramDesignerSetup1.28(1).msi
            │  │      Firefox_Setup_50.1.0_x64.exe
            │  │      install-ietester-v0.5.2.exe
            │  │      mongodb-compass-1.18.0-win32-x64.msi
            │  │      mongodb-win32-x86_64-2008plus-ssl-4.0.10-signed.msi
            │  │      nvm-setup.exe
            │  │      PS破解及安装步骤.rar
            │  │      VSCode-win32-x64-1.44.2.zip
            │  │      winrar-x64-540sc.exe
            │  │      
            │  ├─FSCapture90
            │  │      fsc.db
            │  │      FSCapture.exe
            │  │      FSCaptureHelp.chm
            │  │      FSCrossHair.exe
            │  │      FSFocus.exe
            │  │      FSLogo.png
            │  │      fsrec.db
            │  │      FSRecorder.exe
            │  │      LicenseAgreement.txt
            │  │      Portable.db
            │  │      TBSettings.db
            │  │      使用说明 .txt
            │  │      
            │  ├─Photoshop 2015 完整版
            │  │      Adobe CC 2015  64位完整版.rar
            │  │      PS破解及安装步骤.rar
            │  │      
            │  └─WebStorm-10 集成版
            │          WebStorm-10 集成版.ha.rar
            │          WebStorm安装及汉化.doc
            │          
            ├─临时文件
            │      Snipaste-1.12-x64.rar
            │      typora-setup-ia32-0.9.49.exe
            │      
            └─前端就业班Mac版其它软件
                    phpstudy_install.dmg
                    Postman-osx-7.36.1.zip
                    

课程目录
│  
├─01、视频
│  ├─01、阶段一 前端开发基础
│  │  ├─01、第一章 HTML+CSS课前导学
│  │  │  └─1-1 HTML+CSS课程导学
│  │  │          01-阶段介绍.mp4
│  │  │          
│  │  ├─02、第二章 HTML
│  │  │  ├─2-1 HTML初识
│  │  │  │      02-今日课程介绍.mp4
│  │  │  │      03-初识-网页组成和本质.mp4
│  │  │  │      04-了解-初识-浏览器.mp4
│  │  │  │      05-初识-web标准.mp4
│  │  │  │      06-HTML感知.mp4
│  │  │  │      
│  │  │  ├─2-2 HTML注释和标签
│  │  │  │      07-HTML骨架.mp4
│  │  │  │      08-vscode-简介.mp4
│  │  │  │      09-vscode-使用.mp4
│  │  │  │      10-注释.mp4
│  │  │  │      11-HTML标签组成.mp4
│  │  │  │      12-HTML标签关系.mp4
│  │  │  │      13-HTML标签学习路径.mp4
│  │  │  │      
│  │  │  ├─2-3 HTML常用标签
│  │  │  │      14-标题标签.mp4
│  │  │  │      15-段落标签.mp4
│  │  │  │      16-换行和水平线标签.mp4
│  │  │  │      17-文本格式化标签.mp4
│  │  │  │      18-图片-基本使用.mp4
│  │  │  │      19-图片-属性.mp4
│  │  │  │      
│  │  │  ├─2-4 绝对路径+相对路径
│  │  │  │      20-绝对路径.mp4
│  │  │  │      21-相对路径-同级.mp4
│  │  │  │      22-相对路径-下级.mp4
│  │  │  │      23-相对路径-上级.mp4
│  │  │  │      
│  │  │  ├─2-5 HTML其它标签
│  │  │  │      24-音频标签.mp4
│  │  │  │      25-视频标签.mp4
│  │  │  │      26-链接.mp4
│  │  │  │      27-链接-新窗口.mp4
│  │  │  │      28-综合案例-招聘.mp4
│  │  │  │      29-综合案例-跳转-index.mp4
│  │  │  │      30-综合案例-跳转-其他页面.mp4
│  │  │  │      
│  │  │  ├─2-6 列表和表格
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-列表-使用场景.mp4
│  │  │  │      03-列表-无序.mp4
│  │  │  │      04-列表-有序.mp4
│  │  │  │      05-列表-自定义.mp4
│  │  │  │      06-表格-基本使用.mp4
│  │  │  │      07-表格-属性.mp4
│  │  │  │      08-表格-表格标题和表头单元格.mp4
│  │  │  │      09-表格-结构标签.mp4
│  │  │  │      10-表格-合并单元格.mp4
│  │  │  │      
│  │  │  ├─2-7 表单和综合案例
│  │  │  │      11-表单-应用场景.mp4
│  │  │  │      12-表单-input基本使用.mp4
│  │  │  │      13-表单-input-占位符(提示信息).mp4
│  │  │  │      14-表单-单选功能和默认选中.mp4
│  │  │  │      15-表单-上传多个文件.mp4
│  │  │  │      16-表单-按钮-input.mp4
│  │  │  │      17-表单-按钮button.mp4
│  │  │  │      18-表单-下拉菜单.mp4
│  │  │  │      19-表单-文本域.mp4
│  │  │  │      20-表单-label标签.mp4
│  │  │  │      
│  │  │  └─2-8 综合案例
│  │  │          21-没有语义div和span.mp4
│  │  │          22-有语义-手机端常用标签.mp4
│  │  │          23-字符实体.mp4
│  │  │          24-综合案例-学生信息表.mp4
│  │  │          25-综合案例-表单.mp4
│  │  │          
│  │  ├─03、第三章 CSS
│  │  │  ├─3-1 CSS初识和CSS基本选择器
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-体验css.mp4
│  │  │  │      03-CSS引入方式.mp4
│  │  │  │      04-选择器-标签.mp4
│  │  │  │      05-选择器-类.mp4
│  │  │  │      06-选择器-id.mp4
│  │  │  │      07-选择器-通配符.mp4
│  │  │  │      
│  │  │  ├─3-10 CSS优先级
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-优先级-基本测试.mp4
│  │  │  │      03-优先级-叠加计算.mp4
│  │  │  │      04-优先级-计算题.mp4
│  │  │  │      
│  │  │  ├─3-11 调试工具 + PxCook
│  │  │  │      05-谷歌-排错.mp4
│  │  │  │      06-PxCook.mp4
│  │  │  │      
│  │  │  ├─3-12 CSS盒模型(上)
│  │  │  │      07-盒子模型-组成.mp4
│  │  │  │      08-盒子模型-浏览器效果.mp4
│  │  │  │      09-盒子模型-内容width和height.mp4
│  │  │  │      10-盒子模型-border-复合写法.mp4
│  │  │  │      11-盒子模型-border-某个方向.mp4
│  │  │  │      12-盒子模型-尺寸计算-border.mp4
│  │  │  │      
│  │  │  ├─3-13 CSS盒模型+综合案例【新浪导航】
│  │  │  │      13-盒子模型-案例.mp4
│  │  │  │      14-新浪导航-布局div.mp4
│  │  │  │      15-新浪导航-内容a.mp4
│  │  │  │      16-盒子模型-padding-多值.mp4
│  │  │  │      17-盒子模型-尺寸-border和padding.mp4
│  │  │  │      18-新浪导航-padding优化.mp4
│  │  │  │      
│  │  │  ├─3-14 CSS盒模型(下)
│  │  │  │      19-盒子模型-內减模式.mp4
│  │  │  │      20-盒子模型-外边距.mp4
│  │  │  │      21-清除默认样式.mp4
│  │  │  │      22-版心居中.mp4
│  │  │  │      
│  │  │  ├─3-15 综合案例【新闻列表】
│  │  │  │      23-综合案例-新闻列表-div布局.mp4
│  │  │  │      24-综合案例-新闻列表-标题.mp4
│  │  │  │      25-综合案例-新闻列表-内容.mp4
│  │  │  │      
│  │  │  ├─3-16 外边距合并和塌陷
│  │  │  │      26-外边距合并.mp4
│  │  │  │      27-外边距-塌陷.mp4
│  │  │  │      28-行内元素的垂直内外边距.mp4
│  │  │  │      
│  │  │  ├─3-17 伪类和伪元素
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-结构伪类-基本用法.mp4
│  │  │  │      03-结构伪类-公式.mp4
│  │  │  │      04-结构伪类-易错点.mp4
│  │  │  │      05-伪元素.mp4
│  │  │  │      
│  │  │  ├─3-18 浮动
│  │  │  │      06-标准流.mp4
│  │  │  │      07-浮动-体验行内块问题.mp4
│  │  │  │      08-浮动-作用.mp4
│  │  │  │      09-浮动-特点.mp4
│  │  │  │      
│  │  │  ├─3-19 综合案例
│  │  │  │      10-综合案例-小米布局.mp4
│  │  │  │      11-拓展-CSS属性顺序.mp4
│  │  │  │      12-综合案例-小米产品-左右结构.mp4
│  │  │  │      13-综合案例-小米产品-li.mp4
│  │  │  │      14-综合案例-导航.mp4
│  │  │  │      
│  │  │  ├─3-2 font字体
│  │  │  │      08-文字-字号.mp4
│  │  │  │      09-文字-粗细.mp4
│  │  │  │      10-文字-倾斜.mp4
│  │  │  │      11-文字-字体.mp4
│  │  │  │      12-拓展-层叠性.mp4
│  │  │  │      13-font复合属性.mp4
│  │  │  │      
│  │  │  ├─3-20 清除浮动
│  │  │  │      15-清除浮动-场景搭建.mp4
│  │  │  │      16-清除浮动-额外标签.mp4
│  │  │  │      17-清除浮动-单伪元素.mp4
│  │  │  │      18-清除浮动-双伪元素.mp4
│  │  │  │      19-清除浮动-overflow.mp4
│  │  │  │      
│  │  │  ├─3-21 学成在线项目
│  │  │  │      01-准备工作.mp4
│  │  │  │      02-版心效果.mp4
│  │  │  │      03-清除工作.mp4
│  │  │  │      04-header布局.mp4
│  │  │  │      05-logo和nav布局.mp4
│  │  │  │      06-nav-内容布局.mp4
│  │  │  │      07-nav-文字样式.mp4
│  │  │  │      08-搜索-布局和文本框.mp4
│  │  │  │      09-搜索-按钮.mp4
│  │  │  │      11-banner-布局.mp4
│  │  │  │      12-banner-left完成.mp4
│  │  │  │      13-banner-right-标题.mp4
│  │  │  │      14-banner-right-内容.mp4
│  │  │  │      15-banner-right-全部课程.mp4
│  │  │  │      16-精品推荐-布局.mp4
│  │  │  │      17-精品推荐-内容.mp4
│  │  │  │      18-精品课程-标题.mp4
│  │  │  │      19-精品课程-li布局.mp4
│  │  │  │      20-精品课程-课程产品.mp4
│  │  │  │      21-版权区域-布局.mp4
│  │  │  │      22-版权区域-内容.mp4
│  │  │  │      
│  │  │  ├─3-22 CSS定位(上)
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-定位的作用.mp4
│  │  │  │      03-定位的使用步骤.mp4
│  │  │  │      04-了解-定位-静态.mp4
│  │  │  │      05-定位-相对relative.mp4
│  │  │  │      06-了解-定位-注意事项.mp4
│  │  │  │      07-定位-绝对absolute-参照浏览器.mp4
│  │  │  │      08-定位-子绝父相.mp4
│  │  │  │      
│  │  │  ├─3-23 CSS定位(下)
│  │  │  │      09-案例-学成在线-hot.mp4
│  │  │  │      10-定位-居中.mp4
│  │  │  │      11-定位-位移居中.mp4
│  │  │  │      12-案例-二维码.mp4
│  │  │  │      13-案例-banne.mp4
│  │  │  │      14-定位-固定.mp4
│  │  │  │      15-定位-显示层级.mp4
│  │  │  │      
│  │  │  ├─3-24 CSS进阶
│  │  │  │      16-vertical-align-01.mp4
│  │  │  │      17-vertical-align-02.mp4
│  │  │  │      18-光标类型.mp4
│  │  │  │      19-圆角边框-基本使用.mp4
│  │  │  │      20-圆角边框-工作场景.mp4
│  │  │  │      21-溢出显示效果-overflow.mp4
│  │  │  │      22-显示隐藏-基本使用.mp4
│  │  │  │      23-案例-二维码显示隐藏.mp4
│  │  │  │      24-透明属性opacity.mp4
│  │  │  │      25-表格-边框合并.mp4
│  │  │  │      26-拓展-CSS-三角形.mp4
│  │  │  │      27-拓展-获得焦点伪类选择器.mp4
│  │  │  │      28-拓展-属性选择器.mp4
│  │  │  │      
│  │  │  ├─3-3 文本样式和CSS样式表
│  │  │  │      14-文本缩进.mp4
│  │  │  │      15-水平对齐方式-文字.mp4
│  │  │  │      16-水平对齐方式-图片.mp4
│  │  │  │      17-文本修饰线.mp4
│  │  │  │      18-行高-基本使用.mp4
│  │  │  │      19-font复合属性-行高.mp4
│  │  │  │      20-行高-垂直居中.mp4
│  │  │  │      
│  │  │  ├─3-4 Chrome调试工具
│  │  │  │      21-谷歌调试工具.mp4
│  │  │  │      22-拓展-颜色取值.mp4
│  │  │  │      23-拓展-标签居中.mp4
│  │  │  │      
│  │  │  ├─3-5 综合案例【新闻页面】
│  │  │  │      24-综合案例-div居中.mp4
│  │  │  │      25-综合案例1-新闻-标题.mp4
│  │  │  │      26-综合案例1-新闻-内容.mp4
│  │  │  │      27-综合案例2-产品-div布局.mp4
│  │  │  │      28-综合案例2-产品-图片效果.mp4
│  │  │  │      29-综合案例2-产品-文字效果.mp4
│  │  │  │      
│  │  │  ├─3-6 CSS复合选择器+emmet语法
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-选择器-后代.mp4
│  │  │  │      03-选择器-子代.mp4
│  │  │  │      04-选择器-并集.mp4
│  │  │  │      05-选择器-交集.mp4
│  │  │  │      06-选择器-伪类.mp4
│  │  │  │      07-emmet语法.mp4
│  │  │  │      
│  │  │  ├─3-7 CSS背景
│  │  │  │      08-背景-背景色.mp4
│  │  │  │      09-背景-背景图.mp4
│  │  │  │      10-背景-背景平铺.mp4
│  │  │  │      11-背景-背景位置.mp4
│  │  │  │      12-背景-background.mp4
│  │  │  │      13-背景图和img的区别.mp4
│  │  │  │      
│  │  │  ├─3-8 元素显示模式及转换
│  │  │  │      14-显示模式-块.mp4
│  │  │  │      15-显示模式-行内.mp4
│  │  │  │      16-显示模式-行内块.mp4
│  │  │  │      17-显示模式-转换.mp4
│  │  │  │      18-拓展-标签嵌套.mp4
│  │  │  │      
│  │  │  └─3-9 CSS三大特性+综合案例
│  │  │          19-CSS特性-继承性.mp4
│  │  │          20-CSS特性-继承性-注意点.mp4
│  │  │          21-CSS特性-层叠性.mp4
│  │  │          22-综合案例1.mp4
│  │  │          23-综合案例2-思路.mp4
│  │  │          24-综合案例2-实现.mp4
│  │  │          
│  │  └─04、第四章 企业级小兔鲜儿电商项目首页制作
│  │      ├─4-1 精灵图
│  │      │      01-课程介绍.mp4
│  │      │      02-css精灵-作用.mp4
│  │      │      03-css精灵-基本用法.mp4
│  │      │      04-css精灵-灵活使用.mp4
│  │      │      
│  │      ├─4-2 CSS样式补充
│  │      │      05-背景图缩放.mp4
│  │      │      06-拓展-背景图缩放-复合写法.mp4
│  │      │      07-盒子阴影.mp4
│  │      │      08-过渡.mp4
│  │      │      
│  │      ├─4-3 项目前置知识
│  │      │      09-网页与网站.mp4
│  │      │      10-骨架标签.mp4
│  │      │      11-SEO.mp4
│  │      │      12-favicon-标题图标.mp4
│  │      │      
│  │      ├─4-4 header区域布局
│  │      │      13-项目目录.mp4
│  │      │      14-项目代码准备.mp4
│  │      │      15-快捷导航-布局.mp4
│  │      │      16-快捷导航-内容.mp4
│  │      │      17-header-布局.mp4
│  │      │      18-logo-优化方案.mp4
│  │      │      
│  │      ├─4-5 导航模块布局
│  │      │      19-导航.mp4
│  │      │      20-搜索-文本框.mp4
│  │      │      21-搜索-放大镜.mp4
│  │      │      22-购物车.mp4
│  │      │      
│  │      ├─4-6 版权区域布局
│  │      │      23-版权-布局.mp4
│  │      │      24-版权-top列表-布局.mp4
│  │      │      25-版权-li内容.mp4
│  │      │      26-版权-li精灵图.mp4
│  │      │      27-版权底部.mp4
│  │      │      
│  │      ├─4-7 banner区域布局
│  │      │      01-banner-图.mp4
│  │      │      02-banner-侧导航-布局.mp4
│  │      │      03-banner-侧导航-文字内容.mp4
│  │      │      04-banner-箭头-布局.mp4
│  │      │      05-banner-箭头-精灵图.mp4
│  │      │      06-banner-圆点.mp4
│  │      │      
│  │      ├─4-8 新鲜好物区域布局
│  │      │      07-新鲜好物-标题.mp4
│  │      │      08-新鲜好物-内容-布局.mp4
│  │      │      09-新鲜好物-内容完成.mp4
│  │      │      10-新鲜好物-新品文字.mp4
│  │      │      
│  │      └─4-9 生鲜区域布局
│  │              11-生鲜-标题-布局.mp4
│  │              12-生鲜-标题-h和more.mp4
│  │              13-生鲜-标题-ul.mp4
│  │              14-生鲜-内容-布局.mp4
│  │              小兔鲜儿项目视频补充说明.mp4
│  │              
│  ├─02、阶段二 移动Web网页开发
│  │  ├─01、第一章 移动web开发课前导学
│  │  │  └─1-1 移动web阶段课前导学
│  │  │          01-阶段课程介绍.mp4
│  │  │          
│  │  ├─02、第二章 2D&3D 转换与动画
│  │  │  ├─2-1 字体图标
│  │  │  │      02-今日课程介绍.mp4
│  │  │  │      03-字体图标-简介.mp4
│  │  │  │      04-字体图标-下载.mp4
│  │  │  │      05-字体图标-基本使用.mp4
│  │  │  │      06-字体图标-修改样式.mp4
│  │  │  │      07-案例-购物车.mp4
│  │  │  │      08-字体图标-svg-上传.mp4
│  │  │  │      
│  │  │  ├─2-2 2D转换-位移
│  │  │  │      08-平面转换-介绍.mp4
│  │  │  │      09-平面转换-位移.mp4
│  │  │  │      10-平面转换-位移-技巧.mp4
│  │  │  │      11-平面转换-定位盒子居中.mp4
│  │  │  │      12-案例-双开门-布局.mp4
│  │  │  │      13-案例-双开门-hover效果.mp4
│  │  │  │      
│  │  │  ├─2-3 2D转换-旋转+缩放
│  │  │  │      14-平面转换旋.mp4
│  │  │  │      15-平面转换-转换原点.mp4
│  │  │  │      16-平面转换-多重转换.mp4
│  │  │  │      17-平面转换-缩放.mp4
│  │  │  │      18-案例-缩放.mp4
│  │  │  │      19-案例-缩放-注意点-层叠性.mp4
│  │  │  │      
│  │  │  ├─2-4 渐变
│  │  │  │      20-渐变.mp4
│  │  │  │      21-案例-渐变.mp4
│  │  │  │      22-综合案例-华为-结构分析.mp4
│  │  │  │      23-综合案例-华为-mask.mp4
│  │  │  │      24-综合案例-华为-hover效果.mp4
│  │  │  │      
│  │  │  ├─2-5 3D转换-位移和透视
│  │  │  │      01-今日课程介绍.mp4
│  │  │  │      02-空间转换-简介.mp4
│  │  │  │      03-空间转换-位移.mp4
│  │  │  │      04-空间转换-透视属性.mp4
│  │  │  │      05-空间转换-透视属性-原理.mp4
│  │  │  │      
│  │  │  ├─2-6 3D转换-旋转+立体呈现
│  │  │  │      06-空间转换-rotateZ.mp4
│  │  │  │      07-空间转换-rotateX.mp4
│  │  │  │      08-空间转换-rotateY.mp4
│  │  │  │      09-空间转换-左手法则.mp4
│  │  │  │      10-空间转换-rotate3d-了解.mp4
│  │  │  │      11-空间转换-立体呈现.mp4
│  │  │  │      
│  │  │  ├─2-7 3D导航案例
│  │  │  │      12-3d导航-结构分析.mp4
│  │  │  │      13-3d导航-搭建立方体.mp4
│  │  │  │      14-3d导航-hover.mp4
│  │  │  │      15-上午回顾.mp4
│  │  │  │      16-空间转换-缩放.mp4
│  │  │  │      
│  │  │  ├─2-8 CSS3动画
│  │  │  │      17-动画-简介.mp4
│  │  │  │      18-动画-from..to.mp4
│  │  │  │      19-动画-百分比.mp4
│  │  │  │      20-动画-animation复合属性01.mp4
│  │  │  │      21-动画-animation复合属性02.mp4
│  │  │  │      22-动画-animation拆分写法.mp4
│  │  │  │      23-动画-逐帧动画-简介.mp4
│  │  │  │      24-动画-逐帧动画-实现.mp4
│  │  │  │      25-动画-多组动画.mp4
│  │  │  │      
│  │  │  └─2-9 CSS3动画案例
│  │  │          26-综合案例-走马灯.mp4
│  │  │          27-综合案例-全民出游-背景大图.mp4
│  │  │          28-综合案例-全民出游-云彩-布局.mp4
│  │  │          29-综合案例-全民出游-云彩-动画.mp4
│  │  │          
│  │  ├─03、第三章 移动端布局
│  │  │  ├─3-1 移动端基础知识
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-课程知识介绍.mp4
│  │  │  │      03-PC和移动网页不同点.mp4
│  │  │  │      04-谷歌模拟器.mp4
│  │  │  │      05-分辨率.mp4
│  │  │  │      06-代码参考分辨率-逻辑.mp4
│  │  │  │      07-视口.mp4
│  │  │  │      08-二倍图.mp4
│  │  │  │      09-百分比布局.mp4
│  │  │  │      
│  │  │  ├─3-2 Flex伸缩布局(一)
│  │  │  │      11-Flex-体验.mp4
│  │  │  │      12-Flex-简介.mp4
│  │  │  │      13-Flex-组成.mp4
│  │  │  │      14-Flex-主轴对齐方式.mp4
│  │  │  │      15-Flex侧轴对齐方式.mp4
│  │  │  │      16-Flex-单独控制某个盒子侧轴对齐方式.mp4
│  │  │  │      17-Flex-弹性盒子尺寸特点.mp4
│  │  │  │      18-Flex-弹性伸缩比.mp4
│  │  │  │      
│  │  │  ├─3-3 小兔鲜儿移动端
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-小兔鲜儿-商品-布局.mp4
│  │  │  │      03-小兔鲜儿-商品-数量.mp4
│  │  │  │      04-小兔鲜儿-商品-描述.mp4
│  │  │  │      05-小兔鲜儿-其他信息-布局.mp4
│  │  │  │      19-小兔鲜儿-确认订单-准备工作.mp4
│  │  │  │      20-小兔鲜儿-确认订单-整体布局.mp4
│  │  │  │      21-小兔鲜儿-确认订单-底部支付-布局.mp4
│  │  │  │      22-小兔鲜儿-确认订单-底部支付-左侧.mp4
│  │  │  │      23-小兔鲜儿-确认订单-底部支付-右侧.mp4
│  │  │  │      24-小兔鲜儿-确认订单-用户信息-整体布局.mp4
│  │  │  │      25-小兔鲜儿-确认订单-用户信息-内容布局.mp4
│  │  │  │      26-小兔鲜儿-确认订单-用户信息-文字内容.mp4
│  │  │  │      目录如此无缺失.txt
│  │  │  │      
│  │  │  ├─3-4 Flex伸缩布局(二
│  │  │  │      06-小兔鲜儿-其他信息-内容.mp4
│  │  │  │      07-Flex-修改主轴方向.mp4
│  │  │  │      08-Flex-主轴方向和对齐方式.mp4
│  │  │  │      09-Flex-弹性盒子换行.mp4
│  │  │  │      10-Flex-调整行对齐方式.mp4
│  │  │  │      
│  │  │  ├─3-5 小兔鲜儿PC端
│  │  │  │      11-小兔鲜儿-pc-项目介绍.mp4
│  │  │  │      12-小兔鲜儿-pc-背景.mp4
│  │  │  │      13-小兔鲜儿-pc-内容布局.mp4
│  │  │  │      14-小兔鲜儿-pc-账户概览-布局.mp4
│  │  │  │      15-小兔鲜儿-pc-账户概览-内容.mp4
│  │  │  │      16-小兔鲜儿-pc-账户概览-图片尺寸.mp4
│  │  │  │      17-小兔鲜儿-pc-公共面板-布局.mp4
│  │  │  │      18-小兔鲜儿-pc-公共面板-文字样式.mp4
│  │  │  │      19-小兔鲜儿-pc-订单-li布局.mp4
│  │  │  │      20-小兔鲜儿-pc-订单-内容布局.mp4
│  │  │  │      21-小兔鲜儿-pc-订单-goods.mp4
│  │  │  │      22-小兔鲜儿-pc-订单-goods-省略号.mp4
│  │  │  │      23-小兔鲜儿-pc-订单-common.mp4
│  │  │  │      
│  │  │  ├─3-6 rem移动端适配
│  │  │  │      01-移动适配.mp4
│  │  │  │      02-今日课程介绍.mp4
│  │  │  │      03-体验rem移动适配.mp4
│  │  │  │      04-rem-基本使用.mp4
│  │  │  │      05-rem-媒体查询.mp4
│  │  │  │      06-rem-移动适配.mp4
│  │  │  │      07-rem-布局流程.mp4
│  │  │  │      08-rem-flexible移动适配.mp4
│  │  │  │      
│  │  │  ├─3-7 Less
│  │  │  │      09-Less-体验.mp4
│  │  │  │      10-Less-简介.mp4
│  │  │  │      11-Less-EasyLess插件.mp4
│  │  │  │      12-Less-注释.mp4
│  │  │  │      13-Less-计算.mp4
│  │  │  │      14-Less-嵌套.mp4
│  │  │  │      15-Less-变量.mp4
│  │  │  │      16-Less-导入.mp4
│  │  │  │      17-Less-导出-插件配置.mp4
│  │  │  │      18-Less-导出-单独路径.mp4
│  │  │  │      19-Less-禁止导出.mp4
│  │  │  │      
│  │  │  ├─3-8 游乐园项目
│  │  │  │      01-游乐园-活动-字体图标.mp4
│  │  │  │      02-游乐园-活动-状态-蓝色.mp4
│  │  │  │      03-游乐园-活动-状态-灰色.mp4
│  │  │  │      04-游乐园-活动-文字-top.mp4
│  │  │  │      05-游乐园-活动-文字-bottom.mp4
│  │  │  │      06-游乐园-活动-内容复制.mp4
│  │  │  │      07-游乐园-活动-底部工具栏.mp4
│  │  │  │      20-游乐园-项目准备.mp4
│  │  │  │      21-游乐园-Less-导入.mp4
│  │  │  │      22-游乐园-整体布局.mp4
│  │  │  │      23-游乐园-根字号变量.mp4
│  │  │  │      24-游乐园-banner区域.mp4
│  │  │  │      25-游乐园-活动标题.mp4
│  │  │  │      26-游乐园-活动-布局.mp4
│  │  │  │      
│  │  │  └─3-9 vwvh+B站项目
│  │  │          08-vw-体验.mp4
│  │  │          09-vh-体验.mp4
│  │  │          10-vw-移动适配.mp4
│  │  │          11-vh-移动适配.mp4
│  │  │          12-vh-全面屏影响.mp4
│  │  │          13-B站-获取素材.mp4
│  │  │          14-B站-项目准备.mp4
│  │  │          15-B站-头部-布局.mp4
│  │  │          16-B站-vw变量.mp4
│  │  │          17-B站-头部-logo图标.mp4
│  │  │          18-B站-头部-right内容.mp4
│  │  │          19-B站-头部-更多.mp4
│  │  │          20-B站.mp4
│  │  │          21-B站-头部-tab.mp4
│  │  │          22-B站-视频-布局.mp4
│  │  │          23-B站-视频-思路.mp4
│  │  │          24-B站-视频-介绍文字.mp4
│  │  │          25-B站-视频-数量统计.mp4
│  │  │          26-B站-视频-弹性盒子换行.mp4
│  │  │          27-B站-头部-层级和背景色.mp4
│  │  │          
│  │  └─04、第四章 响应式布局
│  │      ├─4-1 媒体查询
│  │      │      01-课程介绍.mp4
│  │      │      02-媒体查询-max-min-width.mp4
│  │      │      03-媒体查询-书写顺序.mp4
│  │      │      04-了解-媒体查询-完整写法.mp4
│  │      │      05-媒体查询-link写法.mp4
│  │      │      06-媒体查询-隐藏.mp4
│  │      │      
│  │      ├─4-2 Bootstrap
│  │      │      07-bootstrap-体验.mp4
│  │      │      08-bootstrap-简介.mp4
│  │      │      09-bootstrap-下载.mp4
│  │      │      11-bootstrap-栅格系统-原理.mp4
│  │      │      12-bootstrap-栅格系统-代码.mp4
│  │      │      13-bootstrap-栅格系统-其他类名.mp4
│  │      │      14-bootstrap-介绍.mp4
│  │      │      15-bootstrap-表格.mp4
│  │      │      16-bootstrap-按钮.mp4
│  │      │      17-bootstrap-组件.mp4
│  │      │      18-bootstrap-字体图标.mp4
│  │      │      19-bootstrap-插件-下拉菜单.mp4
│  │      │      20-bootstrap-插件-轮播图.mp4
│  │      │      
│  │      └─4-3 AlloyTeam项目
│  │              21-AlloyTeam-项目准备.mp4
│  │              22-AlloyTeam-banner图-高度.mp4
│  │              23-AlloyTeam-头部-组件.mp4
│  │              24-AlloyTeam-头部-样式.mp4
│  │              25-bootstrap-定制-项目导航.mp4
│  │              26-AlloyTeam-开源项目-标题文字.mp4
│  │              27-AlloyTeam-开源项目-栅格布局.mp4
│  │              28-AlloyTeam-开源项目-内容.mp4
│  │              29-bootstrap-全局样式.mp4
│  │              
│  ├─03、阶段三 JavaScript网页编程
│  │  ├─01、第一章 JavaScript网页编程课前导学
│  │  │  └─1-1 JavaScript网页编程课前导学
│  │  │          第三阶段课前导学.mp4
│  │  │          
│  │  ├─02、第二章 JavaScript 基础
│  │  │  ├─2-1 Javascript介绍
│  │  │  │      02-js是什么.mp4
│  │  │  │      03-体验js.mp4
│  │  │  │      04-javascript书写位置.mp4
│  │  │  │      05-js注释和js结束符.mp4
│  │  │  │      06-输入和输出语法.mp4
│  │  │  │      
│  │  │  ├─2-10 Javascript作用域
│  │  │  │      17-作用域.mp4
│  │  │  │      18-变量的作用域.mp4
│  │  │  │      19-变量的两种特殊情况.mp4
│  │  │  │      20-作用域小结以及调试看作用域.mp4
│  │  │  │      21-作用域链.mp4
│  │  │  │      22-函数表达式.mp4
│  │  │  │      23-立即执行函数.mp4
│  │  │  │      24-综合案例.mp4
│  │  │  │      25-函数参数个数以及复习总结.mp4
│  │  │  │      
│  │  │  ├─2-11 Javascript对象
│  │  │  │      01-复习反馈和今日目标.mp4
│  │  │  │      02-函数传参赋值小技巧.mp4
│  │  │  │      03-为什么需要对象.mp4
│  │  │  │      04-对象使用-定义属性.mp4
│  │  │  │      05-对象使用-访问属性.mp4
│  │  │  │      06-对象使用-访问方法.mp4
│  │  │  │      07-对象方法again.mp4
│  │  │  │      08-对象操作.mp4
│  │  │  │      09-对象小结.mp4
│  │  │  │      10-遍历对象.mp4
│  │  │  │      11-遍历对象梳理.mp4
│  │  │  │      12-数组对象.mp4
│  │  │  │      13-得到数组对象里面的属性值.mp4
│  │  │  │      
│  │  │  ├─2-12 Javascript内置对象及案例
│  │  │  │      14-学生信息表格案例分析.mp4
│  │  │  │      15-学生信息表案例打印头部和尾部.mp4
│  │  │  │      16-学生信息表案例渲染行.mp4
│  │  │  │      17-上午复习.mp4
│  │  │  │      18-数学对象取整对象.mp4
│  │  │  │      19-数学对象最大值和最小值.mp4
│  │  │  │      20-封装随机数函数.mp4
│  │  │  │      21-随机点名案例.mp4
│  │  │  │      22-随机点名案例改进.mp4
│  │  │  │      23-猜数字游戏.mp4
│  │  │  │      24-综合案例准备工作.mp4
│  │  │  │      25-综合案例填充数据.mp4
│  │  │  │      26-简单数据类型和引用数据类型.mp4
│  │  │  │      27-数据类型存储方式.mp4
│  │  │  │      28-复习和安排.mp4
│  │  │  │      
│  │  │  ├─2-2 Javascript变
│  │  │  │      07-字面量.mp4
│  │  │  │      08-变量是什么.mp4
│  │  │  │      09-变量的基本使用.mp4
│  │  │  │      10-输入用户名案例.mp4
│  │  │  │      11-交换变量值案例.mp4
│  │  │  │      12-变量的本质.mp4
│  │  │  │      13-变量名命名的规范和规则.mp4
│  │  │  │      14-let和var的区别.mp4
│  │  │  │      
│  │  │  ├─2-3 数据类型使用
│  │  │  │      15-数组的基本使用.mp4
│  │  │  │      16-数字类型.mp4
│  │  │  │      17-字符串数据类型.mp4
│  │  │  │      18-字符串拼接.mp4
│  │  │  │      19-用户输入年龄案例.mp4
│  │  │  │      20-上午总结.mp4
│  │  │  │      21-模板字符串.mp4
│  │  │  │      22-输出用户名和姓名案例.mp4
│  │  │  │      23-boolean和undefined和null.mp4
│  │  │  │      24-声明变量的注意点.mp4
│  │  │  │      25-检测数据类型.mp4
│  │  │  │      26-隐式转换.mp4
│  │  │  │      27-显式转换-转换为数字型.mp4
│  │  │  │      28-显式转换-转换为字符串.mp4
│  │  │  │      
│  │  │  ├─2-4 案例分析
│  │  │  │      29-课堂案例分析.mp4
│  │  │  │      30-综合案例分析.mp4
│  │  │  │      31-综合案例-商品订单信息上.mp4
│  │  │  │      32-综合案例-商品订单信息下.mp4
│  │  │  │      33-排错思路和作业安排.mp4
│  │  │  │      34-md主题以及md使用.mp4
│  │  │  │      
│  │  │  ├─2-5 Javascript操作符
│  │  │  │      01-反馈和复习和今日内容.mp4
│  │  │  │      02-算术运算符.mp4
│  │  │  │      03-计算圆的面积.mp4
│  │  │  │      04-赋值运算符.mp4
│  │  │  │      05-一元运算符.mp4
│  │  │  │      06-自增运算符.mp4
│  │  │  │      07-面试题.mp4
│  │  │  │      08-比较运算符基本使用.mp4
│  │  │  │      09-比较运算符的特殊情况.mp4
│  │  │  │      10-逻辑运算符简介.mp4
│  │  │  │      11-逻辑运算符短路或者逻辑中断.mp4
│  │  │  │      12-逻辑中断案例.mp4
│  │  │  │      13-运算符优先级.mp4
│  │  │  │      14-运算符优先级练习.mp4
│  │  │  │      
│  │  │  ├─2-6 Javascript流程控制及案例
│  │  │  │      15-表达式和语句.mp4
│  │  │  │      16-语句的三种分类.mp4
│  │  │  │      17-分支语句单分支语句.mp4
│  │  │  │      18-双分支语句以及案例.mp4
│  │  │  │      19-分时问候案例.mp4
│  │  │  │      20-上午总结.mp4
│  │  │  │      21-三运运算符.mp4
│  │  │  │      22-数字补0案例.mp4
│  │  │  │      23-求最大值.mp4
│  │  │  │      24-if尽量写大括号.mp4
│  │  │  │      25-switch语句基本使用.mp4
│  │  │  │      26-简单计算器.mp4
│  │  │  │      27-断点操作.mp4
│  │  │  │      28-while循环.mp4
│  │  │  │      29-循环的执行过程.mp4
│  │  │  │      30-while循环案例求累加和.mp4
│  │  │  │      31-while循环案例求1~100偶数累加和.mp4
│  │  │  │      32-退出循环.mp4
│  │  │  │      33-你爱我吗.mp4
│  │  │  │      34-综合案例-简易ATM取款机上.mp4
│  │  │  │      35-综合案例-简易ATM取款机下.mp4
│  │  │  │      36-复习路线今日作业和总结.mp4
│  │  │  │      
│  │  │  ├─2-7 Javascript循环及案例
│  │  │  │      01-反馈复习和今日内容.mp4
│  │  │  │      02-for循环的基本使用.mp4
│  │  │  │      03-for循环练习.mp4
│  │  │  │      04-for遍历数组.mp4
│  │  │  │      05-退出循环continue和break.mp4
│  │  │  │      06-循环嵌套的执行过程.mp4
│  │  │  │      07-循环单词记忆单词案例.mp4
│  │  │  │      08-五行五列的小星星案例.mp4
│  │  │  │      09-倒三角形的星星.mp4
│  │  │  │      10-99乘法表案例.mp4
│  │  │  │      
│  │  │  ├─2-8 Javascript数组及冒泡排序
│  │  │  │      11-为什么需要数组和数组的使用.mp4
│  │  │  │      12-数组求和案例.mp4
│  │  │  │      13-数组求和再次梳理.mp4
│  │  │  │      14-求数组最大值.mp4
│  │  │  │      15-操作数组-查和改.mp4
│  │  │  │      16-增加数组元素push.mp4
│  │  │  │      17-unshift前面追加元素.mp4
│  │  │  │      18-筛选数组案例.mp4
│  │  │  │      19-同学分享.mp4
│  │  │  │      20-筛选数组去0案例.mp4
│  │  │  │      21-删除数组元素.mp4
│  │  │  │      22-冒泡排序的原理.mp4
│  │  │  │      23-冒泡排序上.mp4
│  │  │  │      24-冒泡排序下.mp4
│  │  │  │      25-综合案例生成柱形图结构搭建.mp4
│  │  │  │      26-综合案例生成柱形图上.mp4
│  │  │  │      27-综合案例生成柱形图中.mp4
│  │  │  │      28-综合案例生成柱形图下.mp4
│  │  │  │      29-作业总结.mp4
│  │  │  │      30-md配置图片.mp4
│  │  │  │      
│  │  │  └─2-9 Javascript函数及应用
│  │  │          01-反馈复习和今日目标.mp4
│  │  │          02-为什么需要函数.mp4
│  │  │          03-函数的使用.mp4
│  │  │          04-函数传参.mp4
│  │  │          05-逻辑中断.mp4
│  │  │          06-求数组总分案例.mp4
│  │  │          07-函数为什么需要返回值.mp4
│  │  │          08-函数返回值使用.mp4
│  │  │          09-利用return求和.mp4
│  │  │          10-return小细节.mp4
│  │  │          11-封装函数求数组最大值.mp4
│  │  │          12-return返回多个值.mp4
│  │  │          13-求数组的最大值和最小值.mp4
│  │  │          14-答疑问题.mp4
│  │  │          15-求2个数的最大值.mp4
│  │  │          16-断点调试.mp4
│  │  │          
│  │  ├─03、第三章 WebAPI
│  │  │  ├─3-1 DOM介绍
│  │  │  │      01-阶段介绍.mp4
│  │  │  │      02-今日目标.mp4
│  │  │  │      03-什么是DOM.mp4
│  │  │  │      04-DOM对象.mp4
│  │  │  │      05-获取元素querySelector.mp4
│  │  │  │      06-获取元素queryselectall.mp4
│  │  │  │      07-其他获取元素方式.mp4
│  │  │  │      
│  │  │  ├─3-10 offset、client、scroll三大家族介绍及案例
│  │  │  │      01-复习总结今日内容.mp4
│  │  │  │      02-手风琴效果.mp4
│  │  │  │      03-页面滚动事件.mp4
│  │  │  │      04-页面加载事件.mp4
│  │  │  │      05-DOMContentLoaded.mp4
│  │  │  │      05-scroll家族宽和高.mp4
│  │  │  │      06-检测页面滚动距离.mp4
│  │  │  │      07-仿新浪返回顶部上.mp4
│  │  │  │      08-仿新浪返回顶部下.mp4
│  │  │  │      09-解惑.mp4
│  │  │  │      10-offset家族.mp4
│  │  │  │      11-仿京东固定导航栏做法.mp4
│  │  │  │      12-电梯导航案例上.mp4
│  │  │  │      13-答疑.mp4
│  │  │  │      14-电梯导航案例下.mp4
│  │  │  │      15-答疑.mp4
│  │  │  │      16-client宽度和resize事件.mp4
│  │  │  │      17-三大家族总结.mp4
│  │  │  │      18-综合案例-焦点图分析.mp4
│  │  │  │      19-综合案例-小图标模块经过事件.mp4
│  │  │  │      20-综合案例-大图片对应显示.mp4
│  │  │  │      21-综合案例添加描述信息以及答疑.mp4
│  │  │  │      22-答疑解惑.mp4
│  │  │  │      23-综合案例-右侧按钮开始.mp4
│  │  │  │      24-综合案例-右侧按钮无缝衔接.mp4
│  │  │  │      25-综合案例解决一个bug.mp4
│  │  │  │      27-综合案例-提取公共函数.mp4
│  │  │  │      28-综合案例-开启定时器.mp4
│  │  │  │      29-综合案例-鼠标经过停止定时器.mp4
│  │  │  │      30-总结复习.mp4
│  │  │  │      
│  │  │  ├─3-11 location、navigator、history对象
│  │  │  │      01-复习反馈和今日内容.mp4
│  │  │  │      02-window对象学习内容.mp4
│  │  │  │      03-BOM浏览器对象模型.mp4
│  │  │  │      04-延时函数的基本使用.mp4
│  │  │  │      05-5秒钟自动关闭的广告.mp4
│  │  │  │      06-递归函数.mp4
│  │  │  │      07-利用递归实现setinterval.mp4
│  │  │  │      08-两个定时器对比.mp4
│  │  │  │      09-js的执行机制.mp4
│  │  │  │      10-事件循环.mp4
│  │  │  │      11-location.href的使用.mp4
│  │  │  │      12-5秒钟之后跳转页面.mp4
│  │  │  │      13-location.search.mp4
│  │  │  │      14-location.hash.mp4
│  │  │  │      15-location.reload方法.mp4
│  │  │  │      16-navigator对象.mp4
│  │  │  │      17-history对象.mp4
│  │  │  │      18-上午总结.mp4
│  │  │  │      
│  │  │  ├─3-12 HTML5本地存储及案例
│  │  │  │      19-swiper插件的基本能使用.mp4
│  │  │  │      20-swiper插件的修改.mp4
│  │  │  │      21-排错.mp4
│  │  │  │      22-本地存储介绍.mp4
│  │  │  │      23-localstorage的基本使用.mp4
│  │  │  │      24-引用数据类型的存储.mp4
│  │  │  │      25-again复习.mp4
│  │  │  │      26-综合案例分析.mp4
│  │  │  │      27-综合案例-读取本地存储上.mp4
│  │  │  │      28-综合案例-读取本地存储下.mp4
│  │  │  │      29-综合案例-新增模块.mp4
│  │  │  │      30-综合案例再次分析.mp4
│  │  │  │      31-综合案例-删除操作.mp4
│  │  │  │      32-自定义属性.mp4
│  │  │  │      33-综合案例-不允许删除第一条数据.mp4
│  │  │  │      34-今日总结.mp4
│  │  │  │      
│  │  │  ├─3-13 正则表达式及应用
│  │  │  │      01-反馈复习和今日内容.mp4
│  │  │  │      02-正则表达式简介.mp4
│  │  │  │      03-正则表达式的基本使用.mp4
│  │  │  │      04-exec方法检索.mp4
│  │  │  │      05-边界符.mp4
│  │  │  │      06-量词上.mp4
│  │  │  │      07-量词下.mp4
│  │  │  │      08-元字符字符类[]使用.mp4
│  │  │  │      09-用户名验证案例.mp4
│  │  │  │      10-用户名案例改变.mp4
│  │  │  │      11-字符类点和取反.mp4
│  │  │  │      12-字符类里面的预定义类.mp4
│  │  │  │      13-正则替换以及过滤敏感词.mp4
│  │  │  │      14-上午复习.mp4
│  │  │  │      15-综合案例-发送短信验证码案例.mp4
│  │  │  │      16-答疑.mp4
│  │  │  │      17-change事件.mp4
│  │  │  │      18-属性选择器以及用户名验证开始.mp4
│  │  │  │      19-综合案例-用户名案例.mp4
│  │  │  │      20-综合案例-用户名验证结束.mp4
│  │  │  │      21-综合案例-手机号码验证.mp4
│  │  │  │      22-综合案例-验证码验.mp4
│  │  │  │      23-综合案例-密码验证.mp4
│  │  │  │      24-综合案例-我同意模块.mp4
│  │  │  │      25-综合案例-提交模块.mp4
│  │  │  │      26-综合案例-勾选同意协议.mp4
│  │  │  │      27-记住用户名模块.mp4
│  │  │  │      28-首页显示用户名.mp4
│  │  │  │      29-小结.mp4
│  │  │  │      
│  │  │  ├─3-2 样式操作案例
│  │  │  │      08-修改元素内容.mp4
│  │  │  │      09-随机点名案例.mp4
│  │  │  │      10-修改元素常见属.mp4
│  │  │  │      11-随机图片案例.mp4
│  │  │  │      12-修改元素样式属性style.mp4
│  │  │  │      13-随机背景案例.mp4
│  │  │  │      14-上午总结.mp4
│  │  │  │      15-使用className修改元素样式.mp4
│  │  │  │      16-使用classList修改元素样式.mp4
│  │  │  │      17-修改表单属性.mp4
│  │  │  │      18-定时器间歇函数.mp4
│  │  │  │      19-用户注册倒计时案例上.mp4
│  │  │  │      20-用户注册倒计时案例下.mp4
│  │  │  │      21-综合案例分析.mp4
│  │  │  │      22-综合案例-焦点图上.mp4
│  │  │  │      23-综合案例-焦点图下.mp4
│  │  │  │      24-总结和作业安排.mp4
│  │  │  │      
│  │  │  ├─3-3 随机点名案例
│  │  │  │      01-反馈、复习、今天内容.mp4
│  │  │  │      02-事件监听.mp4
│  │  │  │      03-淘宝关闭二维码.mp4
│  │  │  │      04-随机点名简洁版1.mp4
│  │  │  │      05-排错思路.mp4
│  │  │  │      06-随机点名简洁版2.mp4
│  │  │  │      07-随机点名案例1.mp4
│  │  │  │      08-随机点名案例2.mp4
│  │  │  │      09-复习和扩展.mp4
│  │  │  │      
│  │  │  ├─3-4 小米搜索案例
│  │  │  │      10-事件类型.mp4
│  │  │  │      11-小米搜索框案例.mp4
│  │  │  │      12-补充.mp4
│  │  │  │      13-微博输入案例.mp4
│  │  │  │      14-全选按钮上.mp4
│  │  │  │      15-全选按钮案例更改文字.mp4
│  │  │  │      16-解惑.mp4
│  │  │  │      17-绑定多个事件.mp4
│  │  │  │      18-全选按钮下.mp4
│  │  │  │      19-答疑.mp4
│  │  │  │      20-购物车加减案例.mp4
│  │  │  │      21-高阶函数–回调函数.mp4
│  │  │  │      22-环境对象this.mp4
│  │  │  │      
│  │  │  ├─3-5 tab栏切切换案例
│  │  │  │      23-排他思想.mp4
│  │  │  │      24-更好的切换思路.mp4
│  │  │  │      25-综合案例-tab栏切换分析.mp4
│  │  │  │      26-综合案例-tab切换上.mp4
│  │  │  │      27-答疑.mp4
│  │  │  │      28-综合案例-tab切换下.mp4
│  │  │  │      29-总结和作业.mp4
│  │  │  │      
│  │  │  ├─3-6 节点操作及学成案例
│  │  │  │      01-复习反馈和今日目标.mp4
│  │  │  │      02-DOM节点.mp4
│  │  │  │      03-查找父节点.mp4
│  │  │  │      04-同学分享.mp4
│  │  │  │      05-关闭多个二维码案例.mp4
│  │  │  │      06-获取子节点.mp4
│  │  │  │      07-查找兄弟节点.mp4
│  │  │  │      08-创建和追加节点appendChild.mp4
│  │  │  │      09-insertBefore追加节点.mp4
│  │  │  │      10-学成在线案例创建小li.mp4
│  │  │  │      11-学成在线案例填充数据.mp4
│  │  │  │      12-克隆节点.mp4
│  │  │  │      13-删除节点.mp4
│  │  │  │      14-上午总结.mp4
│  │  │  │      
│  │  │  ├─3-7 微博发布案例
│  │  │  │      15-实例化时间对象.mp4
│  │  │  │      16-时间对象的方法.mp4
│  │  │  │      17-页面显示时间.mp4
│  │  │  │      18-答疑以及取消1秒空白.mp4
│  │  │  │      19-时间戳.mp4
│  │  │  │      20-下班时间倒计时上.mp4
│  │  │  │      21-下班倒计时中.mp4
│  │  │  │      22-下班倒计时.mp4
│  │  │  │      23-时间对象小结.mp4
│  │  │  │      24-微博发布案例-输入字符数量.mp4
│  │  │  │      25-微博发布案例-输入内容不能为空.mp4
│  │  │  │      26-微博发布案例-添加数据上.mp4
│  │  │  │      27-微博发布案例-填充数据.mp4
│  │  │  │      28-微博发布案例-删除操作.mp4
│  │  │  │      29-重绘和重排以及作业安排.mp4
│  │  │  │      
│  │  │  ├─3-8 购物车案例
│  │  │  │      01-复习反馈今日学习.mp4
│  │  │  │      02-购物车-加号操作.mp4
│  │  │  │      03-购物车-小计模块.mp4
│  │  │  │      04-购物车-减号模块.mp4
│  │  │  │      05-购物车-总价模块.mp4
│  │  │  │      06-购物车-删除模块.mp4
│  │  │  │      07-作用域的问题.mp4
│  │  │  │      08-事件对象.mp4
│  │  │  │      09-常用属性.mp4
│  │  │  │      10-鼠标跟随图片.mp4
│  │  │  │      11-小结.mp4
│  │  │  │      12-微博发布按钮按下回车键发布新.mp4
│  │  │  │      13-注意的问题.mp4
│  │  │  │      
│  │  │  └─3-9 学生信息表案例
│  │  │          14-事件流以及2个阶段.mp4
│  │  │          15-阻止事件流动.mp4
│  │  │          16-阻止默认行为.mp4
│  │  │          17-两种注册事件的区别.mp4
│  │  │          18-事件委托.mp4
│  │  │          19-综合案例-学生信息表分析.mp4
│  │  │          20-综合案例-渲染已有数据.mp4
│  │  │          21-综合案例-点击录入追加数据.mp4
│  │  │          22-综合案例-填充表单数据.mp4
│  │  │          23-综合案例-录入数据完成.mp4
│  │  │          24-again.mp4
│  │  │          25-清空操作.mp4
│  │  │          26-综合案例-事件委托方式找到链接.mp4
│  │  │          27-综合案例删除操作.mp4
│  │  │          28-复习.mp4
│  │  │          
│  │  ├─04、第四章 JavaScript高级
│  │  │  ├─4-1 JavaScript作用域
│  │  │  │      1、课程回顾.mp4
│  │  │  │      2、作用域.mp4
│  │  │  │      3、局部变量.mp4
│  │  │  │      4、块级作用域.mp4
│  │  │  │      5、全局作用域.mp4
│  │  │  │      6、变量的申明.mp4
│  │  │  │      7、作用域链.mp4
│  │  │  │      8、作用域链练习.mp4
│  │  │  │      
│  │  │  ├─4-10 Javascript中的this
│  │  │  │      10、改变this的方法.mp4
│  │  │  │      1、课程回顾.mp4
│  │  │  │      2、作业讲解.mp4
│  │  │  │      3、this指向.mp4
│  │  │  │      4、严格模式.mp4
│  │  │  │      5、箭头函数this.mp4
│  │  │  │      6、改变函数this.mp4
│  │  │  │      7、call方法.mp4
│  │  │  │      8、apply方法.mp4
│  │  │  │      9、bind方法.mp4
│  │  │  │      
│  │  │  ├─4-11 拷贝
│  │  │  │      11、创建类.mp4
│  │  │  │      12、实例成员和静态成员.mp4
│  │  │  │      13、constructor.mp4
│  │  │  │      14、extensds.mp4
│  │  │  │      15、super.mp4
│  │  │  │      16;类的本.mp4
│  │  │  │      17、拷贝.mp4
│  │  │  │      18、浅拷贝.mp4
│  │  │  │      19、深拷贝.mp4
│  │  │  │      
│  │  │  ├─4-2 闭包及预解析
│  │  │  │      10、闭包.mp4
│  │  │  │      11、预解析.mp4
│  │  │  │      12、变量预解析.mp4
│  │  │  │      13、函数预解析.mp4
│  │  │  │      14、let提升.mp4
│  │  │  │      15、预解析练习.mp4
│  │  │  │      9、闭包.mp4
│  │  │  │      
│  │  │  ├─4-3 es6剩余参数
│  │  │  │      16、参数默认值.mp4
│  │  │  │      17、动态参数arguments.mp4
│  │  │  │      18、剩余参数.mp4
│  │  │  │      
│  │  │  ├─4-4 es6箭头函数
│  │  │  │      19、箭头函数.mp4
│  │  │  │      20、箭头函数的其他形式.mp4
│  │  │  │      21、箭头函数注意点.mp4
│  │  │  │      22、课程回顾.mp4
│  │  │  │      
│  │  │  ├─4-5 es6解构赋值
│  │  │  │      1、课程回顾.mp4
│  │  │  │      2、作业讲解.mp4
│  │  │  │      3、解构赋值.mp4
│  │  │  │      4、数组解构.mp4
│  │  │  │      5、对象解构.mp4
│  │  │  │      
│  │  │  ├─4-6 构造函数及原型对象
│  │  │  │      10、自定义构造函数.mp4
│  │  │  │      11、constructor和instanceof.mp4
│  │  │  │      12、构造函数.mp4
│  │  │  │      13、静态成员和实例成员.mp4
│  │  │  │      6、面向对象和面向过程.mp4
│  │  │  │      7、对象.mp4
│  │  │  │      8、字面量创建对象.mp4
│  │  │  │      9、构造函数.mp4
│  │  │  │      
│  │  │  ├─4-7 数组方法应用
│  │  │  │      14、数据类型.mp4
│  │  │  │      15、引用类型传递.mp4
│  │  │  │      16、练习题.mp4
│  │  │  │      17、Object构造函数.mp4
│  │  │  │      18、Array对象.mp4
│  │  │  │      19、Array方法介绍.mp4
│  │  │  │      20、数组方法1.mp4
│  │  │  │      21、数组方法3.mp4
│  │  │  │      22、数组方法4.mp4
│  │  │  │      23、正则构造函数.mp4
│  │  │  │      
│  │  │  ├─4-8 包装类型
│  │  │  │      1、课程回顾.mp4
│  │  │  │      2、作业讲解.mp4
│  │  │  │      3、数组方法.mp4
│  │  │  │      4、 包装类型.mp4
│  │  │  │      5、字符串方法.mp4
│  │  │  │      6、字符串练习.mp4
│  │  │  │      7、Number构造函数.mp4
│  │  │  │      8、Boolean构造函数.mp4
│  │  │  │      
│  │  │  └─4-9 继承
│  │  │          10、构造函数封装.mp4
│  │  │          11、构造函数.mp4
│  │  │          12、原型对象.mp4
│  │  │          13、原型对象.mp4
│  │  │          14、constructor.mp4
│  │  │          15、__proto__.mp4
│  │  │          16、封装.mp4
│  │  │          17、继承1.mp4
│  │  │          18、继承2.mp4
│  │  │          19、原型链.mp4
│  │  │          20、扩展方法.mp4
│  │  │          21、课程回顾.mp4
│  │  │          9、其他方法.mp4
│  │  │          
│  │  ├─05、第五章 jQuery
│  │  │  ├─5-1 jQuery介绍和链式编程
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-认识jquery.mp4
│  │  │  │      03-使用准备.mp4
│  │  │  │      04-选择器.mp4
│  │  │  │      05-Jquery对象.mp4
│  │  │  │      06-事件绑定.mp4
│  │  │  │      07-链式编程.mp4
│  │  │  │      
│  │  │  ├─5-10 表单序列化+版本差异
│  │  │  │      14-表单序列化.mp4
│  │  │  │      15-插件机制.mp4
│  │  │  │      16-工具方法.mp4
│  │  │  │      17-版本差异.mp4
│  │  │  │      
│  │  │  ├─5-2 jQuery常用AP
│  │  │  │      08-内容操纵.mp4
│  │  │  │      09-计数器.mp4
│  │  │  │      10-过滤方法.mp4
│  │  │  │      11-样式操纵.mp4
│  │  │  │      12-属性操纵.mp4
│  │  │  │      13-图片切换01.mp4
│  │  │  │      13-图片切换2.mp4
│  │  │  │      14-操纵value.mp4
│  │  │  │      15-查找方法.mp4
│  │  │  │      16-类名操纵.mp4
│  │  │  │      17-事件进阶.mp4
│  │  │  │      
│  │  │  ├─5-3 综合案例【输入统计
│  │  │  │      18-输入统计01.mp4
│  │  │  │      18-输入统计02.mp4
│  │  │  │      18-输入统计03.mp4
│  │  │  │      18-输入统计04.mp4
│  │  │  │      
│  │  │  ├─5-4 登录切换案例
│  │  │  │      19-事件触发.mp4
│  │  │  │      20-登录切换1.mp4
│  │  │  │      20-登录切换2.mp4
│  │  │  │      21-Window事件绑定.mp4
│  │  │  │      
│  │  │  ├─5-5 jQuery动画
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-获取位置.mp4
│  │  │  │      03-滚动距离.mp4
│  │  │  │      04-腾讯全端.mp4
│  │  │  │      05-显示和隐藏动画.mp4
│  │  │  │      06-淡入和淡出动画.mp4
│  │  │  │      07-展开收起动画.mp4
│  │  │  │      08-动画队列及停止方法.mp4
│  │  │  │      09-自定义动画.mp4
│  │  │  │      
│  │  │  ├─5-6 综合案例【爱旅行】
│  │  │  │      10-爱旅行.mp4
│  │  │  │      10-爱旅行2.mp4
│  │  │  │      10-爱旅行3.mp4
│  │  │  │      11-插入节点.mp4
│  │  │  │      12-动画回调函数.mp4
│  │  │  │      13-延迟方法.mp4
│  │  │  │      14-获取高度.mp4
│  │  │  │      15-爱旅行-自动轮播.mp4
│  │  │  │      
│  │  │  ├─5-7 事件委托和Notebook案例
│  │  │  │      16-事件参数.mp4
│  │  │  │      17-删除节点.mp4
│  │  │  │      18-事件委托.mp4
│  │  │  │      19-Notebook01.mp4
│  │  │  │      19-Notebook02.mp4
│  │  │  │      
│  │  │  ├─5-8 jQuery常用插件
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-入口函数.mp4
│  │  │  │      03-轮播图插件slick.mp4
│  │  │  │      04-懒加载插件.mp4
│  │  │  │      05-小兔鲜儿.mp4
│  │  │  │      06-全屏滚动fullpage.mp4
│  │  │  │      07-安全导航.mp4
│  │  │  │      08-提交事件.mp4
│  │  │  │      09-日期选择器.mp4
│  │  │  │      10-表单校验.mp4
│  │  │  │      11-克隆.mp4
│  │  │  │      12-转dom对象.mp4
│  │  │  │      
│  │  │  └─5-9 综合案例【人员管理】
│  │  │          13-人员管理01.mp4
│  │  │          13-人员管理02.mp4
│  │  │          13-人员管理03.mp4
│  │  │          13-人员管理04.mp4
│  │  │          13-人员管理05.mp4
│  │  │          
│  │  └─06、第六章 基于ECharts数据可视化
│  │      ├─6-1 ECharts介绍和配置
│  │      │      01-数据可视化项目导读.mp4
│  │      │      02-什么是数据可视化.mp4
│  │      │      03-数据可视化项目概述.mp4
│  │      │      04-ECharts简介.mp4
│  │      │      05-ECharts基本使用.mp4
│  │      │      06-选择不同类型图表.mp4
│  │      │      07-ECharts相关配置(上).mp4
│  │      │      08-ECharts-grid配置.mp4
│  │      │      09-ECharts相关配置(中).mp4
│  │      │      10-ECharts相关配置(下)series.mp4
│  │      │      11-折线图生成以及配置项总结.mp4
│  │      │      
│  │      ├─6-2 数据可视化项目适配方案
│  │      │      12-数据可视化项目适配方案分析.mp4
│  │      │      13-数据可视化项目适配方案.mp4
│  │      │      14-项目准备以及按照自动刷新浏览器插件.mp4
│  │      │      
│  │      ├─6-3 数据可视化项目-监控区域实现
│  │      │      15-可视化项目-body和viewport制作.mp4
│  │      │      16-可视化项目column列容器.mp4
│  │      │      17-边框图片使用场景以及切割原理.mp4
│  │      │      18-边框图片使用语法.mp4
│  │      │      19-公共面板样式制作(上).mp4
│  │      │      20-公共面板样式制作(下).mp4
│  │      │      21-通过类名调用字体图标.mp4
│  │      │      22-数据可视化项目-概览区域模块制作.mp4
│  │      │      23-数据可视化项目-监控区域布局分析.mp4
│  │      │      24-数据可视化项目-监控区域tab栏切换分析.mp4
│  │      │      25-数据可视化项目-监控区域无缝滚动.mp4
│  │      │      
│  │      ├─6-4 饼形图和用户统计模块实现
│  │      │      01-点位分布point模块-布局.mp4
│  │      │      02-点位分布point-引入图表.mp4
│  │      │      03-ECharts饼形图-tooltip参数含义.mp4
│  │      │      04-ECharts饼形图-series参数含义.mp4
│  │      │      05-点位分布模块-定制配置(上).mp4
│  │      │      06-点位分布模块-定制配置(下).mp4
│  │      │      07-EChart图表适配浏览器缩放.mp4
│  │      │      08-地图模块map布局-预留.mp4
│  │      │      09-用户统计users模块-布局.mp4
│  │      │      10-用户统计模块users-引入图表.mp4
│  │      │      
│  │      ├─6-5 柱形图定制区域实现
│  │      │      11-柱形图修改柱子颜色和提示框组件.mp4
│  │      │      12-柱形图定制grid相关配置.mp4
│  │      │      13-柱形图定制X轴相关配置.mp4
│  │      │      14-柱形图定制Y轴相关配置.mp4
│  │      │      15-柱形图定制-单独定制某个柱形(上).mp4
│  │      │      16-柱形图定制-单独定制某个柱形(下.mp4
│  │      │      
│  │      ├─6-6 销售统计模块实现
│  │      │      17-订单模块布局.mp4
│  │      │      18-销售统计模块布局.mp4
│  │      │      19-销售统计模块-折线图引入.mp4
│  │      │      20-销售统计模块-配置定制(上).mp4
│  │      │      21-销售统计模块-配置定制(中.mp4
│  │      │      22-销售统计模块-配置定制(下).mp4
│  │      │      23-01销售统计模块-tab栏切换原理.mp4
│  │      │      23-02销售统计模块-tab栏切换效果.mp4
│  │      │      25-销售统计模块-点击切换渲染图表.mp4
│  │      │      26-销售统计模块-自动切换功能.mp4
│  │      │      
│  │      ├─6-7 渠道分布模块实现
│  │      │      27-渠道分布和季度进度模块布局.mp4
│  │      │      28-渠道分布模块-雷达图引入.mp4
│  │      │      29-渠道分布模块-雷达图定制(上).mp4
│  │      │      30-渠道分布模块-雷达图定制(中.mp4
│  │      │      31-渠道分布模块-雷达图定制(.mp4
│  │      │      31-渠道分布模块-雷达图定制(下.mp4
│  │      │      
│  │      ├─6-8 季度进度模块实现
│  │      │      32-季度进度模块-饼形图引入.mp4
│  │      │      33-季度进度模块-饼形图定制(上).mp4
│  │      │      34-季度进度模块-饼形图定制(下).mp4
│  │      │      
│  │      └─6-9 全国热榜模块实现
│  │              35-全国热榜模块布局.mp4
│  │              36-全国热榜模块tab栏切换思路分析.mp4
│  │              37-铺垫知识ES6模板字符.mp4
│  │              38-全国热榜模块-渲染sup模块(上).mp4
│  │              39-全国热榜模块-渲染sup模块(下).mp4
│  │              40-全国热榜模块-鼠标经过操作.mp4
│  │              41-全国热榜模块-渲染sub模块.mp4
│  │              42-全国热榜模块-定时器引起的问题.mp4
│  │              43-全国热榜模块-定时器问题解决方案.mp4
│  │              44-ECharts社区简介.mp4
│  │              45-模拟飞行模块引入.mp4
│  │              46-ECharts总结.mp4
│  │              
│  ├─04、阶段四 前后端交互
│  │  ├─01、第一章 Ajax+HTTP
│  │  │  ├─1-1 ajax介绍
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.客户端与服务器.mp4
│  │  │  │      02.URL地址的概念及组成部分.mp4
│  │  │  │      03.图解客户端与服务器通信的过程.mp4
│  │  │  │      04.基于开发者工具查看客户端与服务器的通.mp4
│  │  │  │      05.数据也是一种资源.mp4
│  │  │  │      06.网页中如何请求数据.mp4
│  │  │  │      07.资源的请求方式.mp4
│  │  │  │      08.介绍Ajax的概念.mp4
│  │  │  │      09.Ajax的典型应用场景.mp4
│  │  │  │      10.了解jQuery中的Ajax.mp4
│  │  │  │      11.$.get()函数的语法.mp4
│  │  │  │      12.$.get()发起不带参数的请求.mp4
│  │  │  │      13.$.get()发起带参数的请求.mp4
│  │  │  │      14.$.post函数的语法.mp4
│  │  │  │      15.$.post()向服务器提交数据.mp4
│  │  │  │      17.$.ajax()发起GET请求.mp4
│  │  │  │      19.接口的概念.mp4
│  │  │  │      20.分析接口的请求过程.mp4
│  │  │  │      21.了解接口测试工具.mp4
│  │  │  │      22.使用PostMan测试GET接口.mp4
│  │  │  │      23.使用PostMan测试POST接口.mp4
│  │  │  │      24.接口文档.mp4
│  │  │  │      
│  │  │  ├─1-10 XHR Level2的新特性
│  │  │  │      23.XHR Level2的新特性-了解新版xhr中支持.mp4
│  │  │  │      24.XHR Level2的新特性-设置HTTP请求时限.mp4
│  │  │  │      25.XHR Level2的新特性-使用FormData对象.mp4
│  │  │  │      27.XHR Level2的新特性-定义上传文件页面.mp4
│  │  │  │      28.XHR Level2的新特性-验证是否选择了待上.mp4
│  │  │  │      29.XHR Level2的新特性-向FormData中追加.mp4
│  │  │  │      30.XHR Level2的新特性-使用xhr发起上传文.mp4
│  │  │  │      31.XHR Level2的新特性-完成上传文件的功能.mp4
│  │  │  │      32.XHR Level2的新特性-计算文件的上传进度.mp4
│  │  │  │      33.XHR Level2的新特性-基于bootstrap绘制进度条效果.mp4
│  │  │  │      34.XHR Level2的新特性-动态设置进度条.mp4
│  │  │  │      35.XHR Level2的新特性-监听上传完成的事件.mp4
│  │  │  │      
│  │  │  ├─1-11 jQuery高级用法
│  │  │  │      36.jQuery高级用法-渲染页面结构并验证是否选择.mp4
│  │  │  │      37.jQuery高级用法-使用jQuery发起上传文件的请求.mp4
│  │  │  │      38.jQuery高级用法-通过jQuery实现loading效果.mp4
│  │  │  │      
│  │  │  ├─1-12 axios
│  │  │  │      39.axios-什么是axios.mp4
│  │  │  │      40.axios-使用axios发起GET请求.mp4
│  │  │  │      41.axios-使用axios发起POST请求.mp4
│  │  │  │      42.axios-直接使用axios发起GET和POST数据.mp4
│  │  │  │      
│  │  │  ├─1-13 同源策略
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.同源策略-什么是同源.mp4
│  │  │  │      02.同源策略-什么是同源策略.mp4
│  │  │  │      
│  │  │  ├─1-14 跨域
│  │  │  │      03.跨域-什么是跨域.mp4
│  │  │  │      04.跨域-浏览器对跨域请求的拦截.mp4
│  │  │  │      05.跨域-如何实现跨域数据请求.mp4
│  │  │  │      
│  │  │  ├─1-15 Jsonp
│  │  │  │      06.JSONP-了解JSONP的概念以及实现原理.mp4
│  │  │  │      07.JSONP-演示跨域Ajax数据请求存在的问题.mp4
│  │  │  │      08.剖析JSONP的实现原理-将函数的定义和调.mp4
│  │  │  │      09.剖析JSONP的实现原理-将函数的调用抽离.mp4
│  │  │  │      10.剖析JSONP的实现原理-通过callback指定回调函数的名称.mp4
│  │  │  │      11.JSONP-自己实现一个简单的JSONP.mp4
│  │  │  │      12.JSONP-了解JSONP的缺点.mp4
│  │  │  │      13.JSONP-使用jQuery发起JSONP数据请求.mp4
│  │  │  │      14.JSONP-jQuery中自定义JSONP参数以及回.mp4
│  │  │  │      15.JSONP-jQuery中JSONP的实现过程.mp4
│  │  │  │      
│  │  │  ├─1-16 淘宝搜索案例
│  │  │  │      16.淘宝搜索案例-介绍案例效果.mp4
│  │  │  │      17.淘宝搜索案例-获取用户输入的搜索关键词.mp4
│  │  │  │      18.淘宝搜索案例-封装getSuggestList函数.mp4
│  │  │  │      19.淘宝搜索案例-在页面中定义搜索建议列表.mp4
│  │  │  │      20.淘宝搜.mp4
│  │  │  │      21.淘宝搜索案例-定义渲染模板结构的函数.mp4
│  │  │  │      22.淘宝搜索案例-搜索关键词为空时隐藏搜索建.mp4
│  │  │  │      23.淘宝搜索案例-美化搜索建议列表.mp4
│  │  │  │      
│  │  │  ├─1-17 防抖和节流
│  │  │  │      24.输入框的防抖-什么是防抖.mp4
│  │  │  │      25.输入框的防抖-防抖的应用场景.mp4
│  │  │  │      27.缓存搜索的建议列表.mp4
│  │  │  │      28.防抖和节流-什么是节流.mp4
│  │  │  │      29.防抖和节流-节流的应用场景.mp4
│  │  │  │      30.防抖和节流-渲染UI效果.mp4
│  │  │  │      31.防抖和节流-不使用节流实现鼠标跟随效果.mp4
│  │  │  │      32.防抖和节流-节流阀的概念.mp4
│  │  │  │      33.防抖和节流-使用节流优化鼠标跟随效果.mp4
│  │  │  │      34.防抖和节流-总结防抖和节流的区别.mp4
│  │  │  │      
│  │  │  ├─1-18 HTTP协议简介
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.HTTP协议简介-什么是通信.mp4
│  │  │  │      02.HTTP协议简介-什么是通信协议.mp4
│  │  │  │      03.HTTP协议简介-什么是HTTP协议.mp4
│  │  │  │      04.HTTP协议简介-HTTP协议的交互模型.mp4
│  │  │  │      
│  │  │  ├─1-19 HTTP请求消息
│  │  │  │      05.HTTP请求消息-什么是HTTP请求消息.mp4
│  │  │  │      06.HTTP请求消息-HTTP请求消息的4个组成部分.mp4
│  │  │  │      07.HTTP请求消息-请求行.mp4
│  │  │  │      08.HTTP请求消息-请求头部.mp4
│  │  │  │      09.HTTP请求消息-空行.mp4
│  │  │  │      10.HTTP请求消息-请求体.mp4
│  │  │  │      11.HTTP请求消息-总结HTTP请求消息的组成.mp4
│  │  │  │      
│  │  │  ├─1-2 图书列表案例
│  │  │  │      25.案例-基于Bootstrap渲染页面UI结构.mp4
│  │  │  │      26.案例-了解渲染图书列表的实现思路.mp4
│  │  │  │      27.案例-获取图书列表数据.mp4
│  │  │  │      28.案例-渲染图书列表.mp4
│  │  │  │      29.案例-为删除链接绑定单击事件处理函数.mp4
│  │  │  │      30.案例-实现删除图书的功能.mp4
│  │  │  │      31.案例-为添加按钮绑定点击事件处理函数.mp4
│  │  │  │      32.案例-实现添加图书的功能.mp4
│  │  │  │      
│  │  │  ├─1-20 HTTP响应消息
│  │  │  │      12.HTTP响应消息-响应消息的概念以及组成部分.mp4
│  │  │  │      13.HTTP响应消息-状态行.mp4
│  │  │  │      14.HTTP响应消息-响应头部.mp4
│  │  │  │      15.HTTP响应消息-空行.mp4
│  │  │  │      16.HTTP响应消息-响应体.mp4
│  │  │  │      17.HTTP响应消息-总结HTTP响应消息的组.mp4
│  │  │  │      
│  │  │  ├─1-21 HTTP响应状态码
│  │  │  │      18.HTTP请求方法.mp4
│  │  │  │      19.HTTP响应状态码-什么是HTTP响应状态码.mp4
│  │  │  │      20.HTTP响应状态码-HTTP响应状态码的组成及.mp4
│  │  │  │      21.HTTP响应状态码-2xx成功相关的响应状态码.mp4
│  │  │  │      22.HTTP响应状态码-3xx重定向相关的响应状态码.mp4
│  │  │  │      23.HTTP响应状态码-4xx.mp4
│  │  │  │      24.HTTP响应状态码-5xx服务端错误相关的响应状.mp4
│  │  │  │      
│  │  │  ├─1-3 聊天机器人
│  │  │  │      33.聊天机器人-演示案例要完成的效果.mp4
│  │  │  │      34.聊天机器人-梳理案例的代码结构.mp4
│  │  │  │      35.聊天机器人-将用户输入的内容渲染到聊天窗口.mp4
│  │  │  │      36.聊天机器人-发起请求获取聊天消息.mp4
│  │  │  │      37.聊天机器人-将机器人的聊天内容转换为语音.mp4
│  │  │  │      38.聊天机器人-通过回车键发送消息.mp4
│  │  │  │      【补充说明】聊天机器人接口更新通知.mp4
│  │  │  │      
│  │  │  ├─1-4 form表单+案例
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.表单的基本使用-什么是表单.mp4
│  │  │  │      02.表单的基本使用-表单的组成部.mp4
│  │  │  │      03.form标签的属性-action.mp4
│  │  │  │      04.form标签的属性-target.mp4
│  │  │  │      05.form标签的属性-method.mp4
│  │  │  │      06.form标签的属性-enctype.mp4
│  │  │  │      07.表单的同步提交及缺点.mp4
│  │  │  │      08.通过Ajax提交表单数据-监听表单的提交事件.mp4
│  │  │  │      09.通过Ajax提交表单数据-阻止表单的默认提.mp4
│  │  │  │      10.通过Ajax提交表单数据-快速获取表单中的.mp4
│  │  │  │      11.案例-基于bootstrap渲染评论列表的UI结构.mp4
│  │  │  │      12.案例-获取评论列表数据.mp4
│  │  │  │      13.案例-渲染评论列表.mp4
│  │  │  │      14.案例-改造form表单.mp4
│  │  │  │      15.案例-实现发表评论的功能.mp4
│  │  │  │      
│  │  │  ├─1-5 模板引擎+案例
│  │  │  │      16.模板引擎-模板引擎的基本概念.mp4
│  │  │  │      17.模板引擎-了解并安装art-template.mp4
│  │  │  │      18.模板引擎-使用传统方式渲染UI结构.mp4
│  │  │  │      19.模板引擎-介绍模板引擎的使用步骤.mp4
│  │  │  │      20.标准语法-输出.mp4
│  │  │  │      21.标准语法-原文输出.mp4
│  │  │  │      22.标准语法-条件输出.mp4
│  │  │  │      23.标准语法-循环输出.mp4
│  │  │  │      24.标准语法-什么是过滤器.mp4
│  │  │  │      25.标准语法-定义过滤器和调用过滤器的基本语法.mp4
│  │  │  │      26.标准语法-定义格式化时间的过滤器.mp4
│  │  │  │      27.案例-介绍新闻列表案例要实现的效果.mp4
│  │  │  │      28.案例-获取新闻列表数据.mp4
│  │  │  │      29.案例-定义新闻Item项的模板.mp4
│  │  │  │      30.案例-编译模板渲染新闻列表结构.mp4
│  │  │  │      31.案例-定义时间过滤器.mp4
│  │  │  │      32.案例-定义补零函数.mp4
│  │  │  │      
│  │  │  ├─1-6 正则与字符串操作
│  │  │  │      33.正则与字符串操作-介绍正则的exec函数.mp4
│  │  │  │      34.正则与字符串操作-提取分组.mp4
│  │  │  │      35.正则与字符串操作-字符串的replace函数.mp4
│  │  │  │      36.正则与字符串操作-对字符串进行多次replace操作.mp4
│  │  │  │      37.正则与字符串操作-使用while循环进行字符.mp4
│  │  │  │      38.正则与字符串操作-将正则匹配到的内容替换.mp4
│  │  │  │      39.实现简易的模板引擎.mp4
│  │  │  │      
│  │  │  ├─1-7 xhr的基本使用
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.xhr的基本使用-什么是XMLHttpRequest.mp4
│  │  │  │      02.xhr的基本使用-使用xhr发起GET请求.mp4
│  │  │  │      03.xhr的基本使用-了解xhr对象的readyState属.mp4
│  │  │  │      04.xhr的基本使用-使用xhr发起带参数的GET请求.mp4
│  │  │  │      05.xhr的基本使用-了解查询字符串的概念.mp4
│  │  │  │      06.xhr的基本使用-GET请求携带参数的本质.mp4
│  │  │  │      07.xhr的基本使用-什么是URL编码.mp4
│  │  │  │      08.xhr的基本使用-如何对URL进行编码与解码.mp4
│  │  │  │      09.xhr的基本使用-使用xhr发起POST请求.mp4
│  │  │  │      
│  │  │  ├─1-8 数据交换格式
│  │  │  │      10.数据交换格式-什么是数据交换格式.mp4
│  │  │  │      11.数据交换格式-XML.mp4
│  │  │  │      12.数据交换格式-什么是JSON.mp4
│  │  │  │      13.数据交换格式-JSON的两种结构.mp4
│  │  │  │      14.数据交换格式-JSON语法注意事项.mp4
│  │  │  │      15.数据交换格式-JSON和JS对象的关系.mp4
│  │  │  │      16.数据交换格式-JSON和JS对象的互转.mp4
│  │  │  │      17.数据交换格式-序列化和反序列化.mp4
│  │  │  │      
│  │  │  └─1-9 封装自己的Ajax函数
│  │  │          18.封装自己的Ajax函数-介绍要实现的效果以及o.mp4
│  │  │          19.封装自己的Ajax函数-处理data参数.mp4
│  │  │          20.封装自己的Ajax函数-定义itheima函数.mp4
│  │  │          21.封装自己的Ajax函数-判断请求的类型.mp4
│  │  │          22.封装自己的Ajax函数-测试itheima函数的可用.mp4
│  │  │          
│  │  ├─02、第二章 Git和github基本使用
│  │  │  ├─2-1 关于版本控制
│  │  │  │      00.Git学习目标.mp4
│  │  │  │      01.关于版本控制 - 使用.mp4
│  │  │  │      02.关于版本控制 - 版本控制系统的分类.mp4
│  │  │  │      03.关于版本控制 - 了解三大类版本控制系统各.mp4
│  │  │  │      
│  │  │  ├─2-2 Git基础概念
│  │  │  │      04.Git基础概念 - 什么是Git.mp4
│  │  │  │      05.Git基础概念 - Git直接记录快照而非差异比较.mp4
│  │  │  │      06.Git基础概念 - 近乎所有操作都是本地执行的.mp4
│  │  │  │      07.Git基础概念 - Git中的三个区域.mp4
│  │  │  │      08.Git基础概念 - Git中的三种状态.mp4
│  │  │  │      09.Git基础概念 - Git的基本工作流程.mp4
│  │  │  │      
│  │  │  ├─2-3 安装并配置Git
│  │  │  │      10.安装并配置Git - 在Windows中下载并安装Git.mp4
│  │  │  │      11.安装并配置Git-配置用户信息.mp4
│  │  │  │      12.安装并配置Git - Git的全局配置文件.mp4
│  │  │  │      13.安装并配置Git - 使用Git命令检查全局配置.mp4
│  │  │  │      14.安装并配置Git - 获取帮助信息.mp4
│  │  │  │      
│  │  │  ├─2-4 Git的基本操作
│  │  │  │      15.Git的基本操作 - 获取Git仓库的两种方式.mp4
│  │  │  │      16.Git的基本操作 - 在现有目录中初始化仓库.mp4
│  │  │  │      17.Git的基本操作 - 工作区中文件的4种状态.mp4
│  │  │  │      18.Git的基本操作 - 检查文件的状态.mp4
│  │  │  │      19.Git的基本操作 - 以精简的方式显示文件的状态.mp4
│  │  │  │      20.Git的基本操作 - 跟踪新文件.mp4
│  │  │  │      21.Git的基本操作 - 提交更新.mp4
│  │  │  │      22.Git的基本操作 - 对已提交的文件进行修改.mp4
│  │  │  │      23.Git的基本操作 - 暂存已修改的文件.mp4
│  │  │  │      24.Git的基本操作 - 提交已暂存的文件.mp4
│  │  │  │      25.Git的基本操作 - 撤销对文件的修改.mp4
│  │  │  │      26.Git的基本操作 - 向暂存区中一次性添加多个文.mp4
│  │  │  │      27.Git的基本操作 - 取消暂存的文件.mp4
│  │  │  │      28.Git的基本操作 - 跳过使用暂存区域.mp4
│  │  │  │      29.Git的基本操作 - 移除文件.mp4
│  │  │  │      30.Git的基本操作 - Git忽略文件和glob匹配模式.mp4
│  │  │  │      31.Git的基本操作 - .gitignore使用示例.mp4
│  │  │  │      32.Git的基本操作 - 查看提交历史.mp4
│  │  │  │      33.Git的基本操作 - 回退到指定的版本.mp4
│  │  │  │      34.Git的基本操作 - 小结.mp4
│  │  │  │      
│  │  │  ├─2-5 开源相关的概念
│  │  │  │      01.开源相关的概念 - 了解开源和闭源的概念.mp4
│  │  │  │      02.开源相关的概念 - 开源许可协议.mp4
│  │  │  │      03.开源相关的概念 - 为什么要拥抱开源.mp4
│  │  │  │      04.开源相关的概念 - 了解什么是开源项目托管平台.mp4
│  │  │  │      05.开源相关的概念 - 什么是GitHub.mp4
│  │  │  │      
│  │  │  ├─2-6 github
│  │  │  │      06.github - 注册GitHub账号.mp4
│  │  │  │      07.github - 新建空白远程仓库.mp4
│  │  │  │      08.github - 远程仓库的两种访问方式.mp4
│  │  │  │      09.github - 基于HTTPS将本地仓库上传到GitHub.mp4
│  │  │  │      10.github - 了解git push命令的作用.mp4
│  │  │  │      11.github - 生成SSH key.mp4
│  │  │  │      12.github - 配置SSH key.mp4
│  │  │  │      13.github - 检测SSH key是否配置成功.mp4
│  │  │  │      14.github - 基于SSH将本地仓库上传到GitHub.mp4
│  │  │  │      15.github - 将远程仓库克隆到本地.mp4
│  │  │  │      
│  │  │  └─2-7 分支
│  │  │          16.分支 - 了解分支的概念以及分支在实际开发中.mp4
│  │  │          17.分支 - master主分支.mp4
│  │  │          18.分支 - 功能分支.mp4
│  │  │          19.分支 - 查看分支列表.mp4
│  │  │          20.分支 - 创建新分支.mp4
│  │  │          21.分支 - 切换分支.mp4
│  │  │          22.分支 - 快速创建和切换分支.mp4
│  │  │          23.分支 - 合并分支.mp4
│  │  │          24.分支 - 删除分支.mp4
│  │  │          25.分支 - 遇到冲突时的分支合并.mp4
│  │  │          26.分支 - 将本地分支推送到远程分支.mp4
│  │  │          27.分支 - 查看远程分支列表.mp4
│  │  │          28.分支 - 跟踪分支.mp4
│  │  │          29.分支 - 拉取远程分支的最新代码.mp4
│  │  │          30.分支 - 删除远程分支.mp4
│  │  │          
│  │  ├─03、第三章 Node基础
│  │  │  ├─3-1 node介绍和环境安装
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.初识Node - 为什么JavaScript可以在浏览器.mp4
│  │  │  │      02.初识Node - 为什么JavaScript可以操作DO.mp4
│  │  │  │      03.初识Node - 浏览器中的JavaScript运行环境.mp4
│  │  │  │      04.初识Node - JavaScript能否做后端开发.mp4
│  │  │  │      05.初识Node - 什么是Node.js.mp4
│  │  │  │      06.初识Node - Node.js中的JavaScript运行环境.mp4
│  │  │  │      07.初识Node - 了解Node.js的学习路径.mp4
│  │  │  │      08.初识Node - 下载并安装Node.mp4
│  │  │  │      09.初识Node - 查看已安装的Node.js的版本号.mp4
│  │  │  │      10.初识Node - 了解终端的概念.mp4
│  │  │  │      11.初识Node - 在Node.js环境中执行JavaScript代码.mp4
│  │  │  │      12.初识Node - 使用更方便的形式执行Node命令.mp4
│  │  │  │      13.初识Node - 了解常用的终端快捷键.mp4
│  │  │  │      
│  │  │  ├─3-10 node-模块化
│  │  │  │      18.模块化 - 学习目标.mp4
│  │  │  │      19.模块化 - 什么是模块化.mp4
│  │  │  │      20.模块化 - 模块化规范相关的概念.mp4
│  │  │  │      21.Node中的模块化 - 了解Node中模块的3大.mp4
│  │  │  │      22.Node中的模块化 - 使用require方法加载模块.mp4
│  │  │  │      23.Node中的模块化 - 使用require的小注意点.mp4
│  │  │  │      24.Node中的模块化 - 了解模块作用域的概念以.mp4
│  │  │  │      25.Node中的模块化 - 了解module对象.mp4
│  │  │  │      26.Node中的模块化 - 了解module.exports对象.mp4
│  │  │  │      27.Node中的模块化 - 使用module.exports向外.mp4
│  │  │  │      28.Node中的模块化 - 共享成员是的注意点.mp4
│  │  │  │      29.Node中的模块化 - exports对象.mp4
│  │  │  │      30.exports和module.exports的使用误区 - 案.mp4
│  │  │  │      31.exports和module.exports的使用误区 - 案例2.mp4
│  │  │  │      32.exports和module.exports的使用误区 - 案.mp4
│  │  │  │      33.exports和module.exports的使用误区 - 案.mp4
│  │  │  │      34.Node中的模块化 - CommonJS模块化规范.mp4
│  │  │  │      
│  │  │  ├─3-2 node-fs模块 3-3 node-path模块
│  │  │  │      14.fs - 了解什么是fs文件系统模块.mp4
│  │  │  │      15.fs - 使用fs.readFile方法读取文件.mp4
│  │  │  │      16.fs - 判断文件是否读取成功.mp4
│  │  │  │      17.fs - 使用fs.writeFile方法写入文件.mp4
│  │  │  │      18.fs - 判断文件是否写入成功.mp4
│  │  │  │      19.fs案例 - 分析核心的实现步骤.mp4
│  │  │  │      20.fs案例 - 读取成绩文件.mp4
│  │  │  │      21.fs案例 - 处理成绩.mp4
│  │  │  │      22.fs案例 - 将整理好的成绩写入到新文件.mp4
│  │  │  │      23.fs路径问题 - 演示路径动态拼接的问题.mp4
│  │  │  │      24.fs路径问题 - 使用完整路径替代相对路径.mp4
│  │  │  │      25.fs路径问题 - 使用__dirname完美解决路径动态.mp4
│  │  │  │      
│  │  │  ├─3-3 node-path模块
│  │  │  │      26.path - 了解path路径模块的作用.mp4
│  │  │  │      27.path - 使用path.join方法进行路径的拼接.mp4
│  │  │  │      28.path - 使用path.basename方法获取路径中的文件名.mp4
│  │  │  │      29.path - 使用path.extname方法获取路径中.mp4
│  │  │  │      
│  │  │  ├─3-4 node-时钟案例
│  │  │  │      30.时钟案例 - 介绍需求并分析案例的实现步骤.mp4
│  │  │  │      31.时钟案例 - 定义正则表达式.mp4
│  │  │  │      32.时钟案例 - 使用fs.readFile方法读取HTML文件的内容.mp4
│  │  │  │      33.时钟案例 - 自定义resolveCSS方法提取样式表.mp4
│  │  │  │      34.时钟案例 - 自定义resolveJS方法提取JS脚本文.mp4
│  │  │  │      35.时钟案例 - 自定义resolveHTML方法提取ht.mp4
│  │  │  │      36.时钟案例 - 时钟案例的两个注意点.mp4
│  │  │  │      
│  │  │  ├─3-5 node-http模块
│  │  │  │      01.http模块 - 什么是http模块.mp4
│  │  │  │      02.http模块 - 进一步理解http模块的作用.mp4
│  │  │  │      
│  │  │  ├─3-6 node-服务器概念
│  │  │  │      03.服务器相关的概念 - IP地址.mp4
│  │  │  │      04.服务器相关的概念 - 域名和域名服务器.mp4
│  │  │  │      05.服务器相关的概念 - 端口号.mp4
│  │  │  │      
│  │  │  ├─3-7 node-创建基本web服务器
│  │  │  │      07.创建最基本的web服务器 - 通过4个核心步.mp4
│  │  │  │      08.创建最基本的web服务器 - req请求对象.mp4
│  │  │  │      09.创建最基本的web服务器 - res响应对象.mp4
│  │  │  │      10.创建最基本的web服务器 - 解决中文乱码问题.mp4
│  │  │  │      
│  │  │  ├─3-8 node-根据不同的url响应不同的html内容
│  │  │  │      11.根据不同的url响应不同的html内容 - 分析核.mp4
│  │  │  │      12.根据不同的url响应不同的html内容 - 按照分.mp4
│  │  │  │      
│  │  │  └─3-9 node-时钟web服务器案例
│  │  │          13.时钟web服务器案例 - 介绍核心实现思路.mp4
│  │  │          14.时钟web服务器案例 - 导入需要的模块并创.mp4
│  │  │          15.时钟web服务器案例 - 将资源的请求url映射为.mp4
│  │  │          16.时钟web服务器案例 - 读取文件的内容并响.mp4
│  │  │          17.时钟web服务器案例 - 优化资源的请求路径.mp4
│  │  │          
│  │  ├─04、第四章 npm+模块加载机制
│  │  │  ├─4-1 包
│  │  │  │      35.包 - 什么是包.mp4
│  │  │  │      36.包 - 包的来源.mp4
│  │  │  │      37.包 - 为什么需要包.mp4
│  │  │  │      38.包 - 从哪里下载包.mp4
│  │  │  │      
│  │  │  ├─4-2 npm
│  │  │  │      40.npm初体验 - 格式化时间的传统做法.mp4
│  │  │  │      41.npm初体验 - 了解如何使用第三方的包对时间.mp4
│  │  │  │      42.npm初体验 - 介绍如何使用npm install命.mp4
│  │  │  │      43.npm初体验 - 参考moment官方文档进行时.mp4
│  │  │  │      44.npm初体验 - 了解node_modules文件夹和pa.mp4
│  │  │  │      45.npm初体验 - 安装指定版本的包.mp4
│  │  │  │      46.npm初体验 - 包的语义化版本规范.mp4
│  │  │  │      
│  │  │  ├─4-3 包管理配置文件及解决下包慢的问题
│  │  │  │      01.包管理配置文件 - 概念.mp4
│  │  │  │      02.包管理配置文件 - 进一步理解package.json配置文件的作用.mp4
│  │  │  │      03.包管理配置文件 - 通过命令快速创建package.json文件.mp4
│  │  │  │      04.包管理配置文件 - 了解dependencies节点的.mp4
│  │  │  │      05.包管理配置文件 - 一次性安装所有的包.mp4
│  │  │  │      06.包管理配置文件 - 卸载包.mp4
│  │  │  │      07.包管理配置文件 - 了解devDependencies节.mp4
│  │  │  │      08.解决下包慢的问题 - 分析下包速度慢的原因.mp4
│  │  │  │      09.解决下包慢的问题 - 了解淘宝npm镜像服.mp4
│  │  │  │      10.解决下包慢的问题 - 切换npm的下包镜像源.mp4
│  │  │  │      11.解决下包慢的问题 - 使用nrm切换下包的服务.mp4
│  │  │  │      
│  │  │  ├─4-4 包的分类
│  │  │  │      12.包的分类 -项目包.mp4
│  │  │  │      13.包的分类 - 全局包.mp4
│  │  │  │      14.包的分类 - 演示i5ting_toc的安装和使用.mp4
│  │  │  │      15.规范的包结构.mp4
│  │  │  │      
│  │  │  ├─4-5 开发属于自己的
│  │  │  │      16.开发属于自己的包 - 了解需要实现的功能.mp4
│  │  │  │      17.开发属于自己的包 - 初始化包的基本结构.mp4
│  │  │  │      18.开发属于自己的包 - 初始化package.json配置文件.mp4
│  │  │  │      19.开发属于自己的包 - 在index.js中定义格式化.mp4
│  │  │  │      20.开发属于自己的包 - 了解package.json中mai.mp4
│  │  │  │      21.开发属于自己的包 - 在index.js中定义转义HT.mp4
│  │  │  │      22.开发属于自己的包 - 在index.js中定义还原HT.mp4
│  │  │  │      23.开发属于自己的包 - 将不同的功能进行模块.mp4
│  │  │  │      24.开发属于自己的包 - 编写包的使用说明文档.mp4
│  │  │  │      
│  │  │  ├─4-6 发布包
│  │  │  │      25.发布包 - 注册npm账号.mp4
│  │  │  │      26.发布包 - 登录npm账号.mp4
│  │  │  │      27.发布包 - 演示如何把包发布到npm上.mp4
│  │  │  │      28.发布包 - 演示如何删除已发布的包.mp4
│  │  │  │      
│  │  │  └─4-7 模块的加载机制
│  │  │          29.模块的加载机制 - 优先从缓存中加载.mp4
│  │  │          30.模块的加载机制 - 内置模块的加载机制.mp4
│  │  │          31.模块的加载机制 - 自定义模块的加载机制.mp4
│  │  │          32.模块的加载机制 - 第三方模块的加载机制.mp4
│  │  │          33.模块的加载机制 - 目录作为模块时的加载机制.mp4
│  │  │          
│  │  ├─05、第五章 Express
│  │  │  ├─5-1 express
│  │  │  │      01.express路由 - 路由的概念.mp4
│  │  │  │      02.express路由 - 了解express中路由的概念及组成部分.mp4
│  │  │  │      03.express路由 - 路由的匹配过程.mp4
│  │  │  │      04.express路由 - 路由最简单的用法.mp4
│  │  │  │      05.express路由 - 创建路由模块.mp4
│  │  │  │      06.express路由 - 注册路由模块.mp4
│  │  │  │      07.express路由 - 为路由模块添加访问前.mp4
│  │  │  │      34.express - 学习目标.mp4
│  │  │  │      35.初识express - express简介.mp4
│  │  │  │      36.初识express - 使用express创建基本的web服.mp4
│  │  │  │      37.初识express - 监听GET和POST请求以及响应.mp4
│  │  │  │      38.初识express - 获取URL中携带的查询参数.mp4
│  │  │  │      39.初识express - 获取URL中的动态参数.mp4
│  │  │  │      40.初识express - 补充动态参数的两个注意点.mp4
│  │  │  │      41.初识express - 使用express.static托管静.mp4
│  │  │  │      42.初识express - 托管多个静态资源目录.mp4
│  │  │  │      43.初识express - 挂载路径前缀.mp4
│  │  │  │      44.初识express - 安装nodemon.mp4
│  │  │  │      45.初识express - 使用nodemon实现项目的自动重启.mp4
│  │  │  │      并无缺失,目录如此.txt
│  │  │  │      
│  │  │  ├─5-2 中间件
│  │  │  │      08.中间件 - 中间件的概念.mp4
│  │  │  │      09.中间件 - express中间件的调用流程.mp4
│  │  │  │      10.中间件 - express中间件的格式.mp4
│  │  │  │      11.中间件 - next函数的作用.mp4
│  │  │  │      12.中间件 - 定义中间件函数.mp4
│  │  │  │      13.中间件 - 全局生效的中间件.mp4
│  │  │  │      14.中间件 - 定义全局中间件的简化形式.mp4
│  │  │  │      15.中间件 - 中间件的作用.mp4
│  │  │  │      16.中间件 - 定义多个全局中间.mp4
│  │  │  │      17.中间件 - 局部生效的中间件.mp4
│  │  │  │      18.中间件 - 使用多个局部中间件.mp4
│  │  │  │      19.中间件 - 了解中间件的5个注意事项.mp4
│  │  │  │      20.中间件的分类 - 了解什么是应用级别和路由级别的中间件.mp4
│  │  │  │      21.中间件的分类 - 错误级别的中间件.mp4
│  │  │  │      22.中间件的分类 - 了解3个内置的中间件.mp4
│  │  │  │      23.中间件的分类 - 演示express.static中间件的使.mp4
│  │  │  │      24.中间件的分类 - 演示express.urlencoded中间.mp4
│  │  │  │      25.中间件的分类 - 演示body-parser第三方中间.mp4
│  │  │  │      26.自定义中间件 - 介绍需求及实现步骤.mp4
│  │  │  │      27.自定义中间件 - 监听req的data事件.mp4
│  │  │  │      28.自定义中间件 - 监听req的end事件.mp4
│  │  │  │      29.自定义中间件 - 使用querystring模块解析请.mp4
│  │  │  │      30.自定义中间件 - 为req挂载自定义的body属性.mp4
│  │  │  │      31.自定义中间件 - 将自定义中间件封装为独立.mp4
│  │  │  │      
│  │  │  └─5-3 基于express写接口
│  │  │          32.基于express写接口 - 创建基本的服务器.mp4
│  │  │          33.基于express写接口 - 创建API路由模块.mp4
│  │  │          34.基于express写接口 - 编写GET接口.mp4
│  │  │          35.基于express写接口 - 编写POST接口.mp4
│  │  │          
│  │  ├─06、第六章 MySQL数据库
│  │  │  ├─6-1 cors+jsonp
│  │  │  │      36.cors - 接口的跨域问题.mp4
│  │  │  │      37.cors - 使用cors中间件解决跨域问题.mp4
│  │  │  │      38.cors - 了解cors的概念以及注意事项.mp4
│  │  │  │      39.cors - 了解Access-Control-Allow-Origin的.mp4
│  │  │  │      40.cors - 了解Access-Control-Allow-Headers.mp4
│  │  │  │      41.cors - 了解Access-Control-Allow-Methods的作用.mp4
│  │  │  │      42.cors - 简单请求的概念.mp4
│  │  │  │      43.cors - 预检请求的概念.mp4
│  │  │  │      45.jsonp - 回顾jsonp的概念与特点.mp4
│  │  │  │      46.jsonp - 创建jsonp接口的注意事项.mp4
│  │  │  │      47.jsonp - 实现jsonp的接口.mp4
│  │  │  │      48.jsonp - 测试jsonp接口.mp4
│  │  │  │      
│  │  │  ├─6-2 数据库的基本概念
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.数据库的基本概念 - 什么是数据库.mp4
│  │  │  │      02.数据库的基本概念 - 常见的数据库及分类.mp4
│  │  │  │      03.数据库的基本概念 - 了解传统型数据库的数.mp4
│  │  │  │      04.数据库的基本概念 - 实际开发中库、表、行、.mp4
│  │  │  │      05.安装MySQL - 了解需要安装哪些MySQL相关的软件.mp4
│  │  │  │      06.安装MySQL - 介绍在Mac下如何安装MySQL.mp4
│  │  │  │      07.安装MySQL - 演示如何在Windows10系统上.mp4
│  │  │  │      08.MySQL的基本使用 - 使用MySQL Workbench连接数据库.mp4
│  │  │  │      09.MySQL的基本使用 - 了解MySQL Workbench主界面的组成部分.mp4
│  │  │  │      10.MySQL的基本使用 - 创建数据库.mp4
│  │  │  │      11.MySQL的基本使用 - 创建数据表.mp4
│  │  │  │      12.MySQL的基本使用 - 设计表的字段名称和数据.mp4
│  │  │  │      13.MySQL的基本使用 - 设置字段的特殊标识.mp4
│  │  │  │      14.MySQL的基本使用 - 向表中写入数据.mp4
│  │  │  │      
│  │  │  ├─6-3 sql
│  │  │  │      15.sql - 介绍什么是SQL.mp4
│  │  │  │      16.sql - 了解SQL能够做什么以及SQL的学习目标.mp4
│  │  │  │      17.sql - 介绍SELECT语句的语法格式.mp4
│  │  │  │      18.sql - 演示SELECT语句的两种用法.mp4
│  │  │  │      19.sql - 演示INSERT INTO语句的使用.mp4
│  │  │  │      20.sql - 演示UPDATE语句的使用.mp4
│  │  │  │      21.sql - 演示DELETE语句的使用.mp4
│  │  │  │      22.sql - 演示WHERE子句的使用.mp4
│  │  │  │      23.sql - 演示AND和OR运算符的使用.mp4
│  │  │  │      24.sql - 演示ORDER BY子句的基本使用.mp4
│  │  │  │      25.sql - 演示ORDER BY的多重排序.mp4
│  │  │  │      26.sql - 演示COUNT函数的使.mp4
│  │  │  │      27.sql - 演示如何使用AS关键字为列设置别名.mp4
│  │  │  │      28.sql - 演示如何保存和打开.sql的文件.mp4
│  │  │  │      
│  │  │  └─6-4 mysql模块
│  │  │          29.mysql模块 - 了解在项目中操作MySQL数据.mp4
│  │  │          30.mysql模块 - 安装与配置mysql模块.mp4
│  │  │          31.mysql模块 - 测试mysql模块能否正常工作.mp4
│  │  │          32.mysql模块 - 使用SELECT语句查询数据.mp4
│  │  │          33.mysql模块 - 使用INSERT INTO语句插入数据.mp4
│  │  │          34.mysql模块 - 说明id的唯一性.mp4
│  │  │          35.mysql模块 - 演示插入数据的便捷方式.mp4
│  │  │          36.mysql模块 - 使用UPDATE语句更新数据.mp4
│  │  │          37.mysql模块 - 演示更新数据的便捷方式.mp4
│  │  │          38.mysql模块 - 使用DELETE语句删除数据.mp4
│  │  │          39.mysql模块 - 演示如何实现标记删除.mp4
│  │  │          
│  │  ├─07、第七章 身份认证
│  │  │  ├─7-1 web开发模式
│  │  │  │      01.web开发模式 - 了解服务端渲染的概念及优缺.mp4
│  │  │  │      02.web开发模式 - 了解前后端分离的概念及优缺.mp4
│  │  │  │      03.web开发模式 - 如何选择web开发模式.mp4
│  │  │  │      
│  │  │  ├─7-2 身份认证+session
│  │  │  │      04.身份认证 - 什么是身份认证.mp4
│  │  │  │      05.身份认证 - 了解为什么需要身份认证以及身份.mp4
│  │  │  │      06.session - 了解HTTP协议的无状态性.mp4
│  │  │  │      07.session - 如何突破HTTP无状态的限制.mp4
│  │  │  │      08.session - 什么是cookie.mp4
│  │  │  │      09.session - cookie在身份认证中的作用.mp4
│  │  │  │      10.session - cookie不具有安全性.mp4
│  │  │  │      11.session - 提高身份认证的安全性.mp4
│  │  │  │      12.session - 介绍session的工作原理.mp4
│  │  │  │      13.session - 安装并配置express-session中间件.mp4
│  │  │  │      14.session - 向session中存数据.mp4
│  │  │  │      15.session - 从session中取数据.mp4
│  │  │  │      16.session - 清空session.mp4
│  │  │  │      17.session - 演示session案例的效果并梳理实.mp4
│  │  │  │      
│  │  │  └─7-3 jwt
│  │  │          18.jwt - 了解session认证的局限性以及jwt的概.mp4
│  │  │          19.jwt - 了解jwt的工作原理.mp4
│  │  │          20.jwt - 了解jwt的三个组成部分以及各自代表的.mp4
│  │  │          21.jwt - 了解jwt的使用方式.mp4
│  │  │          22.jwt - 安装并导入jwt相关的包.mp4
│  │  │          23.jwt - 定义secret秘钥.mp4
│  │  │          24.jwt - 调用jsonwebtoken提供的sign方法生成.mp4
│  │  │          25.jwt - 将jwt字符串还原为json对象.mp4
│  │  │          26.jwt - 使用req.user获取用户信息.mp4
│  │  │          27.jwt - 捕获解析jwt失败后产生的错误.mp4
│  │  │          
│  │  └─08、第八章 大事件后台管理系统项目
│  │      ├─8-1 准备工作
│  │      │      01.准备工作 - 项目介绍.mp4
│  │      │      02.准备工作 - 初始化项目结构.mp4
│  │      │      03.准备工作 - 使用GitHub管理大事件的项目.mp4
│  │      │      04.准备工作 - 安装VSCode的Live Server插件辅.mp4
│  │      │      
│  │      ├─8-10 删除文章
│  │      │      21.删除文章 - 实现删除文章的功能.mp4
│  │      │      22.删除文章 - 分析删除文章时存在的问题.mp4
│  │      │      23.删除文章 - 判断页面中是否还有剩余数据.mp4
│  │      │      24.删除文章 - 实现页码值-1的操作.mp4
│  │      │      
│  │      ├─8-11 发布文章
│  │      │      25.发布文章 - 创建文章发布页面的基本结构.mp4
│  │      │      26.发布文章 - 新建基本的表单结构.mp4
│  │      │      27.发布文章 - 渲染文章类别对应的下拉选择框.mp4
│  │      │      28.发布文章 - 渲染富文本编辑器.mp4
│  │      │      29.发布文章 - 渲染封面裁剪区域.mp4
│  │      │      30.发布文章 - 渲染提交按钮区域.mp4
│  │      │      31.发布文章 - 点击选择封面按钮打开文件选择.mp4
│  │      │      32.发布文章 - 将选择的图片设置到裁剪区域中.mp4
│  │      │      33.发布文章 - 分析发布文章的实现步骤.mp4
│  │      │      34.发布文章 - 基于Form表单创建FormData对象.mp4
│  │      │      35.发布文章 - 将裁剪后的封面追加到FormData.mp4
│  │      │      36.发布文章 - 发起Ajax请求实现发布文章的功能.mp4
│  │      │      37.将开发完成的项目代码推送到GitHub.mp4
│  │      │      
│  │      ├─8-2 登录注册
│  │      │      05.登录注册 - 绘制login页面的基本结构.mp4
│  │      │      06.登录注册 - 实现登录和注册的按需切换.mp4
│  │      │      07.登录注册 - 绘制登录表单的基本结构.mp4
│  │      │      08.登录注册 - 美化登录表单的样式.mp4
│  │      │      09.登录注册 - 绘制文本框前面的小图标.mp4
│  │      │      10.登录注册 - 快速绘制注册的表单.mp4
│  │      │      11.登录注册 - 为表单项添加验证规则.mp4
│  │      │      12.登录注册 - 自定义校验规则.mp4
│  │      │      13.登录注册 - 为注册表单设置校验规则.mp4
│  │      │      14.登录注册 - 调用接口发起注册用户的请求.mp4
│  │      │      15.登录注册 - 使用layer提示消息.mp4
│  │      │      16.登录注册 - 调用接口发起登录的请求.mp4
│  │      │      17.登录注册 - 在ajaxPrefilter中统一拼接请求的.mp4
│  │      │      18.登录注册 - 提交login分支的代码到GitHub.mp4
│  │      │      【补充】大事件项目接口说明.mp4
│  │      │      
│  │      ├─8-3 后台主页
│  │      │      01.后台主页 - 获取用户的基本信息.mp4
│  │      │      02.后台主页 - 渲染用户头像.mp4
│  │      │      03.后台主页 - 统一为有权限的接口设置headers.mp4
│  │      │      04.后台主页 - 实现退出功能.mp4
│  │      │      05.后台主页 - 控制用户的访问权限.mp4
│  │      │      06.后台主页 - 优化权限控制的代码.mp4
│  │      │      07.后台主页 - 将本地仓库中的代码合并到GitH.mp4
│  │      │      19.后台主页 - 快速实现后台主页的布局效果.mp4
│  │      │      20.后台主页 - 修改侧边栏的结构.mp4
│  │      │      21.后台主页 - 使用lay-shrink实现左侧菜单互斥.mp4
│  │      │      22.后台主页 - 为菜单项添加图标.mp4
│  │      │      23.后台主页 - 了解iframe标签如何使用.mp4
│  │      │      24.后台主页 - 使用iframe标签在内容主体区域显.mp4
│  │      │      25.后台主页 - 解决3个小问题.mp4
│  │      │      26.后台主页 - 渲染图片头像和文字头像.mp4
│  │      │      
│  │      ├─8-4 基本资料
│  │      │      08.基本资料 - 创建基本资料对应的页面.mp4
│  │      │      09.基本资料 - 绘制基本资料对应的表单.mp4
│  │      │      10.基本资料 - 获取用户的基本信息.mp4
│  │      │      11.基本资料 - 使用form.val方法快速为表单赋值.mp4
│  │      │      12.基本资料 - 实现表单的重置效果.mp4
│  │      │      13.基本资料 - 发起请求更新用户的信息.mp4
│  │      │      
│  │      ├─8-5 重置密码
│  │      │      14.重置密码 - 渲染重置密码的页面结构.mp4
│  │      │      15.重置密码 - 为密码框定义校验规则.mp4
│  │      │      16.重置密码 - 发起请求实现重置密码的功能.mp4
│  │      │      
│  │      ├─8-6 更换头像
│  │      │      17.更换头像 - 初步渲染更换头像页面的结构.mp4
│  │      │      18.更换头像 - 快速初始化头像裁剪区域.mp4
│  │      │      19.更换头像 - 实现选择文件的功能.mp4
│  │      │      20.更换头像 - 实现裁剪区域图片的替换.mp4
│  │      │      21.更换头像 - 将裁剪后的头像上传到服务器.mp4
│  │      │      22.更换头像 - 了解base64格式的图片.mp4
│  │      │      23.更换头像 - 设置头部区域的快捷方式.mp4
│  │      │      24.更换头像 - 将本地的代码推送到GitHub.mp4
│  │      │      
│  │      ├─8-7 文章类别
│  │      │      01.文章类别 - 点击编辑按钮展示修改文章分类.mp4
│  │      │      02.文章类别 - 为修改文章分类的弹出层填充表单.mp4
│  │      │      03.文章类别 - 更新文章分类的数据.mp4
│  │      │      04.文章类别 - 删除文章分类.mp4
│  │      │      25.文章类别 - 创建并显示文章类别页面.mp4
│  │      │      26.文章类别 - 快速绘制文章类别页面的基本结构.mp4
│  │      │      27.文章类别 - 获取并使用模板引擎渲染表格的.mp4
│  │      │      28.文章类别 - 使用layer.open实现弹出层效果.mp4
│  │      │      30.文章类别 - 实现添加文章分类的功能.mp4
│  │      │      
│  │      ├─8-8 文章列表
│  │      │      05.文章列表 - 创建文章列表页面.mp4
│  │      │      06.文章列表 - 定义查询参数对象q.mp4
│  │      │      07.文章列表 - 请求文章列表数据并使用模板引.mp4
│  │      │      08.文章列表 - 定义美化时间格式的过滤器.mp4
│  │      │      09.文章列表 - 绘制筛选区域的UI结构.mp4
│  │      │      10.文章列表 - 发起请求获取并渲染文章分类的下.mp4
│  │      │      11.文章列表 - 使用form.render方法重新渲染表单区域的UI结构.mp4
│  │      │      12.文章列表 - 实现筛选的功能.mp4
│  │      │      
│  │      └─8-9 分页
│  │              13.分页 - 定义渲染分页的renderPage方法.mp4
│  │              14.分页 - 调用laypage.render方法渲染分页的.mp4
│  │              15.分页 - 在jump回调函数中通过obj.curr获取.mp4
│  │              16.分页 - 演示直接调用initTable方法时死循环.mp4
│  │              17.分页 - 分析jump回调函数发生死循环的原因.mp4
│  │              18.分页 - 解决jump回调函数发生死循环的问题.mp4
│  │              19.分页 - 自定义分页的功能项.mp4
│  │              20.分页 - 实现切换每页展示多少条数据的功能.mp4
│  │              
│  ├─05、阶段五 Vue.js项目实战开发
│  │  ├─01、第一章 webpack+vue基础
│  │  │  ├─1-1 vue前置知识-ES6模块化
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.ES6模块化 - 什么是ES6模块化.mp4
│  │  │  │      02.ES6模块化 - 在node.js中体验ES6模块化.mp4
│  │  │  │      03.ES6模块化 - 默认导出与默认导入.mp4
│  │  │  │      04.ES6模块化 - 默认导出与默认导入的注意事项.mp4
│  │  │  │      05.ES6模块化 - 按需导出与按需导入.mp4
│  │  │  │      06.ES6模块化 - 按需导出与按需导入的注意事项.mp4
│  │  │  │      07.ES6模块化 - 直接导入并执行模块中的代码.mp4
│  │  │  │      
│  │  │  ├─1-10 webpack处理图片和字体图标文件
│  │  │  │      13_webpack处理图片_配置asset.mp4
│  │  │  │      14_webpack处理图片_优点和缺点.mp4
│  │  │  │      15_webpack处理字体图标文件.mp4
│  │  │  │      16_webpack加载器_babel降级js语法.mp4
│  │  │  │      
│  │  │  ├─1-11 webpack开发服务器
│  │  │  │      17_webpack_开发服务器概述.mp4
│  │  │  │      18_webpack_开发服务器_基础使用.mp4
│  │  │  │      19_webpack_开发服务器_相关配置.mp4
│  │  │  │      20_今日总结_作业布置.mp4
│  │  │  │      上午总结.mp4
│  │  │  │      复习_git克隆分支.mp4
│  │  │  │      
│  │  │  ├─1-12 Vue介绍
│  │  │  │      01_vue_为什么学.mp4
│  │  │  │      02_vue_是什么.mp4
│  │  │  │      03_vue_开发方式_学习方法.mp4
│  │  │  │      
│  │  │  ├─1-13 Vue脚手架介绍
│  │  │  │      04_vue_脚手架环境介绍.mp4
│  │  │  │      05_vue_安装全局包.mp4
│  │  │  │      06_vue_创建脚手架项目_启动.mp4
│  │  │  │      07_vue_脚手架文件说明.mp4
│  │  │  │      
│  │  │  ├─1-14 Vue配置
│  │  │  │      08_vue_主要的3个文件和关系.mp4
│  │  │  │      09_vue_开发服务器_自定义配置.mp4
│  │  │  │      10_vue_eslint简介_暂时关闭设置.mp4
│  │  │  │      
│  │  │  ├─1-15 Vue单文件开发
│  │  │  │      11_vue_单vue文件开发方式介绍.mp4
│  │  │  │      12_vue_清空脚手架欢迎界面.mp4
│  │  │  │      13_阶段小结_总结脚手架项目环境.mp4
│  │  │  │      
│  │  │  ├─1-16 Vue指令(一)
│  │  │  │      14_vue基础语法_插值表达式.mp4
│  │  │  │      15_vue基础语法_MVVM设计模式.mp4
│  │  │  │      16_vue指令_v-bind.mp4
│  │  │  │      17_vue指令_v-on绑定事件.mp4
│  │  │  │      18_vue事件_接收事件对象.mp4
│  │  │  │      19_vue事件_修饰符.mp4
│  │  │  │      20_vue按键_修饰符.mp4
│  │  │  │      21_课上练习_翻转世界.mp4
│  │  │  │      
│  │  │  ├─1-17 Vue指令(二)
│  │  │  │      22_vue指令_v-model基础使用.mp4
│  │  │  │      23_vue指令_v-model绑定不同表单标签.mp4
│  │  │  │      24_vue指令_v-model修饰符.mp4
│  │  │  │      25_vue指令_v-text和v-html.mp4
│  │  │  │      26_vue指令_v-show和v-if的使用.mp4
│  │  │  │      27_案例_折叠面板.mp4
│  │  │  │      28_v-for的使用.mp4
│  │  │  │      29_今日总结_作业布置.mp4
│  │  │  │      
│  │  │  ├─1-18 补充和总结
│  │  │  │      今日_上午总结.mp4
│  │  │  │      补充_js里引入图片.mp4
│  │  │  │      补充_笔记分享.mp4
│  │  │  │      
│  │  │  ├─1-19 v-for更新监测
│  │  │  │      01_v-for_更新监测.mp4
│  │  │  │      02_v-for_更新性能_为何高.mp4
│  │  │  │      昨日反馈_new补充讲解.mp4
│  │  │  │      昨日复习.mp4
│  │  │  │      
│  │  │  ├─1-2 vue前置知识-Promise
│  │  │  │      08.Promise - 回调地狱以及Promise的作用.mp4
│  │  │  │      09.Promise - Promise的基本概念.mp4
│  │  │  │      10.Promise - 基于then-fs异步的读取文件内容.mp4
│  │  │  │      11.Promise - 基于Promise按顺序读取文件的内容.mp4
│  │  │  │      12.Promise - 通过.catch方法捕获错误.mp4
│  │  │  │      13.Promise - Promise.all和Promise.race方法的.mp4
│  │  │  │      14.Promise - 基于Promise封装异步读文件的.mp4
│  │  │  │      15.Promise - 基于Promise封装异步读文件的方.mp4
│  │  │  │      
│  │  │  ├─1-20 虚拟DOM+Diff算法
│  │  │  │      03_虚拟DOM.mp4
│  │  │  │      04_diff算法.mp4
│  │  │  │      05_key作用.mp4
│  │  │  │      06_阶段小结.mp4
│  │  │  │      
│  │  │  ├─1-21 动态样式绑定和案例
│  │  │  │      07_动态clas.mp4
│  │  │  │      08_动态style.mp4
│  │  │  │      09_案例_品牌管理_铺设.mp4
│  │  │  │      10_案例_品牌管理_新增.mp4
│  │  │  │      11_案例_品牌管理_删除.mp4
│  │  │  │      
│  │  │  ├─1-22 过滤器+案例
│  │  │  │      12_过滤器_基础.mp4
│  │  │  │      13_过滤器_更多用法.mp4
│  │  │  │      14_案例_品牌管理_时间过滤器.mp4
│  │  │  │      
│  │  │  ├─1-23 计算属性+案例
│  │  │  │      15_计算属性_基础.mp4
│  │  │  │      16_计算属性_缓存特性.mp4
│  │  │  │      17_案例_品牌管理_总价和均价.mp4
│  │  │  │      18_计算属性_完整写法.mp4
│  │  │  │      
│  │  │  ├─1-24 全选和反选案例
│  │  │  │      19_案例_小选框影响全选.mp4
│  │  │  │      20_案例_全选框影响小选.mp4
│  │  │  │      21_案例_反选.mp4
│  │  │  │      
│  │  │  ├─1-25 侦听器+案例
│  │  │  │      22_侦听器_基础.mp4
│  │  │  │      23_侦听器_深度侦听.mp4
│  │  │  │      24_案例_品牌管理_数据缓存.mp4
│  │  │  │      25_今日总结_作业布置.mp4
│  │  │  │      上午总结.mp4
│  │  │  │      
│  │  │  ├─1-26 Vue组件
│  │  │  │      01_为什么要使用组件.mp4
│  │  │  │      02_组件基本概念.mp4
│  │  │  │      03_组件_基本使用4步.mp4
│  │  │  │      04_scoped作用过程.mp4
│  │  │  │      昨日反馈.mp4
│  │  │  │      昨日复习.mp4
│  │  │  │      
│  │  │  ├─1-27 组件通信
│  │  │  │      05_组件通信_父向子.mp4
│  │  │  │      06_组件通信_父向子_配合循环.mp4
│  │  │  │      07_组件通信_单向数据流.mp4
│  │  │  │      08_组件通信_子向父.mp4
│  │  │  │      09_组件通信_跨组件传值.mp4
│  │  │  │      09_阶段小结.mp4
│  │  │  │      上午总结.mp4
│  │  │  │      
│  │  │  ├─1-28 todo案例
│  │  │  │      10_todo案例_项目创建_静态页面准备.mp4
│  │  │  │      11_todo案例_铺设待办任务.mp4
│  │  │  │      12_todo案例_添加任务.mp4
│  │  │  │      13_todo案例_删除任务.mp4
│  │  │  │      14_todo案例_统计任务数量.mp4
│  │  │  │      15_todo案例_筛选显示任务.mp4
│  │  │  │      16_todo案例_清除已完成.mp4
│  │  │  │      17_todo案例_数据缓存.mp4
│  │  │  │      18_todo案例_全选.mp4
│  │  │  │      19_今日总结_作业布置.mp4
│  │  │  │      
│  │  │  ├─1-29 Vue生命周期
│  │  │  │      01_vue的生命周期.mp4
│  │  │  │      02_vue的钩子函数.mp4
│  │  │  │      03_钩子函数_初始化阶段.mp4
│  │  │  │      04_钩子函数_挂载阶段.mp4
│  │  │  │      05_钩子函数_更新阶段.mp4
│  │  │  │      06_钩子函数_销毁阶段.mp4
│  │  │  │      昨日反馈.mp4
│  │  │  │      昨日复习.mp4
│  │  │  │      
│  │  │  ├─1-3 vue前置知识-async和await
│  │  │  │      16.async和await - 了解async和await的基本使用.mp4
│  │  │  │      17.async和await - async和await的使用注意事项.mp4
│  │  │  │      
│  │  │  ├─1-30 axios
│  │  │  │      07_axios的介绍.mp4
│  │  │  │      08_axios_获取所有图书_get请求.mp4
│  │  │  │      09_axios_获取某本图书_get传参.mp4
│  │  │  │      10_axios_添加书籍_post传参.mp4
│  │  │  │      11_axios_全局默认配置基地址.mp4
│  │  │  │      上午总结.mp4
│  │  │  │      
│  │  │  ├─1-31 ref属性
│  │  │  │      12_ref获取原生DOM元素.mp4
│  │  │  │      13_ref属性_组件对象.mp4
│  │  │  │      
│  │  │  ├─1-32 nextTick+name属性
│  │  │  │      14_nextTick基础使用.mp4
│  │  │  │      15_nextTick使用场景.mp4
│  │  │  │      16_组件里name属性作用.mp4
│  │  │  │      
│  │  │  ├─1-33 购物车案例
│  │  │  │      17_购物车案例_项目初始化.mp4
│  │  │  │      18_购物车案例_头部自定义.mp4
│  │  │  │      19_购物车案例_请求数据.mp4
│  │  │  │      20_购物车案例_数据铺设.mp4
│  │  │  │      21_购物车案例_商品选中效果.mp4
│  │  │  │      22_购物车案例_商品数量控制.mp4
│  │  │  │      23_购物车案例_全选.mp4
│  │  │  │      24_购物车案例_总数量.mp4
│  │  │  │      25_购物车案例_总价.mp4
│  │  │  │      26_今日总结_作业布置.mp4
│  │  │  │      昨日复习_昨日反馈.mp4
│  │  │  │      
│  │  │  ├─1-34 组件缓存
│  │  │  │      01_动态组件.mp4
│  │  │  │      02_组件缓存.mp4
│  │  │  │      03_组件缓存_激活的钩子函数.mp4
│  │  │  │      
│  │  │  ├─1-35 插槽
│  │  │  │      04_组件插槽.mp4
│  │  │  │      05_组件插槽_默认内容.mp4
│  │  │  │      07_作用域插槽.mp4
│  │  │  │      08_作用域插槽_使用场景.mp4
│  │  │  │      上午总结.mp4
│  │  │  │      
│  │  │  ├─1-36 自定义指令
│  │  │  │      09_自定义指令.mp4
│  │  │  │      10_自定义指令传值.mp4
│  │  │  │      
│  │  │  ├─1-37 tabar案例
│  │  │  │      11_tabbar案例_项目初始化_组件复用.mp4
│  │  │  │      12_tabbar案例_底部封装.mp4
│  │  │  │      13_tabbar案例_点谁谁亮.mp4
│  │  │  │      14_tabbar案例_组件切换.mp4
│  │  │  │      15_tabbar案例_请求数据_铺设表格.mp4
│  │  │  │      16_tabbar案例_插槽使用.mp4
│  │  │  │      17_tabbar案例_tags铺设.mp4
│  │  │  │      18_tabbar案例_删除数据.mp4
│  │  │  │      19_tabbar案例_创建tags.mp4
│  │  │  │      20_今日总结.mp4
│  │  │  │      
│  │  │  ├─1-38 Vue路由(一)
│  │  │  │      01_什么是路由.mp4
│  │  │  │      02_为什么要学路由.mp4
│  │  │  │      03_如何使用路由.mp4
│  │  │  │      04_组件分类.mp4
│  │  │  │      05_vue-router基础使用.mp4
│  │  │  │      06_声明式导航_基础使用.mp4
│  │  │  │      07_声明式导航_跳转传值.mp4
│  │  │  │      昨日反馈.mp4
│  │  │  │      昨日复习.mp4
│  │  │  │      
│  │  │  ├─1-39 Vue路由(二
│  │  │  │      08_路由重定向.mp4
│  │  │  │      09_路由404设置.mp4
│  │  │  │      10_路由模式修改.mp4
│  │  │  │      11_编程式导航.mp4
│  │  │  │      12_编程式导航_传参.mp4
│  │  │  │      13_路由嵌套.mp4
│  │  │  │      14_激活类名的区别.mp4
│  │  │  │      15_路由守卫.mp4
│  │  │  │      
│  │  │  ├─1-4 vue前置知识-EventLoop
│  │  │  │      18.EventLoop - 同步任务和异步任务.mp4
│  │  │  │      19.EventLoop - 同步任务和异步任务的执行过程.mp4
│  │  │  │      20.EventLoop - EventLoop的概念及经典面试题.mp4
│  │  │  │      
│  │  │  ├─1-40 Vant组件库
│  │  │  │      16_vant组件库_介绍.mp4
│  │  │  │      17_vant组件库_全部引入.mp4
│  │  │  │      18_vant组件库_手动按需引入.mp4
│  │  │  │      20_vant组件库_弹出框.mp4
│  │  │  │      21_vant组件库_登陆表单.mp4
│  │  │  │      22_今日总结.mp4
│  │  │  │      
│  │  │  ├─1-41 网易云音乐项目初始化
│  │  │  │      1.0_网易云音乐_本地接口.mp4
│  │  │  │      1.1_网易云音乐_本地接口启动.mp4
│  │  │  │      1.2_网易云音乐_前端项目初始化.mp4
│  │  │  │      1.3_网易云音乐_需求分析.mp4
│  │  │  │      1.4_网易云音乐_路由准备.mp4
│  │  │  │      
│  │  │  ├─1-42 TabBar+NavBar+网络请求封装
│  │  │  │      1.5_网易云音乐_TabBar组件.mp4
│  │  │  │      1.6_网易云音乐_NavBar导航组件.mp4
│  │  │  │      1.7_网易云音乐_NavBar标题切换.mp4
│  │  │  │      1.8_网易云音乐_网络请求封装.mp4
│  │  │  │      
│  │  │  ├─1-43 推荐歌单+搜索关键字
│  │  │  │      1.10_网易云音乐_首页_最新音乐.mp4
│  │  │  │      1.11_网易云音乐_搜索_热搜关键字.mp4
│  │  │  │      1.12_网易云音乐_搜索_点击热搜_搜索结果.mp4
│  │  │  │      1.9_网易云音乐_首页_推荐歌单.mp4
│  │  │  │      
│  │  │  ├─1-44 搜索加载更多
│  │  │  │      1.13_网易云音乐_输入框_搜索结果.mp4
│  │  │  │      1.14_网易云音乐_搜索结果_加载更多.mp4
│  │  │  │      1.15_网易云音乐_加载更多_bug修复.mp4
│  │  │  │      
│  │  │  ├─1-45 播放音乐
│  │  │  │      1.16_网易云音乐_输入框_防抖.mp4
│  │  │  │      1.17_网易云音乐_页码bug修复.mp4
│  │  │  │      1.18_网易云音乐_Layout边距修复.mp4
│  │  │  │      1.19_网易云音乐_SongItem封装.mp4
│  │  │  │      1.20_网易云音乐_播放音乐.mp4
│  │  │  │      1.21_网易云音乐_vant适配.mp4
│  │  │  │      
│  │  │  ├─1-5 vue前置知识-宏任务和微任务
│  │  │  │      21.宏任务和微任务 - 宏任务与微任务的概念.mp4
│  │  │  │      22.宏任务和微任务 - 举例分析宏任务和微任务的.mp4
│  │  │  │      23.宏任务和微任务 - 经典面试题 - 1.mp4
│  │  │  │      24.宏任务和微任务 - 经典面试题 - 2.mp4
│  │  │  │      
│  │  │  ├─1-6 vue前置知识案例-API接口案例
│  │  │  │      25.API接口案例 - 初始化项目.mp4
│  │  │  │      26.API接口案例 - 创建db数据库操作模块.mp4
│  │  │  │      27.API接口案例 - 创建user_ctrl模块.mp4
│  │  │  │      28.API接口案例 - 创建并使用user_router路由模.mp4
│  │  │  │      29.API接口案例 - 使用try…catch捕获异常错误.mp4
│  │  │  │      30.总结.mp4
│  │  │  │      
│  │  │  ├─1-7 webpack基本使用
│  │  │  │      01_webpack_为何学.mp4
│  │  │  │      02_webpack_基本概述.mp4
│  │  │  │      03_webpack_使用前_准备工作.mp4
│  │  │  │      04_webpack_基本使用_打包2个js文件.mp4
│  │  │  │      
│  │  │  ├─1-8 webpack打包
│  │  │  │      05_webpack_更新打包_重新打包.mp4
│  │  │  │      06_webpack_修改默认入口和出口.mp4
│  │  │  │      07_webpack_打包流程.mp4
│  │  │  │      08_webpack案例_隔行变色.mp4
│  │  │  │      09_webpack插件_自动生成html文件.mp4
│  │  │  │      10_webpack_打包css文件问题.mp4
│  │  │  │      
│  │  │  └─1-9 webpack加载器
│  │  │          11_webpack加载器_打包css文件.mp4
│  │  │          12_webpack加载器_打包less文件.mp4
│  │  │          
│  │  ├─02、第二章 社交媒体-黑马头条项目
│  │  │  ├─2-1 Vuex
│  │  │  │      1.Vuex基础-介绍.mp4
│  │  │  │      10.1设计categtory和newlist的vuex模块.mp4
│  │  │  │      10.2分类模块下设置分类数组和当前激活分类.mp4
│  │  │  │      10.3遍历分类数据并判断激活class.mp4
│  │  │  │      10.4封装调用获取分类action,激活第一个分类.mp4
│  │  │  │      10.5定义新闻数据,并封装获取新闻的Action.mp4
│  │  │  │      10.6监听激活分类,触发获取新闻Action.mp4
│  │  │  │      10.7处理显示新闻内容的数据.mp4
│  │  │  │      2.vuex基础-初始化功能.mp4
│  │  │  │      3.vuex基础-state.mp4
│  │  │  │      4.vuex基础-mutations.mp4
│  │  │  │      5.vuex基础-actions.mp4
│  │  │  │      6.vuex基础-getters.mp4
│  │  │  │      7.1为什么会有模块化.mp4
│  │  │  │      7.2模块化的简单应用.mp4
│  │  │  │      7.3模块化中的命名空间.mp4
│  │  │  │      8.vuex案例-搭建黑马头条项目.mp4
│  │  │  │      9.vuex案例-封装分类组件和频道组件.mp4
│  │  │  │      
│  │  │  ├─2-10 编辑用户资料
│  │  │  │      01 编辑用户资料-修改头像-功能介绍.mp4
│  │  │  │      02 编辑用户资料-修改头像-图片上传预览(处理file-input).mp4
│  │  │  │      03 编辑用户资料-修改头像-图片上传预览(功能.mp4
│  │  │  │      04 编辑用户资料-修改头像-图片上传预览(样式处理).mp4
│  │  │  │      05 编辑用户资料-修改头像-图片裁切(初始化).mp4
│  │  │  │      06 编辑用户资料-修改头像-图片裁切(配置说明).mp4
│  │  │  │      07 编辑用户资料-修改头像-图片裁切(获取结果.mp4
│  │  │  │      08 编辑用户资料-修改头像-图片裁切(处理完.mp4
│  │  │  │      13 编辑用户资料-模块介绍.mp4
│  │  │  │      14 编辑用户资料-创建页面组件并配置路由.mp4
│  │  │  │      15 编辑用户资料-页面布局.mp4
│  │  │  │      16 编辑用户资料-展示用户信息.mp4
│  │  │  │      17 编辑用户资料-修改昵称-处理弹出层.mp4
│  │  │  │      18 编辑用户资料-修改昵称-内容组件.mp4
│  │  │  │      19 编辑用户资料-修改昵称-内容布局.mp4
│  │  │  │      20 编辑用户资料-修改昵称-数据处理.mp4
│  │  │  │      21 编辑用户资料-修改昵称-处理完成.mp4
│  │  │  │      22 编辑用户资料-修改性别.mp4
│  │  │  │      23 编辑用户资料-修改生日-准备.mp4
│  │  │  │      24 编辑用户资料-修改生日-处理完成.mp4
│  │  │  │      
│  │  │  ├─2-2 项目初始化
│  │  │  │      00-项目演示.mp4
│  │  │  │      01 项目初始化-模块介绍.mp4
│  │  │  │      02 项目初始化-使用VueCLI创建项目.mp4
│  │  │  │      03 项目初始化-加入Git版本管理.mp4
│  │  │  │      04 项目初始化-调整初始目录结构.mp4
│  │  │  │      05 项目初始化-导入图标素材.mp4
│  │  │  │      06 项目初始化-引入Vant组件库.mp4
│  │  │  │      07 项目初始化-移动端REM适配.mp4
│  │  │  │      08 项目初始化-移动端REM适配(关于PostCS.mp4
│  │  │  │      09 项目初始化-封装请求模块.mp4
│  │  │  │      
│  │  │  ├─2-3 登录注册
│  │  │  │      01 登录注册-登录状态提示.mp4
│  │  │  │      02 登录注册-表单验证.mp4
│  │  │  │      03 登录注册-发送验证码-验证手机号.mp4
│  │  │  │      04 登录注册-发送验证码-使用倒计时组件.mp4
│  │  │  │      05 登录注册-验证码处理-发送验证码.mp4
│  │  │  │      06 登录注册-处理用户Token.mp4
│  │  │  │      07 登录注册-封装本地存储操作模块.mp4
│  │  │  │      08 登录注册-关于Token过期问题.mp4
│  │  │  │      10 项目初始化-模块总结.mp4
│  │  │  │      11 登录注册-模块介绍.mp4
│  │  │  │      13 登录注册-准备-布局结构.mp4
│  │  │  │      14 登录注册-准备-布局样式.mp4
│  │  │  │      15 登录注册-实现基本登录功能.mp4
│  │  │  │      黑马头条接口问题说明【重要,后续接口有问题,可以使用备用接口】.mp4
│  │  │  │      
│  │  │  ├─2-4 个人中心
│  │  │  │      09 个人中心-模块介绍.mp4
│  │  │  │      10 个人中心-TabBar处理.mp4
│  │  │  │      11 个人中心-页面布局-顶部未登录.mp4
│  │  │  │      12 个人中心-页面布局-顶部已登录状态.mp4
│  │  │  │      13 个人中心-页面布局-宫格导航.mp4
│  │  │  │      14 个人中心-处理页面显示状态.mp4
│  │  │  │      15 个人中心-用户退出.mp4
│  │  │  │      16 个人中心-展示当前登录用户信息.mp4
│  │  │  │      17 个人中心-优化设置Token.mp4
│  │  │  │      补充】个人中心-页面布局-消息通知和小智.mp4
│  │  │  │      
│  │  │  ├─2-5 首页-展示文章列表
│  │  │  │      01 首页-文章列表项-样式调整.mp4
│  │  │  │      01 首页-页面布局-头部导航栏.mp4
│  │  │  │      02 首页-处理文章频道列表-使用Tab标签页组件.mp4
│  │  │  │      02 首页-文章列表项-关于第三方图片资源403问.mp4
│  │  │  │      03 首页-处理文章频道列表-样式调整(基础样式).mp4
│  │  │  │      03 首页-文章列表项-处理相对时间(初始化Day.mp4
│  │  │  │      04 首页-文章列表项-处理相对时间(处理完成).mp4
│  │  │  │      04-首页-处理文章频道列表-样式调整(处理汉堡.mp4
│  │  │  │      06 首页-文章列表-创建列表组件.mp4
│  │  │  │      07 首页 展示文章列表-使用List列表组件.mp4
│  │  │  │      08 首页-展示文章列表-请求获取数据.mp4
│  │  │  │      09 首页-展示文章列表-处理响应结果.mp4
│  │  │  │      10 首页-展示文章列表-请求失败的处理.mp4
│  │  │  │      11 首页-展示文章列表-下拉刷新.mp4
│  │  │  │      12 首页-展示文章列表-头部固定定位.mp4
│  │  │  │      13 首页-展示文章列表-记住列表的滚动位置.mp4
│  │  │  │      14 首页-文章列表项-准备组件.mp4
│  │  │  │      15 首页-文章列表项-展示列表项内容.mp4
│  │  │  │      
│  │  │  ├─2-6 频道编辑
│  │  │  │      01 频道编辑-数据持久化-业务分析.mp4
│  │  │  │      02 频道编辑-数据持久化-添加频道.mp4
│  │  │  │      03 频道编辑-数据持久化-删除频道.mp4
│  │  │  │      04 频道编辑-正确的获取展示首页频道列表.mp4
│  │  │  │      05 频道编辑-模块介绍.mp4
│  │  │  │      06 文章搜索-创建组件并配置路由.mp4
│  │  │  │      06 频道编辑-使用弹出层组件.mp4
│  │  │  │      07 频道编辑-创建频道编辑组件.mp4
│  │  │  │      08 频道编辑-页面布局.mp4
│  │  │  │      09 频道编辑-样式调整.mp4
│  │  │  │      10 频道编辑-展示我的频道.mp4
│  │  │  │      11 频道编辑-处理激活频道高亮.mp4
│  │  │  │      12 频道编辑-展示推荐频道-获取所有频道.mp4
│  │  │  │      13 频道编辑-展示推荐频道-处理完成.mp4
│  │  │  │      14 频道编辑-添加频道.mp4
│  │  │  │      15 频道编辑-处理编辑状态.mp4
│  │  │  │      16 频道编辑-切换频道.mp4
│  │  │  │      17 频道编辑-删除频道.mp4
│  │  │  │      
│  │  │  ├─2-7 文章搜索
│  │  │  │      01 文章搜索-历史记录-添加历史记录.mp4
│  │  │  │      02 文章搜索-历史记录-展示历史记录.mp4
│  │  │  │      05 文章搜索-模块介绍.mp4
│  │  │  │      07 文章搜索-页面布局-搜索栏.mp4
│  │  │  │      08 文章搜索-页面布局-完成.mp4
│  │  │  │      09 文章搜索-处理页面展示逻辑.mp4
│  │  │  │      10 文章搜索-联想建议-获取并监视输入框内容.mp4
│  │  │  │      11 文章搜索-联想建议-请求获取展示数据.mp4
│  │  │  │      12 文章搜索-联想建议-优化防抖.mp4
│  │  │  │      13 文章搜索-联想建议-搜索关键字高亮-思路.mp4
│  │  │  │      14 文章搜索-联想建议-搜索关键字高亮.mp4
│  │  │  │      15 文章搜索-搜索结果-传递搜索内容.mp4
│  │  │  │      16 文章搜索-搜索结果-处理完成.mp4
│  │  │  │      
│  │  │  ├─2-8 文章详情
│  │  │  │      01 文章详情-关注用户(视图处理).mp4
│  │  │  │      02 文章详情-关注用户(实现基本功能.mp4
│  │  │  │      03 文章搜索-历史记录-处理删除显示状态.mp4
│  │  │  │      03 文章详情-关注用户(loading处理).mp4
│  │  │  │      04 文章搜索-历史记录-处理删除操作.mp4
│  │  │  │      04 文章详情-关注用户(组件封装).mp4
│  │  │  │      05 文章搜索-历史记录-数据持久.mp4
│  │  │  │      05 文章详情-关注用户(在组件上使用v-mod.mp4
│  │  │  │      06 文章详情-文章收藏(准备组件).mp4
│  │  │  │      06 文章详情-模块介绍.mp4
│  │  │  │      07 文章详情-创建组件并配置路由.mp4
│  │  │  │      07 文章详情-文章收藏(视图处理).mp4
│  │  │  │      08 文章详情-使用组件Props解耦路由参数.mp4
│  │  │  │      08 文章详情-文章收藏(处理完成.mp4
│  │  │  │      09 文章详情-文章点赞(准备组件).mp4
│  │  │  │      09 文章详情-页面布局.mp4
│  │  │  │      10 文章详情-文章点赞(处理完成).mp4
│  │  │  │      10 文章详情-请求获取文章数据(404).mp4
│  │  │  │      12 文章详情-关于后端返回数据中的大数字问题.mp4
│  │  │  │      13 文章详情-关于后端返回数据中的大数字问题.mp4
│  │  │  │      14 文章详情-展示文章详情.mp4
│  │  │  │      15 文章详情-处理内容加载状态.mp4
│  │  │  │      16 文章详情-关于文章正文的样式.mp4
│  │  │  │      17 文章详情-图片点击预览(使用ImagePreview 组件).mp4
│  │  │  │      18 文章详情-图片点击预览(处理完成).mp4
│  │  │  │      
│  │  │  └─2-9 文章评论
│  │  │          01 文章评论-评论回复-功能介绍.mp4
│  │  │          02 文章评论-评论回复-准备弹出层.mp4
│  │  │          03 文章评论-评论回复-点击回复展示弹出层.mp4
│  │  │          04 文章评论-评论回复-封装组件.mp4
│  │  │          05 文章评论-评论回复-将点击回复的评论项传递.mp4
│  │  │          06 文章评论-评论回复-处理头部及当前评论项.mp4
│  │  │          07 文章评论-评论回复-展示回复列表(基本处.mp4
│  │  │          08 文章评论-评论回复-展示回复列表(解决重复.mp4
│  │  │          09 文章评论-评论回复-展示回复列表(解决内容不重新获取问题).mp4
│  │  │          10 文章评论-评论回复-发布回复(处理底部视图.mp4
│  │  │          11 文章评论-模块介绍.mp4
│  │  │          11 文章评论-评论回复-发布回复(参数处理).mp4
│  │  │          12 文章评论-展示文章评论列表-准备组件.mp4
│  │  │          12 文章评论-评论回复-发布回复(处理完成).mp4
│  │  │          13 文章评论-展示文章评.mp4
│  │  │          14 文章评论-展示文章评论总数量.mp4
│  │  │          15 文章评论-评论列表项组件.mp4
│  │  │          16 文章评论-评论点赞-视图处理.mp4
│  │  │          17 文章评论-评论点赞-处理完成.mp4
│  │  │          18 文章评论-发布文章评论-准备弹出层.mp4
│  │  │          19 文章评论-发布文章评论-准备组件.mp4
│  │  │          20 文章评论-发布文章评论-请求发布.mp4
│  │  │          21 文章评论-发布文章评论-发布成功处理.mp4
│  │  │          22 文章评论-发布文章评论-空内容处理.mp4
│  │  │          
│  │  ├─03、第三章 HR-saas中台管理项目
│  │  │  ├─3-1 项目前置知识
│  │  │  │      1.1实现表单基本结构.mp4
│  │  │  │      1.2表单校验的先决条件.mp4
│  │  │  │      1.3表单校验规则.mp4
│  │  │  │      1.4自定义校验规则.mp4
│  │  │  │      1.5手动校验的实现.mp4
│  │  │  │      2.1关于Promise你必须知道几件事.mp4
│  │  │  │      2.异步编程的终极方案.mp4
│  │  │  │      
│  │  │  ├─3-10 权限设计和管理
│  │  │  │      1.权限设计-RBAC的权限设计思想.mp4
│  │  │  │      2.1新建分配角色窗体.mp4
│  │  │  │      2.2获取角色列表和当前用户角色.mp4
│  │  │  │      2.3给员工分配角色.mp4
│  │  │  │      3.1新建权限点管理页面.mp4
│  │  │  │      3.2获取权限数据并转化树形.mp4
│  │  │  │      3.3新增编辑权限的弹层.mp4
│  │  │  │      3.4新增,编辑,删除权限点.mp4
│  │  │  │      4.1新建分配权限弹出层1.mp4
│  │  │  │      4.1新建分配权限弹出层2.mp4
│  │  │  │      4.2给角色分配权限.mp4
│  │  │  │      5.1权限受控的主体思路.mp4
│  │  │  │      5.2新建Vuex中管理权限的模块.mp4
│  │  │  │      5.3Vuex筛选权限路由.mp4
│  │  │  │      5.4权限拦截出调用筛选权限Action.mp4
│  │  │  │      5.5静态路由动态路由解除合并.mp4
│  │  │  │      6. 登出时,重置路由权限和 404问题.mp4
│  │  │  │      7.1功能权限的受控思路.mp4
│  │  │  │      7.2使用Mixin技术将检查方法注入.mp4
│  │  │  │      
│  │  │  ├─3-11 首页
│  │  │  │      1.全模块集成.mp4
│  │  │  │      1.首页的页面结构.mp4
│  │  │  │      2.首页用户资料显示.mp4
│  │  │  │      3.1新建工作日历组件结构.mp4
│  │  │  │      3.2实现工作日历逻辑.mp4
│  │  │  │      4.1了解雷达图.mp4
│  │  │  │      4.2封装雷达图插件.mp4
│  │  │  │      5.审批流程业务的基本介绍.mp4
│  │  │  │      6.提交一个离职审批-弹层.mp4
│  │  │  │      6.提交一个离职审批-调用接口.mp4
│  │  │  │      
│  │  │  ├─3-12 多语言tab页
│  │  │  │      1.全屏插件的引用.mp4
│  │  │  │      2.动态主题的设置.mp4
│  │  │  │      3.1初始化多语言包-2.mp4
│  │  │  │      3.1初始化多语言包.mp4
│  │  │  │      3.2引入自定义语言包.mp4
│  │  │  │      3.3在左侧菜单中应用多语言包.mp4
│  │  │  │      3.4封装多语言插件.mp4
│  │  │  │      4.tab页的视图引入.mp4
│  │  │  │      
│  │  │  ├─3-13 项目打包上线
│  │  │  │      1.打包之前的路由模式.mp4
│  │  │  │      2.1性能分析.mp4
│  │  │  │      2.2webpack排除打包.mp4
│  │  │  │      2.3CDN文件配置.mp4
│  │  │  │      2.4注入CDN文件到模.mp4
│  │  │  │      3.1使用koa框架部署项目.mp4
│  │  │  │      3.2解决history页面访问问题.mp4
│  │  │  │      3.3解决生产环境跨域问题.mp4
│  │  │  │      
│  │  │  ├─3-2 项目基础环境搭建
│  │  │  │      1.vue-element-admin的了解和介绍.mp4
│  │  │  │      2.搭建项目前的一些基本准备.mp4
│  │  │  │      3.项目模板启动和目录介绍.mp4
│  │  │  │      4.1项目运行机制和代码注释-main.js.mp4
│  │  │  │      4.2项目运行机制和代码注释-App.vue.mp4
│  │  │  │      4.3项目运行机制和代码注释-permission.j.mp4
│  │  │  │      4.4项目运行机制和代码注释.mp4
│  │  │  │      4.5.6项目运行机制和代码注释-scss-icons.mp4
│  │  │  │      5.1SCSS处理的了解和使用-搭建小型的测试环境.mp4
│  │  │  │      5.2SCSS处理的了解和使用-基本语法.mp4
│  │  │  │      7.2api模块的单独封装.mp4
│  │  │  │      8.公共资源图片和统一样式.mp4
│  │  │  │      
│  │  │  ├─3-3 登录模块
│  │  │  │      1.设置固定的本地访问端口和网站名称.mp4
│  │  │  │      2.登录页面的基础布局.mp4
│  │  │  │      3.1表单校验的先决条件.mp4
│  │  │  │      3.2手机号和密码的校.mp4
│  │  │  │      3.3关于修饰符.mp4
│  │  │  │      4.1为什么会出现跨域.mp4
│  │  │  │      4.2开发环境解决跨越代理.mp4
│  │  │  │      5.封装单独的登录接口.mp4
│  │  │  │      6.2封装登录的Action.mp4
│  │  │  │      7.2处理axios的响应拦截器.mp4
│  │  │  │      8.登录页面调用登录action,处理异常.mp4
│  │  │  │      【补充说明】人资项目接口说明.mp4
│  │  │  │      
│  │  │  ├─3-4 主页模块
│  │  │  │      1.1权限拦截的流程图.mp4
│  │  │  │      1.2流程图转化代码.mp4
│  │  │  │      10.Token失效的被动处理.mp4
│  │  │  │      2.主页的左侧导航样式.mp4
│  │  │  │      3.设置头部内容的布局和样式.mp4
│  │  │  │      4. 获取用户资料接口和token注入.mp4
│  │  │  │      5.封装获取用户资料的action并共享用户状态.mp4
│  │  │  │      6.1权限拦截器调用action.mp4
│  │  │  │      6.2获取头像接口合并数据.mp4
│  │  │  │      7.2在main.js完成自定义指令全局注册.mp4
│  │  │  │      8.实现登出功能.mp4
│  │  │  │      9.1主动介入token处理的业务逻辑.mp4
│  │  │  │      9.2流程图转化代码.mp4
│  │  │  │      
│  │  │  ├─3-5 路由和页面
│  │  │  │      1.路由页面整理.mp4
│  │  │  │      2.1新建模块的页面和路由文件.mp4
│  │  │  │      2.2设置每个模块的路由规则.mp4
│  │  │  │      3.静态路由和动态路由临时合并,形成左侧菜单.mp4
│  │  │  │      7.1自定义指令.mp4
│  │  │  │      
│  │  │  ├─3-6 组织架构
│  │  │  │      1.1认识组织架构.mp4
│  │  │  │      1.2实现组织架构的头部内容.mp4
│  │  │  │      1.3树形组件认识.mp4
│  │  │  │      1.4实现树形的静态组织结构.mp4
│  │  │  │      10.1封装编辑接口,保存区分场景.mp4
│  │  │  │      10.2校验规则支持编辑场景下的校验.mp4
│  │  │  │      2.1封装单独的树操作栏组件.mp4
│  │  │  │      2.2在组织架构中应用操作栏组件.mp4
│  │  │  │      3.1封装API接口,获取组织架构数据.mp4
│  │  │  │      3.2将数组数据转化成树形结构.mp4
│  │  │  │      4.1封装删除接口,注册下拉菜单事件.mp4
│  │  │  │      4.2调用删除接口,通知父组件更新数据.mp4
│  │  │  │      4.左侧菜单的显示逻辑,设置菜单图标.mp4
│  │  │  │      5.1封装新增接口,新建组件中的弹层结构.mp4
│  │  │  │      5.2点击新增子部门显示弹层组件.mp4
│  │  │  │      6.1完成新增表单的基本校验条件.mp4
│  │  │  │      6.2配置新增表单的基本校验规则.mp4
│  │  │  │      6.3部门名称和部门编码的自定义校验.mp4
│  │  │  │      6.4处理首部内容的pid数据.mp4
│  │  │  │      7.新增部门功能-部门负责人数据.mp4
│  │  │  │      8.1校验通过,调用新增接口.mp4
│  │  │  │      8.3取消时重置数据和校验.mp4
│  │  │  │      9.1点击编辑弹出层,记录当前节点.mp4
│  │  │  │      9.2父组件调用子组件的获取详情方法.mp4
│  │  │  │      9.3根据计算属性显示控制标题.mp4
│  │  │  │      
│  │  │  ├─3-7 公司角色和角色管理
│  │  │  │      1.1通用工具栏的组件结构.mp4
│  │  │  │      1.2组件统一注册.mp4
│  │  │  │      2.1读取角色列表数据.mp4
│  │  │  │      3.删除角色功能.mp4
│  │  │  │      4.1封装编辑接口,新建编辑弹层.mp4
│  │  │  │      4.2实现编辑功能,为新增功能留口.mp4
│  │  │  │      5.新增角色功能.mp4
│  │  │  │      8.2利用sync修饰符关闭新增弹层.mp4
│  │  │  │      
│  │  │  ├─3-8 员工管理
│  │  │  │      1.建立公司角色页面的基本结构.mp4
│  │  │  │      10.1安装excel所需依赖和按需加载.mp4
│  │  │  │      10.3excel导出基本的结构.mp4
│  │  │  │      10.4导出时间格式的处理.mp4
│  │  │  │      10.5复杂表头的导出.mp4
│  │  │  │      11.1详情页的基本布局和路由.mp4
│  │  │  │      11.2读取和保存用户信息的接口.mp4
│  │  │  │      11.3实现用户名和密码的修改.mp4
│  │  │  │      12.1封装个人详情组件.mp4
│  │  │  │      12.2封装岗位组件.mp4
│  │  │  │      13.1读取个人保存个人信息.mp4
│  │  │  │      13.2读取保存岗位信息.mp4
│  │  │  │      14.配置腾讯云Cos.mp4
│  │  │  │      2.员工列表页面的基本布局和结构.mp4
│  │  │  │      3.员工列表数据请求和分页加载.mp4
│  │  │  │      4.1利用列格式化属性处理聘用形式.mp4
│  │  │  │      4.2过滤器解决时间格式的处理.mp4
│  │  │  │      5.删除员工功能.mp4
│  │  │  │      6.1新建员工弹层组件.mp4
│  │  │  │      6.2引用弹出层,点击弹出.mp4
│  │  │  │      6.3新增员工的表单校验.mp4
│  │  │  │      6.4加载部门数据转化树形.mp4
│  │  │  │      6.5点击部门赋值表单数据.mp4
│  │  │  │      7.新增员工功能-确定-取消.mp4
│  │  │  │      8.员工导入组件封装.mp4
│  │  │  │      9.1建立公共导入的页面路由.mp4
│  │  │  │      9.2分析excel导入代码,封装接口.mp4
│  │  │  │      9.3实现excel导入.mp4
│  │  │  │      9.4excel导入的时间问题.mp4
│  │  │  │      
│  │  │  └─3-9 图片上传、预览及打印
│  │  │          15.封装上传图片组件-上传组件需求分析.mp4
│  │  │          16.1新建文件上传组件.mp4
│  │  │          16.2点击图片进行预览.mp4
│  │  │          16.3根据上传数量控制上传按钮.mp4
│  │  │          16.4删除图片和添加图片.mp4
│  │  │          16.5上传之前检查.mp4
│  │  │          16.6上传动作调用上传腾讯云.mp4
│  │  │          16.7上传成功之后处理返回数据.mp4
│  │  │          17.1将员工的头像和证件照赋值给上传组件.mp4
│  │  │          17.2保存时处理头像和证件照的保存.mp4
│  │  │          18.员工列表显示图片.mp4
│  │  │          19.图片地址生成二维码.mp4
│  │  │          20.1新建打印页面及路由.mp4
│  │  │          20.2利用vue-print-nb进行打印.mp4
│  │  │          
│  │  ├─04、第四章 Vue3.0小兔鲜儿电商项目
│  │  │  ├─4-1 Vue3.0组合式API(01)
│  │  │  │      01-为什么学vue3.mp4
│  │  │  │      02-vite基本使用.mp4
│  │  │  │      03-创建vue应用.mp4
│  │  │  │      04-选项API和组合API.mp4
│  │  │  │      05-组合API-setup函数.mp4
│  │  │  │      06-组合API-生命周期.mp4
│  │  │  │      
│  │  │  ├─4-10 首页头部导航组件和交互
│  │  │  │      03-首页-顶部通栏布局.mp4
│  │  │  │      07-首页-头部分类导航组件.mp4
│  │  │  │      08-首页-头部分类导航渲染.mp4
│  │  │  │      09-首页-头部分类导航交互.mp4
│  │  │  │      10-首页-吸顶头部组件-传统实现.mp4
│  │  │  │      11-首页-吸顶头部组件-组合API.mp4
│  │  │  │      
│  │  │  ├─4-11 首页主体区域布局和功能实现
│  │  │  │      12-首页主体-左侧分类-结构渲染.mp4
│  │  │  │      13-首页主体-左侧分类-弹层展示.mp4
│  │  │  │      14-首页主体-左侧分类-处理品牌.mp4
│  │  │  │      15-首页主体-左侧分类-骨架效果.mp4
│  │  │  │      
│  │  │  ├─4-12 轮播图布局+逻辑封装
│  │  │  │      01-昨日回顾&今日介绍.mp4
│  │  │  │      02-首页主体-轮播图-基础布局.mp4
│  │  │  │      03-首页主体-轮播图-渲染结构.mp4
│  │  │  │      04-首页主体-轮播图-逻辑封装.mp4
│  │  │  │      
│  │  │  ├─4-13 首页主体-面板封装
│  │  │  │      05-首页主体-面板封装.mp4
│  │  │  │      06-首页主体-新鲜好物.mp4
│  │  │  │      07-首页主体-人气推荐.mp4
│  │  │  │      08-首页主体-补充-vue动画.mp4
│  │  │  │      09-首页主体-面板骨架效果.mp4
│  │  │  │      
│  │  │  ├─4-14 组件数据懒加载
│  │  │  │      10-首页主体-组件数据懒加载.mp4
│  │  │  │      11-首页主体-组件数据懒加载-补充.mp4
│  │  │  │      12-首页主体-热门品牌-01基础功能.mp4
│  │  │  │      13-首页主体-热门品牌-02骨架和数据懒加载.mp4
│  │  │  │      
│  │  │  ├─4-15 图片懒加
│  │  │  │      14-首页主体-商品区块.mp4
│  │  │  │      15-首页主体-最新专题.mp4
│  │  │  │      16-首页主体-图片懒加载-01-IntersectionOb.mp4
│  │  │  │      17-首页主体-图片懒加载-02-懒加载指令.mp4
│  │  │  │      
│  │  │  ├─4-16 面包屑组件
│  │  │  │      00-昨日回顾&今日介绍.mp4
│  │  │  │      01-顶级类目-面包屑组件-初级.mp4
│  │  │  │      02-顶级类目-面包屑组件-高级-01过渡mp4.mp4
│  │  │  │      02-顶级类目-面包屑组件-高级-02终极.mp4
│  │  │  │      
│  │  │  ├─4-17 批量注册组件+分类商品
│  │  │  │      03-顶级类目-批量注册组件.mp4
│  │  │  │      04-顶级类目-基础布局搭建-改造.mp4
│  │  │  │      04-顶级类目-基础布局搭建.mp4
│  │  │  │      05-顶级类目-分类商品-布局.mp4
│  │  │  │      07-顶级类目-面包屑切换动画.mp4
│  │  │  │      
│  │  │  ├─4-18 筛选区展示
│  │  │  │      08-二级类目-处理跳转细节.mp4
│  │  │  │      09-二级类目-展示面包屑.mp4
│  │  │  │      10-二级类目-筛选区展示.mp4
│  │  │  │      
│  │  │  ├─4-19 复选框组件封装+排序组件
│  │  │  │      00-昨日回顾&今日介绍.mp4
│  │  │  │      01-二级类目-复选框组件封装.mp4
│  │  │  │      02-二级类目-结果区-排序组件.mp4
│  │  │  │      
│  │  │  ├─4-2 Vue3.0组合式API(02
│  │  │  │      07-组合API-reactive函数.mp4
│  │  │  │      08-组合API-toRef函数.mp4
│  │  │  │      09-组合API-toRefs函数.mp4
│  │  │  │      10-组合API-ref函数.mp4
│  │  │  │      11-知识运用案例.mp4
│  │  │  │      
│  │  │  ├─4-20 无限加载组件+排序和筛选
│  │  │  │      03-二级类目-结果区-数据加载-01-无限加载组件.mp4
│  │  │  │      04-二级类目-结果区-数据加载-02-使用无限加.mp4
│  │  │  │      05-二级类目-结果区-进行筛选-01-排序.mp4
│  │  │  │      06-二级类目-结果区-进行筛选-02-筛选.mp4
│  │  │  │      
│  │  │  ├─4-21 图片预览组件+图片放大镜
│  │  │  │      07-商品详情-基础布局.mp4
│  │  │  │      08-商品详情-渲染面包屑.mp4
│  │  │  │      09-商品详情-图片预览组件.mp4
│  │  │  │      10-商品详情-图片放大镜.mp4
│  │  │  │      11-商品详情-基本信息展示.mp4
│  │  │  │      
│  │  │  ├─4-22 城市组件
│  │  │  │      00-昨日回顾&今日介绍.mp4
│  │  │  │      01-商品详情-城市组件-基础布局.mp4
│  │  │  │      02-商品详情-城市组件-获取数据.mp4
│  │  │  │      03-商品详情-城市组件-交互逻辑.mp4
│  │  │  │      
│  │  │  ├─4-23 SKU&SPU概念
│  │  │  │      04-规格组件-SKU&SPU概念.mp4
│  │  │  │      05-规格组件-基础结构和样式.mp4
│  │  │  │      06-规格组件-渲染与选中效果.mp4
│  │  │  │      
│  │  │  ├─4-24 规格组件禁用效果
│  │  │  │      06-规格组件-渲染与选中效果.mp4
│  │  │  │      07-规格组件-禁用效果-思路分析.mp4
│  │  │  │      08-规格组件-禁用效果-路径字典.mp4
│  │  │  │      09-规格组件-禁用效果-设置状态.mp4
│  │  │  │      
│  │  │  ├─4-25 规格组件数据通讯
│  │  │  │      00-昨日反馈&今日介.mp4
│  │  │  │      01-梳理下SKU组件选中和禁用功能.mp4
│  │  │  │      02-规格组件-数据通讯-01根据skuId默认选中按钮.mp4
│  │  │  │      03-规格组件-数据通讯-02选择sku后通知父.mp4
│  │  │  │      
│  │  │  ├─4-26 商品详情中的相关组件(一
│  │  │  │      04-商品详情-数量选择组件.mp4
│  │  │  │      05-商品详情-按钮组件.mp4
│  │  │  │      06-商品详情-同类推荐组件.mp4
│  │  │  │      
│  │  │  ├─4-27 商品详情中的相关组件(二)
│  │  │  │      07-商品详情-标签页组件.mp4
│  │  │  │      08-商品详情-热榜组件.mp4
│  │  │  │      09-商品详情-详情组件.mp4
│  │  │  │      10-商品详情-注意事项组件.mp4
│  │  │  │      
│  │  │  ├─4-28 评价组件
│  │  │  │      11-商品详情-评价组件-头部渲染.mp4
│  │  │  │      12-商品详情-评价组件-实现列表-01需求确认.mp4
│  │  │  │      12-商品详情-评价组件-实现列表-02-筛选参数.mp4
│  │  │  │      12-商品详情-评价组件-实现列表-03-完成渲染&.mp4
│  │  │  │      
│  │  │  ├─4-29 图片预览+分页组件
│  │  │  │      00-昨日反馈今日介绍.mp4
│  │  │  │      02-商品详情-评价组件-图片预览.mp4
│  │  │  │      03-商品详情-评价组件-分页组件-01依赖.mp4
│  │  │  │      04-商品详情-评价组件-分页组件-03渲染组件.mp4
│  │  │  │      04-商品详情-评价组件-分页组件-04数据通讯.mp4
│  │  │  │      04-商品详情-评价组件分页组件-02得到需要.mp4
│  │  │  │      
│  │  │  ├─4-3 Vue3.0组合式API(03)
│  │  │  ├─4-30 登录表单校验
│  │  │  │      05-登录-路由与组件.mp4
│  │  │  │      06-登录-基础布局.mp4
│  │  │  │      07-登录-切换效果.mp4
│  │  │  │      08-登录-表单组件.mp4
│  │  │  │      09-登录-表单校验-01-大致步骤.mp4
│  │  │  │      09-登录-表单校验-02-基本使用.mp4
│  │  │  │      09-登录-表单校验-03-完成所有校验.mp4
│  │  │  │      
│  │  │  ├─4-31 消息提示组件封装
│  │  │  │      10-登录-消息提示组件封装-01基本功能和动画.mp4
│  │  │  │      10-登录-消息提示组件封装-02函数式调用.mp4
│  │  │  │      
│  │  │  ├─4-32 手机号登录
│  │  │  │      00-昨日反馈&今日介绍.mp4
│  │  │  │      01-登录-账户登录.mp4
│  │  │  │      02-登录-手机号登录-01-思路分析&发送短信验.mp4
│  │  │  │      03-登录-手机号登录-02完成登录.mp4
│  │  │  │      
│  │  │  ├─4-33 QQ登录流程分析+布局
│  │  │  │      04-退出登录.mp4
│  │  │  │      05-登录-QQ登录-流程分析.mp4
│  │  │  │      06-登录-QQ登录-按钮处理-01-本地host.mp4
│  │  │  │      07-登录-QQ登录-按钮处理-02-按钮跳转.mp4
│  │  │  │      08-登录-QQ登录-回跳页面-01-基础布局.mp4
│  │  │  │      09-登录-QQ登录-回跳页面-02-绑定帐号组件.mp4
│  │  │  │      
│  │  │  ├─4-34 QQ登录表单校验
│  │  │  │      10-登录-QQ登录-已注册已绑定.mp4
│  │  │  │      11-登录-QQ登录-已注册未绑定-01-获取唯.mp4
│  │  │  │      12-登录-QQ登录-已注册未绑定-02-表单校验.mp4
│  │  │  │      
│  │  │  ├─4-35 QQ登录立即绑定+发送短信验证码
│  │  │  │      13-登录-QQ登录-已注册未绑定-03-发送短信.mp4
│  │  │  │      14-登录-QQ登录-已注册未绑定-04-立即绑定.mp4
│  │  │  │      15-登录-QQ登录-未绑定没账号.mp4
│  │  │  │      
│  │  │  ├─4-36 加入购物车分析+编写Vue
│  │  │  │      00-每日反馈&今日介绍.mp4
│  │  │  │      01-购物车功能分析.mp4
│  │  │  │      02-加入购物车-本地(约定存储字段,编写vuex的mutations和actions,.mp4
│  │  │  │      
│  │  │  ├─4-37 头部购物车商品列表+删除操作
│  │  │  │      03-头部购物车-基础布局&渲染.mp4
│  │  │  │      04-头部购物车-商品列表-本地.mp4
│  │  │  │      05-头部购物车-删除操作-本地.mp4
│  │  │  │      
│  │  │  ├─4-38 购物车页面列表展示+单选操作
│  │  │  │      06-购物车页面-基础布局.mp4
│  │  │  │      07-购物车页面-列表展示-本地.mp4
│  │  │  │      08-购物车页面-单选操作-本地.mp4
│  │  │  │      09-购物车页面-全选操作-本地.mp4
│  │  │  │      
│  │  │  ├─4-39 购物车页面删除操作+确认框组件
│  │  │  │      10-购物车页面-删除操作-本地.mp4
│  │  │  │      11-购物车页面-确认框组件.mp4
│  │  │  │      
│  │  │  ├─4-4 Vue3.0组合式API(04
│  │  │  │      15-组合API-父子通讯-01父传子.mp4
│  │  │  │      15-组合API-父子通讯-02子传父.mp4
│  │  │  │      15-组合API-父子通讯-03-v-model新用法.mp4
│  │  │  │      16-组合API-依赖注入.mp4
│  │  │  │      
│  │  │  ├─4-40 购物车批量删除+修改数量
│  │  │  │      00-每日反馈&今日介绍.mp4
│  │  │  │      01-昨日回顾&今日介绍.mp4
│  │  │  │      02-购物车页面-批量删除-本地.mp4
│  │  │  │      03-购物车页面-无效商品-本地.mp4
│  │  │  │      04-购物车页面-修改数量-本地.mp4
│  │  │  │      
│  │  │  ├─4-41 购物车-修改规格
│  │  │  │      05-购物车页面-修改规格-本地-01组件准备和.mp4
│  │  │  │      05-购物车页面-修改规格-本地-02-渲染规格.mp4
│  │  │  │      05-购物车页面-修改规格-本地-03-修改规格.mp4
│  │  │  │      
│  │  │  ├─4-42 登录合并购物车+加入购物车+修改规格
│  │  │  │      06-登录后-合并购物车.mp4
│  │  │  │      07-登录后-商品列表.mp4
│  │  │  │      08-登录后-加入购物车.mp4
│  │  │  │      09-登录后-删除操作.mp4
│  │  │  │      10-登录后-批量删除.mp4
│  │  │  │      11-登录后-选中状态&修改数量.mp4
│  │  │  │      12-登录后-修改规格 (1).mp4
│  │  │  │      13-登录后-修改规格 (2).mp4
│  │  │  │      
│  │  │  ├─4-43 下单结算页面渲染
│  │  │  │      14-下单结算.mp4
│  │  │  │      15-结算-页面布局.mp4
│  │  │  │      16-结算-渲染页面-01-获取数据&渲染结算页面.mp4
│  │  │  │      17-结算-渲染页面-收货地址默认渲染.mp4
│  │  │  │      
│  │  │  ├─4-44 对话框组件封装
│  │  │  │      00-昨日回顾&今日内容.mp4
│  │  │  │      01-结算-对话框组件封装-01基本结构.mp4
│  │  │  │      02-结算-对话框组件封装-02双向绑定.mp4
│  │  │  │      
│  │  │  ├─4-45 收获地址切换和添加
│  │  │  │      03-结算-收货地址-切换-通知结算组件一个默认地.mp4
│  │  │  │      04-结算-收货地址-切换-完成切换功能.mp4
│  │  │  │      05-结算-收货地址-添加-准备对话框和表单.mp4
│  │  │  │      
│  │  │  ├─4-46 提交订单
│  │  │  │      06-结算-收货地址-添加-添加收货地址完成.mp4
│  │  │  │      07-结算-收货地址-.mp4
│  │  │  │      08-结算-提交订单.mp4
│  │  │  │      
│  │  │  ├─4-47 支付宝支付
│  │  │  │      09-支付-支付页面-基础布局.mp4
│  │  │  │      10-支付-支付页面-信息展示-01获取数据展示金.mp4
│  │  │  │      10-支付-支付页面-信息展示-02倒计时函数封装.mp4
│  │  │  │      11-支付-支付流程.mp4
│  │  │  │      12-支付-等待支付和跳转支付宝.mp4
│  │  │  │      13-支付-结果展示.mp4
│  │  │  │      
│  │  │  ├─4-48 个人中心页面渲染
│  │  │  │      00-昨日反馈&今日内容.mp4
│  │  │  │      02-个人中心-基础布局.mp4
│  │  │  │      03-个人中心-渲染页面.mp4
│  │  │  │      04-个人中心-mock数据.mp4
│  │  │  │      05-个人中心-模拟接口.mp4
│  │  │  │      
│  │  │  ├─4-49 个人中心菜单激活
│  │  │  │      06-个人中心-菜单激活-01-routerlink的激活类名.mp4
│  │  │  │      06-个人中心-菜单激活-02-嵌套路由写法改造.mp4
│  │  │  │      
│  │  │  ├─4-5 项目介绍
│  │  │  │      01-补充-v-model语法糖.mp4
│  │  │  │      02-补充-mixins语法.mp4
│  │  │  │      03-项目介绍.mp4
│  │  │  │      04-配套资源.mp4
│  │  │  │      05-使用技术.mp4
│  │  │  │      06-前情提要.mp4
│  │  │  │      
│  │  │  ├─4-50 订单管理tabs组件
│  │  │  │      07-订单管理-tabs组件-01-体验jsx语法.mp4
│  │  │  │      07-订单管理-tabs组件-02-动态渲染结构.mp4
│  │  │  │      07-订单管理-tabs组件-03-实现双向绑定和点击自.mp4
│  │  │  │      07-订单管理-tabs组件-04使用组件渲染订单tab.mp4
│  │  │  │      
│  │  │  ├─4-51 订单管理列表渲染
│  │  │  │      08-订单管理-基础布局.mp4
│  │  │  │      08-订单详情-查看物流-01-async的setup组件使.mp4
│  │  │  │      09-订单管理-列表渲染-01-抽离组件和获取数据.mp4
│  │  │  │      09-订单管理-列表渲染-02渲染订单组件.mp4
│  │  │  │      
│  │  │  ├─4-52 订单管理(条件查询、取消、删除订单、确认收货、查看物流)
│  │  │  │      00-昨日回顾&今日内容.mp4
│  │  │  │      01-订单管理-条件查询.mp4
│  │  │  │      02-订单管理-取消订单.mp4
│  │  │  │      03-订单管理-删除订单.mp4
│  │  │  │      04-订单管理-确认收货.mp4
│  │  │  │      05-订单管理-查看物流.mp4
│  │  │  │      
│  │  │  ├─4-53 订单详情功能完善
│  │  │  │      06-订单详情-头部展示.mp4
│  │  │  │      08-订单详情-查看物流-01-async的setup组件使.mp4
│  │  │  │      09-订单详情-物流信息-02-teleport组件使用.mp4
│  │  │  │      10-订单详情-商品信息.mp4
│  │  │  │      11-订单详情-取消订单.mp4
│  │  │  │      
│  │  │  ├─4-54 项目总结和重点
│  │  │  │      12-订单详情-确认收货.mp4
│  │  │  │      13-再次购买.mp4
│  │  │  │      14-总结-划重点.mp4
│  │  │  │      15-总结-vue3.0踩过的坑.mp4
│  │  │  │      16-Vue3.0关注功能.mp4
│  │  │  │      
│  │  │  ├─4-6 项目搭建
│  │  │  │      07-创建项目.mp4
│  │  │  │      08-目录调整-01调整代码和目录.mp4
│  │  │  │      09-目录调整-额外配置文件.mp4
│  │  │  │      10-vuex-vue3.0的根模块各种用法.mp4
│  │  │  │      11-vuex-vue3.0模块的用法.mp4
│  │  │  │      12-准备远端仓库查看代码.mp4
│  │  │  │      
│  │  │  ├─4-7 Vuex持久化+axios拦截
│  │  │  │      13-vuex-持久化.mp4
│  │  │  │      14-请求工具-01创建新axios实例&请求拦截器.mp4
│  │  │  │      15-请求工具-响应拦截器.mp4
│  │  │  │      
│  │  │  ├─4-8 axios请求封装+路由设计
│  │  │  │      16-请求工具-03-请求函数封装.mp4
│  │  │  │      17-请求工具-04-测试请求工具函数.mp4
│  │  │  │      18-路由设计.mp4
│  │  │  │      19-首页-路由与组件.mp4
│  │  │  │      20-首页-less的自动化导入-01准备变量文件和.mp4
│  │  │  │      21-首页-less的自动化导入-02自动导入.mp4
│  │  │  │      未命名(41).mp4
│  │  │  │      未命名(42).mp4
│  │  │  │      
│  │  │  └─4-9 首页布局分析+布局
│  │  │          03-首页-顶部通栏布局.mp4
│  │  │          04-首页-顶部通栏布局-setup使用vuex数据需要.mp4
│  │  │          05-首页-头部布局.mp4
│  │  │          06-首页-底部布局.mp4
│  │  │          
│  │  └─05、第五章 Vue原理
│  │      ├─5-1 Vue原理
│  │      │      01.vue原理进阶-整体目标.mp4
│  │      │      02.vue原理进阶-实现响应式的可选方案.mp4
│  │      │      03.vue原理进阶-defineProperty基础使用.mp4
│  │      │      04.vue原理进阶-set和get联动问题复现.mp4
│  │      │      05.vue原理进阶-解决set和get联动.mp4
│  │      │      06.vue原理进阶-更加通用的对象劫持转化.mp4
│  │      │      07.vue原理进阶-拓展理解作用域闭包的独立性.mp4
│  │      │      08.vue原理进阶-拓展函数调用拆解说明.mp4
│  │      │      09.vue原理进阶-响应式总结.mp4
│  │      │      10.vue原理进阶-数据变化映射到视图-命令式操作.mp4
│  │      │      11.vue原理进阶-数据变化反映到视图-指令-.mp4
│  │      │      12.vue原理进阶-数据变化反映到视图-指令-重.mp4
│  │      │      13.vue原理进阶-视图裱花反映到数据-v-mode.mp4
│  │      │      14.vue原理进阶-现存问题思考无法精准更新.mp4
│  │      │      15.vue原理进阶-优化思路分析.mp4
│  │      │      16.vue原理进阶-浏览器的事件模型了解.mp4
│  │      │      17.vue原理进阶-.mp4
│  │      │      18.vue原理进阶-发布订阅优化架构实现精准更新.mp4
│  │      │      
│  │      ├─5-2 Vue组件开发
│  │      │      01.vue进阶知识点总结1.mp4
│  │      │      02.vue进阶知识点总结2.mp4
│  │      │      03.vue进阶知识点总结3.mp4
│  │      │      04.vue组件开发依赖环境搭建.mp4
│  │      │      05.Button组件开发-基础组件实现.mp4
│  │      │      06.Button组件开发-实现type的配置.mp4
│  │      │      07.Button组件开发-实现size的配置.mp4
│  │      │      08.Button组件开发-实现参数的校验.mp4
│  │      │      09、-Button组件开发-click事件处理【海量 资 源:】.mp4
│  │      │      10.Button组件开发-整理总结回顾.mp4
│  │      │      11.Editor组件开发-基础三方组件使用.mp4
│  │      │      12.Editor组件开发-数据回显功能实现(数据到视图).mp4
│  │      │      13.Editor组件开发-编辑内容修改绑定属性(视.mp4
│  │      │      14.Editor组件开发-修复bug(内容变化及时再次回显).mp4
│  │      │      15.Editor组件开发-重点知识总结.mp4
│  │      │      
│  │      └─5-3 SSR入门
│  │              01.什么是服务端渲染.mp4
│  │              02.什么是客户端渲染.mp4
│  │              03.服务端渲染对比客户端渲染.mp4
│  │              04.vue的服务端渲染.mp4
│  │              05.理解同构的概念.mp4
│  │              06.使用nuxt.js快速创建项目.mp4
│  │              07.nuxt小项目介绍.mp4
│  │              08.asyncData函数的理解与使用.mp4
│  │              09.asyncData中请求真实数据并完成融合数据.mp4
│  │              10.ssr重点总结.mp4
│  │              
│  ├─06、阶段六 微信小程序【拓展课程】
│  │  ├─01、第一章 微信小程序
│  │  │  ├─1-1 微信小程序快速入门
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.小程序简介 - 小程序与普通网页开发的区别.mp4
│  │  │  │      02.小程序简介 - 体验微信小程序.mp4
│  │  │  │      03.第一个小程序 - 了解注册小程序开发账号的流.mp4
│  │  │  │      04.第一个小程序 - 获取小程序的AppID.mp4
│  │  │  │      05.第一个小程序 - 安装微信开发者工具.mp4
│  │  │  │      06.第一个小程序 - 扫码登录到微信开发者工具.mp4
│  │  │  │      07.第一个小程序 - 设置外观和代理.mp4
│  │  │  │      08.第一个小程序 - 演示新建小程序项目的步骤.mp4
│  │  │  │      09.第一个小程序 - 查看项目运行效果的两种方式.mp4
│  │  │  │      10.第一个小程序 - 了解微信开发者工具主界面的.mp4
│  │  │  │      11.小程序代码的构成 - 了解项目的基本组成结构.mp4
│  │  │  │      12.小程序代码的构成 - 小程序页面的组成部分.mp4
│  │  │  │      13.小程序代码的构成 - 认识小程序中的4种配置.mp4
│  │  │  │      14.小程序代码的构成 - app.json文件.mp4
│  │  │  │      15.小程序代码的构成 - project.config.json文件.mp4
│  │  │  │      16.小程序代码的构成 - sitemap.json文件.mp4
│  │  │  │      17.小程序代码的构成 - 页面的.json配置文.mp4
│  │  │  │      18.小程序代码的构成 - 新建小程序页面.mp4
│  │  │  │      19.小程序代码的构成 - 修改项目首页.mp4
│  │  │  │      20.小程序代码的构成 - WXML的概念以及和H.mp4
│  │  │  │      21.小程序代码的构成 - WXSS的概念以及和CS.mp4
│  │  │  │      22.小程序代码的构成 - 了解小程序中JS文件的.mp4
│  │  │  │      
│  │  │  ├─1-10 本地生活综合案例
│  │  │  │      39.案例 - 商铺列表页面的效果演示.mp4
│  │  │  │      40.案例 - 把项目代码加载到微信开发者工具中.mp4
│  │  │  │      41.案例 - 实现导航跳转并传参.mp4
│  │  │  │      42.案例 - 动态设置商铺列表页面的标题内容.mp4
│  │  │  │      43.案例 - 创建商铺列表页面的编译模式.mp4
│  │  │  │      44.案例 - 了解API接口并定义需要的数据节点.mp4
│  │  │  │      45.案例 - 定义getShopList方法获取商品列表数据.mp4
│  │  │  │      46.案例 - 渲染商铺列表的UI结构并美化样式.mp4
│  │  │  │      47.案例 - 展示loading提示效果.mp4
│  │  │  │      48.案例 - 上拉触底时请求下一页数据.mp4
│  │  │  │      49.案例 - 对上拉触底事件进行节流控制.mp4
│  │  │  │      50.案例 - 演示并分析数据加载的问题.mp4
│  │  │  │      51.案例 - 介绍判断是否还有下一页数据的公式.mp4
│  │  │  │      52.案例 - 根据公式判断是否还有下一页的数据.mp4
│  │  │  │      53.案例 - 为商铺列表页面开启下拉刷新效果.mp4
│  │  │  │      54.案例 - 实现下拉刷新的功能.mp4
│  │  │  │      55.案例 - 解决下拉刷新窗口效果不会自动关闭.mp4
│  │  │  │      56.案例 - 使用wxs处理手机号.mp4
│  │  │  │      57.总结.mp4
│  │  │  │      
│  │  │  ├─1-11 微信小程序组件和样式
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.准备今天要用到的项目.mp4
│  │  │  │      02.自定义组件 - 组件的创建与引用 - 创建自定义.mp4
│  │  │  │      03.自定义组件 - 组件的创建与引用 - 局部引用.mp4
│  │  │  │      04.自定义组件 - 组件的创建与引用 - 全局引用组.mp4
│  │  │  │      05.自定义组件 - 组件的创建与引用 - 全局引用.mp4
│  │  │  │      06.自定义组件 - 组件的创建与引用 - 组件和页面.mp4
│  │  │  │      07.自定义组件 - 样式 - 组件的样式隔离特性.mp4
│  │  │  │      08.自定义组件 - 样式 - 组件样式隔离的注意点.mp4
│  │  │  │      09.自定义组件 - 样式 - 修改组件的样式隔离选项.mp4
│  │  │  │      
│  │  │  ├─1-12 微信小程序数据、方法、属性和数据监听
│  │  │  │      10.自定义组件 - 数据、方法、属性 - 定义data私有数据.mp4
│  │  │  │      11.自定义组件 - 数据、方法、属性 - methods方法.mp4
│  │  │  │      12.自定义组件 - 数据、方法、属性 - 定义prop.mp4
│  │  │  │      13.自定义组件 - 数据、方法、属性 - 使用max.mp4
│  │  │  │      14.自定义组件 - 数据、方法、属性 - data和pr.mp4
│  │  │  │      15.自定义组件 - 数据、方法、属性 - 使用setData修改properties的值.mp4
│  │  │  │      16.自定义组件 - 数据监听器 - 什么是数据监听.mp4
│  │  │  │      17.自定义组件 - 数据监听器 - 数据监听器的基.mp4
│  │  │  │      
│  │  │  ├─1-13 微信小程序数据监听案例
│  │  │  │      18.自定义组件 - 数据监听器 - 监听对象属性的.mp4
│  │  │  │      19.自定义组件 - 数据监听器案例 - 创建组件并.mp4
│  │  │  │      21.自定义组件 - 数据监听器案例 - 定义button的事件处理函数.mp4
│  │  │  │      22.自定义组件 - 数据监听器案例 - 监听对象中.mp4
│  │  │  │      23.自定义组件 - 数据监听器案例 - 监听对象中.mp4
│  │  │  │      24.自定义组件 - 纯数据字段 - 什么是纯数据字段.mp4
│  │  │  │      25.自定义组件 - 纯数据字段 - 使用规则.mp4
│  │  │  │      26.自定义组件 - 纯数据字段 - 使用纯数据字.mp4
│  │  │  │      
│  │  │  ├─1-14 组件生命周期和插槽
│  │  │  │      27.自定义组件 - 组件的生命周期 - 组件全部的.mp4
│  │  │  │      28.自定义组件 - 组件的生命周期 - 组件主要的.mp4
│  │  │  │      29.自定义组件 - 组件的生命周期 - lifetimes节点.mp4
│  │  │  │      30.自定义组件 - 组件所在页面的生命周期 - 概念.mp4
│  │  │  │      31.自定义组件 - 组件所在页面的生命周期 - pag.mp4
│  │  │  │      32.自定义组件 - 组件所在页面的生命周期 - 生成.mp4
│  │  │  │      33.自定义组件 - 插槽 - 什么是插槽.mp4
│  │  │  │      34.自定义组件 - 插槽 - 单个插槽.mp4
│  │  │  │      35.自定义组件 - 插槽 - 启用多个插槽.mp4
│  │  │  │      36.自定义组件 - 插槽 - 定义和使用多个插槽.mp4
│  │  │  │      
│  │  │  ├─1-15 父子组件通信和behaviors
│  │  │  │      37.自定义组件 - 父子组件通信 - 了解父子组件.mp4
│  │  │  │      38.自定义组件 - 父子组件通信 - 属性绑定.mp4
│  │  │  │      39.自定义组件 - 父子组件通信 - 实现子组件的c.mp4
│  │  │  │      40.自定义组件 - 父子组件通信 - 了解事件绑定.mp4
│  │  │  │      41.自定义组件 - 父子组件通信 - 了解事件绑定.mp4
│  │  │  │      42.自定义组件 - 父子组件通信 - 通过事件绑定实.mp4
│  │  │  │      43.自定义组件 - 父子组件通信 - 使用selectCom.mp4
│  │  │  │      44.自定义组件 - behaviors - 了解什么是behaviors以及它的工作方式.mp4
│  │  │  │      45.自定义组件 - behaviors - 创建behavior.mp4
│  │  │  │      46.自定义组件 - behaviors - 导入并使用beha.mp4
│  │  │  │      47.自定义组件 - behaviors - 了解behavior中所.mp4
│  │  │  │      48.自定义组件 - behaviors - 同名字段的覆盖和.mp4
│  │  │  │      49.自定义组件 - 总结.mp4
│  │  │  │      
│  │  │  ├─1-16 vant 小程序 UI 组件库和API的Promise化
│  │  │  │      01.导入需要用到的小程序项目.mp4
│  │  │  │      02.使用npm包 - 小程序中对npm的支持与限制.mp4
│  │  │  │      03.使用npm包 - vant - 了解什么是Vant Weapp.mp4
│  │  │  │      04.使用npm包 - vant - 安装Vant组件库.mp4
│  │  │  │      05.使用npm包 - vant - 使用Vant组件.mp4
│  │  │  │      06.使用npm包 - vant - 定义和使用CSS变量.mp4
│  │  │  │      07.使用npm包 - vant - 使用CSS变量定制Van.mp4
│  │  │  │      08.使用npm包 - API的Promise化 - 什么是小程序API的Promise化.mp4
│  │  │  │      09.使用npm包 - API的Promise化 - 安装并构建.mp4
│  │  │  │      10.使用npm包 - API的Promise化 - 三个步骤实现API的Promise化.mp4
│  │  │  │      11.使用npm包 - API的Promise化 - 调用Prom.mp4
│  │  │  │      
│  │  │  ├─1-17 微信小程序全局数据共享
│  │  │  │      12.全局数据共享 - 什么是全局数据共享.mp4
│  │  │  │      13.全局数据共享 - 小程序中的全局数据共享方案.mp4
│  │  │  │      14.全局数据共享 - 安装并构建MobX相关的包.mp4
│  │  │  │      15.全局数据共享 - 创建Store实例对象.mp4
│  │  │  │      16.全局数据共享 - 定义计算属性.mp4
│  │  │  │      17.全局数据共享 - 定义actions方法.mp4
│  │  │  │      18.全局数据共享 - 了解将Store中的成员绑定.mp4
│  │  │  │      19.全局数据共享 - 将Store中的成员绑定到页面上.mp4
│  │  │  │      20.全局数据共享 - 在页面中使用Store中的成员.mp4
│  │  │  │      21.全局数据共享 - 了解将Store中的成员绑定到.mp4
│  │  │  │      22.全局数据共享 - 将Store中的成员绑定到组件上.mp4
│  │  │  │      23.全局数据共享 - 在组件中使用Store中的成员.mp4
│  │  │  │      
│  │  │  ├─1-18 分包
│  │  │  │      24.分包 - 基础概念 - 了解分包的概念以及好处.mp4
│  │  │  │      25.分包 - 基础概念 - 分包前后项目的构.mp4
│  │  │  │      26.分包 - 基础概念 - 分包的加载规则.mp4
│  │  │  │      27.分包 - 基础概念 - 分包的体积限制.mp4
│  │  │  │      29.分包 - 使用分包 - 演示在项目中如何配置分包.mp4
│  │  │  │      30.分包 - 使用分包 - 设置分包的别名并查看分.mp4
│  │  │  │      31.分包 - 使用分包 - 打包原则.mp4
│  │  │  │      32.分包 - 使用分包 - 引用原则.mp4
│  │  │  │      33.分包 - 独立分包 - 了解什么是独立分包以及它.mp4
│  │  │  │      35.分包 - 独立分包 - 将普通分包改造为独立分包.mp4
│  │  │  │      36.分包 - 独立分包 - 独.mp4
│  │  │  │      37.分包 - 分包预下载 - 介绍分包预下载的概念以及好处.mp4
│  │  │  │      38.分包 - 分包预下载 - 配置分包的预下载.mp4
│  │  │  │      39.分包 - 分包预下载 - 分包预下载的限制.mp4
│  │  │  │      未命名(192).mp4
│  │  │  │      
│  │  │  ├─1-19 自定义tabBar
│  │  │  │      40.自定义tabBar - 演示案例效果.mp4
│  │  │  │      41.自定义tabBar - 了解自定义tabBar的实现步.mp4
│  │  │  │      42.自定义tabBar - 在app.json中声明自定义ta.mp4
│  │  │  │      43.自定义tabBar - 添加tabBar的代码文件.mp4
│  │  │  │      44.自定义tabBar - 基于Vant组件渲染出基本的自定义tabBar效果.mp4
│  │  │  │      45.自定义tabBar - 自定义tabBar的图标和文本.mp4
│  │  │  │      46.自定义tabBar - 循环渲染tabBar的Item项.mp4
│  │  │  │      47.自定义tabBar - 渲染并美化数字徽标的样式.mp4
│  │  │  │      48.自定义tabBar - 按需渲染数字徽标.mp4
│  │  │  │      49.自定义tabBar - 把Store中sum的值渲染为数字徽标.mp4
│  │  │  │      50.自定义tabBar - 实现tabBar页面的切换.mp4
│  │  │  │      51.自定义tabBar - 使用全局数据共享解决tabBar选中项不准确的问题.mp4
│  │  │  │      52.自定义tabBar - 修改tabBar选中项文本的颜色.mp4
│  │  │  │      53.总结.mp4
│  │  │  │      
│  │  │  ├─1-2 微信小程序的宿主环境
│  │  │  │      23.宿主环境 - 了解宿主环境的概念.mp4
│  │  │  │      24.宿主环境 - 小程序的宿主环境.mp4
│  │  │  │      25.宿主环境 - 通信的主体.mp4
│  │  │  │      26.宿主环境 - 小程序的通信模型.mp4
│  │  │  │      27.宿主环境 - 运行机制.mp4
│  │  │  │      28.宿主环境 - 组件 - 了解常用的视图容器组件.mp4
│  │  │  │      29.宿主环境 - 组件 - view组件的基本使用.mp4
│  │  │  │      30.宿主环境 - 组件 - scroll-view组件的基本使用.mp4
│  │  │  │      31.宿主环境 - 组件 - swiper和swiper-item的基.mp4
│  │  │  │      32.宿主环境 - 组件 - swiper组件的常用属性.mp4
│  │  │  │      33.宿主环境 - 组件 - text和rich-text组件.mp4
│  │  │  │      34.宿主环境 - 组件 - button按钮组件.mp4
│  │  │  │      35.宿主环境 - 组件 - image图片组件.mp4
│  │  │  │      36.宿主环境 - 小程序API的3大分类.mp4
│  │  │  │      
│  │  │  ├─1-3 微信小程序协同工作和发布
│  │  │  │      37.协同工作 - 了解权限管理需求、组织结构、.mp4
│  │  │  │      38.协同工作 - 了解小程序成员管理的两个方面.mp4
│  │  │  │      39.协同工作 - 开发者的权限说明.mp4
│  │  │  │      40.协同工作 - 了解如何添加项目成员和体验成员.mp4
│  │  │  │      41.发布 - 了解小程序的版本阶段.mp4
│  │  │  │      42.发布 - 了解小程序发布上线的主要步骤.mp4
│  │  │  │      43.发布 - 基于小程序码进行推.mp4
│  │  │  │      44.发布 -.mp4
│  │  │  │      45.总结.mp4
│  │  │  │      
│  │  │  ├─1-4 微信小程序基础
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.数据绑定 - 了解数据绑定的原则.mp4
│  │  │  │      02.数据绑定 - 动态绑定属性.mp4
│  │  │  │      03.数据绑定 - 三元运算.mp4
│  │  │  │      04.数据绑定 - 算数运算.mp4
│  │  │  │      05.事件绑定 - 了解什么是事件以及小程序中常.mp4
│  │  │  │      06.事件绑定 - 事件对象的属性列表.mp4
│  │  │  │      07.事件绑定 - target和currentTarget的区别.mp4
│  │  │  │      08.事件绑定 - bindtap的语法格式.mp4
│  │  │  │      09.事件绑定 - 在事件处理函数中为data中的数.mp4
│  │  │  │      10.事件绑定 - 事件传参.mp4
│  │  │  │      11.事件绑定 - bindinput的语法格式.mp4
│  │  │  │      12.事件绑定 - 实现文本框和data之间的数据同步.mp4
│  │  │  │      13.条件渲染 - if…elif…else.mp4
│  │  │  │      14.条件渲染 - 基于block标签使用if条件渲染.mp4
│  │  │  │      15.条件渲染 - hidden.mp4
│  │  │  │      16.条件渲染 - if和hidden的区别.mp4
│  │  │  │      17.列表渲染 - for循环的基本用法.mp4
│  │  │  │      18.列表渲染 - 手动指定索引和当前项的变量名.mp4
│  │  │  │      19.列表渲染 - 指定key值提高渲染效率.mp4
│  │  │  │      
│  │  │  ├─1-5 微信小程序进阶
│  │  │  │      20.wxss - 了解什么是wxss以及它和css之间的关.mp4
│  │  │  │      21.wxss - 了解什么是rpx以及它的实现原理.mp4
│  │  │  │      22.wxss - rpx与px之间的单位换算.mp4
│  │  │  │      23.wxss - @import样式导入.mp4
│  │  │  │      24.wxss - 全局样式.mp4
│  │  │  │      25.wxss - 局部样式.mp4
│  │  │  │      26.全局配置 - 常用的全局配置项以及小程序窗口.mp4
│  │  │  │      27.全局配置 - window - 设置导航栏的标题.mp4
│  │  │  │      28.全局配置 - window - 设置导航栏的背景色.mp4
│  │  │  │      29.全局配置 - window - 设置导航栏的标题颜色.mp4
│  │  │  │      30.全局配置 - window - 全局开启下拉刷新的功能.mp4
│  │  │  │      31.全局配置 - window - 关于模拟器的问题说明.mp4
│  │  │  │      32.全局配置 - window - 设置下拉刷新时的窗口.mp4
│  │  │  │      33.全局配置 - window - 设置下拉刷新时loading的样式.mp4
│  │  │  │      34.全局配置 - window - 设置上拉触底的距离.mp4
│  │  │  │      35.全局配置 - tabBar - 什么是tabBar.mp4
│  │  │  │      36.全局配置 - tabBar - tabBar的6个组成部分.mp4
│  │  │  │      37.全局配置 - tabBar - 了解tabBar中的配置项.mp4
│  │  │  │      38.全局配置 - tabBar - 实现tabBar案例的效果.mp4
│  │  │  │      39.页面配置 - 了解页面配置和全局配置的关.mp4
│  │  │  │      40.页面配置 - 页面配置中常用的配置项.mp4
│  │  │  │      
│  │  │  ├─1-6 微信小程序数据请求和案例
│  │  │  │      41.数据请求 - 小程序中网络数据请求的限制.mp4
│  │  │  │      42.数据请求 - 配置request合法域名.mp4
│  │  │  │      43.数据请求 - 发起GET请求.mp4
│  │  │  │      44.数据请求 - 发起POST请求.mp4
│  │  │  │      45.数据请求 - 了解如何在页面刚加载的时候请求.mp4
│  │  │  │      46.数据请求 - 跳过request合法域名校验.mp4
│  │  │  │      47.数据请求 - 关于跨域和Ajax的说明.mp4
│  │  │  │      48.案例 - 创建项目并梳理项目结.mp4
│  │  │  │      49.案例 - 配置导航栏效果.mp4
│  │  │  │      50.案例 - 配置tabBar效果.mp4
│  │  │  │      51.案例 - 获取轮播图的数据.mp4
│  │  │  │      52.案例 - 渲染轮播图效果.mp4
│  │  │  │      53.案例 - 获取九宫格的数据.mp4
│  │  │  │      54.案例 - 渲染九宫格的布局效果.mp4
│  │  │  │      55.案例 - 实现首页底部图片的布局效果.mp4
│  │  │  │      56.总结.mp4
│  │  │  │      
│  │  │  ├─1-7 微信小程序页面导航
│  │  │  │      00.学习目标.mp4
│  │  │  │      01.页面导航 - 了解小程序中实现页面导航的两种.mp4
│  │  │  │      02.页面导航 - 声明式导航 - 导航到tabBar页面.mp4
│  │  │  │      03.页面导航 -声明式导航 - 导航到非tabBar.mp4
│  │  │  │      04.页面导航 - 声明式导航 - 实现后退导航效果.mp4
│  │  │  │      05.页面导航 - 编程式导航 - 导航到tabBar页面.mp4
│  │  │  │      06.页面导航 - 编程式导航 - 导航到非tabBar页面.mp4
│  │  │  │      07.页面导航 - 编程式导航 - 实现后退导航效果.mp4
│  │  │  │      08.页面导航 - 导航传参 - 声明式导航传参.mp4
│  │  │  │      09.页面导航 - 导航传参 - 编程式导航传参.mp4
│  │  │  │      10导航传参.mp4
│  │  │  │      
│  │  │  ├─1-8 微信小程序页面事件和上拉触底案例
│  │  │  │      11.页面事件 - 下拉刷新 - 了解什么是下拉刷.mp4
│  │  │  │      12.页面事件 - 下拉刷新 - 启用下拉刷新.mp4
│  │  │  │      13.页面事件 - 下拉刷新 - 配置下拉刷新窗口的样式.mp4
│  │  │  │      14.页面事件 - 下拉刷新 - 监听页面的下拉刷新.mp4
│  │  │  │      15.页面事件 - 下拉刷新 - 停止下拉刷新的效果.mp4
│  │  │  │      16.页面事件 - 上拉触底 - 了解什么是上拉触底.mp4
│  │  │  │      17.页面事件 - 上拉触底 - 监听页面的上拉触底.mp4
│  │  │  │      18.页面事件 - 上拉触底 - 配置上拉触底距离.mp4
│  │  │  │      19.上拉触底案例 - 案例效果展示.mp4
│  │  │  │      20.上拉触底案例 - 定义获取随机颜色的方法.mp4
│  │  │  │      21.上拉触底案例 - 渲染UI结构并美化页面效果.mp4
│  │  │  │      22.上拉触底案例 - 上拉触底时获取随机颜色.mp4
│  │  │  │      23.上拉触底案例 - 添加loading提示效果.mp4
│  │  │  │      24.上拉触底案例 - 介绍为什么需要对上拉触.mp4
│  │  │  │      25.上拉触底案例 - 对上拉触底进行节流处理.mp4
│  │  │  │      26.扩展 - 自定义编译模式.mp4
│  │  │  │      54.案例 - 渲染九宫格的布局效果.mp4
│  │  │  │      
│  │  │  └─1-9 微信小程序生命周期和wxs
│  │  │          27.生命周期 - 什么是生命周期.mp4
│  │  │          28.生命周期 - 小程序中生命周期的两个分类.mp4
│  │  │          29.生命周期 - 什么是生命周期函数.mp4
│  │  │          30.生命周期 - 小程序中生命周期函数的两个分类.mp4
│  │  │          31.生命周期 - 应用的生命周期函数.mp4
│  │  │          32.生命周期 - 页面的生命周期函数.mp4
│  │  │          33.wxs - 了解什么是wxs以及应用场景.mp4
│  │  │          34.wxs - 了解wxs和JavaScript的关系.mp4
│  │  │          35.wxs - 内嵌wxs脚本.mp4
│  │  │          36.wxs - 定义外联的wxs脚本.mp4
│  │  │          37.wxs - 使用外联的wxs脚本.mp4
│  │  │          38.wxs - 了解wxs的4个特点.mp4
│  │  │          
│  │  └─02、第二章 黑马优购商城项目2.0
│  │      ├─2-1 uni-app和项目搭建
│  │      │      01.起步 - 项目介绍.mp4
│  │      │      02.起步 - 项目文档.mp4
│  │      │      03.起步 - 了解什么是uni-app.mp4
│  │      │      04.起步 - 下载和安装HBuilderX.mp4
│  │      │      05.起步 - 安装scss编译的插件.mp4
│  │      │      06.起步 - 对HBuilderX进行个性化的配置.mp4
│  │      │      07.起步 - 创建uni-app项目.mp4
│  │      │      08.起步 - 了解uni-app项目的目录结构.mp4
│  │      │      09.起步 - 把项目运行到微信开发者工具.mp4
│  │      │      10.起步 - 配置checkSiteMap选项.mp4
│  │      │      11.起步 - 使用Git本地管理uni-app项.mp4
│  │      │      12.起步 - 把本地项目托管到码云.mp4
│  │      │      13.tabbar - 创建tabBar对应的4个页面.mp4
│  │      │      14.tabbar - 配置tabBar效果.mp4
│  │      │      15.tabbar - 配置导航条的样式效果.mp4
│  │      │      16.tabbar - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-10 购物车页面-收货地址功能实现
│  │      │      20.购物车页面 - 收货地址区域 - 创建my-addr.mp4
│  │      │      21.购物车页面 - 收货地址区域 - 渲染收货地址.mp4
│  │      │      22.购物车页面 - 收货地址区域 - 渲染收货地址.mp4
│  │      │      23.购物车页面 - 收货地址区域 - 实现收货地址区.mp4
│  │      │      24.购物车页面 - 收货地址区域 - 实现选择收货地.mp4
│  │      │      25.购物车页面 - 收货地址区域 - 渲染收货人的信.mp4
│  │      │      26.购物车页面 - 收货地址区域 - 在vuex中定义用户相关的m_user模块.mp4
│  │      │      27.购物车页面 - 收货地址区域 - 将address信息.mp4
│  │      │      28.购物车页面 - 收货地址区域 - 将vuex中的a.mp4
│  │      │      29.购物车页面 - 收货地址区域 - 将addstr抽离.mp4
│  │      │      30.购物车页面 - 收货地址区域 - 重新选择收货地.mp4
│  │      │      31.购物车页面 - 收货地址区域 - 演示取消授权时.mp4
│  │      │      32.购物车页面 - 收货地址区域 - 判断用户是否授.mp4
│  │      │      33.购物车页面 - 收货地址区域 - 提示用户重新.mp4
│  │      │      34.购物车页面 - 收货地址区域 - 调用openSetti.mp4
│  │      │      35.购物车页面 - 收货地址区域 - 解决iPhone真机上无法重新授权的问题.mp4
│  │      │      
│  │      ├─2-11 购物车页面-结算功能实现
│  │      │      01.购物车页面 - 结算区域 - 把结算区域封装为独.mp4
│  │      │      02.购物车页面 - 结算区域 - 渲染结算区域的结构.mp4
│  │      │      03.购物车页面 - 结算区域 - 动态渲染已勾选商.mp4
│  │      │      04.购物车页面 - 结算区域 - 动态渲染全选按钮的.mp4
│  │      │      05.购物车页面 - 结算区域 - 使用数组的reduc.mp4
│  │      │      06.购物车页面 - 结算区域 - 实现商品的全选与.mp4
│  │      │      07.购物车页面 - 结算区域 - 动态渲染已勾选商.mp4
│  │      │      08.购物车页面 - 结算区域 - 动态计算tabBar中.mp4
│  │      │      09.购物车页面 - 结算区域 - 渲染购物车为空时候.mp4
│  │      │      10.购物车页面 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-12 登录功能实现
│  │      │      11.登录与支付 - 创建settle分支.mp4
│  │      │      12.登录与支付 - 点击结算按钮进行条件判断.mp4
│  │      │      13.登录与支付 - 登录 - 定义my页面的编译模式.mp4
│  │      │      14.登录与支付 - 登录 - 实现登录组件和用户信.mp4
│  │      │      15.登录与支付 - 登录 - 初步渲染登录组件的基.mp4
│  │      │      16.登录与支付 - 登录 - 美化登录组件的样式.mp4
│  │      │      17.登录与支付 - 登录 - 绘制登录盒子底部的半.mp4
│  │      │      18.登录与支付 - 登录 - 分析登录功能的实现思路.mp4
│  │      │      19.登录与支付 - 登录 - 点击登录按钮获取微信用.mp4
│  │      │      20.登录与支付 - 登录 - 处理用户取消登录授权的.mp4
│  │      │      21.登录与支付 - 登录 - 将用户的基本信息存储到.mp4
│  │      │      22.登录与支付 - 登录 - 调用uni.login获取code.mp4
│  │      │      23.登录与支付 - 登录 - 进一步完善uni.login调.mp4
│  │      │      24.登录与支付 - 登录 - 登录获取Token字符串.mp4
│  │      │      25.登录与支付 - 登录 - 将Token存储到vuex中.mp4
│  │      │      
│  │      ├─2-13 用户信息和自动跳转功能实现
│  │      │      26.登录与支付 - 用户信息 - 实现用户头像、昵.mp4
│  │      │      27.登录与支付 - 用户信息 - 渲染用户的头像和.mp4
│  │      │      28.登录与支付 - 用户信息 - 渲染第1个面板的U.mp4
│  │      │      29.登录与支付 - 用户信息 - 美化第1个面板的.mp4
│  │      │      30.登录与支付 - 用户信息 - 渲染第2个面板区域.mp4
│  │      │      31.登录与支付 - 用户信息 - 渲染第3个面板区域.mp4
│  │      │      32.登录与支付 - 用户信息 - 实现退出登录的功能.mp4
│  │      │      33.登录与支付 - 三秒后自动跳转 - 实现倒计时提.mp4
│  │      │      34.登录与支付 - 三秒后自动跳转 - 控制秒数的边.mp4
│  │      │      35.登录与支付 - 三秒后自动跳转 - 解决second.mp4
│  │      │      36.登录与支付 - 三秒后自动跳转 - 将返回页的.mp4
│  │      │      37.登录与支付 - 三秒后自动跳转 - 根据redirectI.mp4
│  │      │      
│  │      ├─2-14 微信支付功能和小程序项目发布
│  │      │      38.登录与支付 - 微信支付 - 在请求头中添加Tok.mp4
│  │      │      39.登录与支付 - 微信支付 - 了解微信支付的流程.mp4
│  │      │      40.登录与支付 - 微信支付 - 创建订单.mp4
│  │      │      42.登录与支付 - 微信支付 - 实现微信支付.mp4
│  │      │      43.登录与支付 - 分支的合并与提交.mp4
│  │      │      44.发布 - 为什么要进行发布.mp4
│  │      │      45.发布 - 了解将uni-app项目发布为小程序的基.mp4
│  │      │      46.发布 - 演示将uni-app项目发布为小程序的流.mp4
│  │      │      47.发布 - 了解将uni-app项目发布为Android.mp4
│  │      │      48.发布 - 演示将uni-app项目发布为Android A.mp4
│  │      │      
│  │      ├─2-2 首页功能实现
│  │      │      17.首页 - 轮播图 - 创建home子分支.mp4
│  │      │      18.首页 - 轮播图 - 安装并配置网络请求的第三.mp4
│  │      │      19.首页 - 轮播图 - 请求轮播图的数据.mp4
│  │      │      20.首页 - 轮播图 - 渲染轮播图的UI结构.mp4.baiduyun.p.downloading
│  │      │      21.首页 - 轮播图 - 配置小程序的分包.mp4
│  │      │      22.首页 - 轮播图 - 点击轮播图跳转到商品详情页.mp4
│  │      │      23.首页 - 轮播图 - 封装uni.$showMsg()方法.mp4
│  │      │      24.首页 - 分类导航 - 获取分类导航的数据.mp4
│  │      │      25.首页 - 分类导航 - 渲染分类导航的UI结构.mp4
│  │      │      26.首页 - 分类导航 - 切换到分类页面.mp4
│  │      │      27.首页 - 楼层区域 - 获取楼层的数据.mp4
│  │      │      28.首页 - 楼层区域 - 渲染楼层的标题.mp4
│  │      │      29.首页 - 楼层区域 - 渲染楼层左侧的大图.mp4
│  │      │      30.首页 - 楼层区域 - 渲染楼层右侧的小图片.mp4
│  │      │      31.首页 - 楼层区域 - 点击楼层图片跳转到商品列.mp4
│  │      │      32.首页 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-3 分类页面功能实现
│  │      │      01.分类 - 创建cate分支以及分类页面的编译模式.mp4
│  │      │      02.分类 - 实现分类页面滑动区域的左右布局.mp4
│  │      │      03.分类 - 动态设置scroll-view组件的高度.mp4
│  │      │      04.分类 - 美化左侧scroll-view中item项的样式.mp4
│  │      │      05.分类 - 获取分类列表的数据.mp4
│  │      │      06.分类 - 动态渲染左侧的一级分类列表.mp4
│  │      │      07.分类 - 定义二级分类的数据列表.mp4
│  │      │      08.分类 - 动态渲染右侧的二级分类列表.mp4
│  │      │      09.分类 - 动态渲染右侧的三级分类列.mp4
│  │      │      10.分类 - 切换一级分类后重置滚动条的位置.mp4
│  │      │      11.分类 - 点击三级分类跳转到商品列表页面.mp4
│  │      │      12.分类 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-4 自定义搜索组件
│  │      │      13.搜索 - 介绍搜索相关的功能.mp4
│  │      │      14.搜索 - 创建search分支.mp4
│  │      │      15.搜索 - 自定义组件 - 在uni-app项目中新建.mp4
│  │      │      16.搜索 - 自定义组件 - 渲染my-search组件的.mp4
│  │      │      17.搜索 - 自定义组件 - 解决cate分类页面scroll-.mp4
│  │      │      18.搜索 - 自定义组件 - 通过自定义属性增强组件.mp4
│  │      │      20.搜索 - 自定义组件 - 点击cate页面的搜索组.mp4
│  │      │      21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶.mp4
│  │      │      9.搜索 - 自定义组件 - 为自定义组件封装click事.mp4
│  │      │      
│  │      ├─2-5 搜索建议和搜索历史功能实现
│  │      │      21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶.mp4
│  │      │      22.搜索 - 搜索建议 - 渲染搜索页面的基本结构.mp4
│  │      │      23.搜索 - 搜索建议 - 实现搜索框自动获取焦点.mp4
│  │      │      24.搜索 - 搜索建议 - 实现搜索框的防抖处理.mp4
│  │      │      25.搜索 - 搜索建议 - 根据关键词查询搜索建议列.mp4
│  │      │      26.搜索 - 搜索建议 - 循环渲染搜索建议列表的U.mp4
│  │      │      27.搜索 - 搜索建议 - 美化搜索建议列表的UI结构.mp4
│  │      │      28.搜索 - 搜索建议 - 点击搜索Item项导航到商.mp4
│  │      │      29.搜索 - 搜索历史 - 渲染搜索历史记录的基本.mp4
│  │      │      30.搜索 - 搜索历史 - 美化搜索历史区域的UI结构.mp4
│  │      │      31.搜索 - 搜索历史 - 实现搜索建议和搜索历史.mp4
│  │      │      32.搜索 - 搜索历史 - 将搜索关键词存入historyL.mp4
│  │      │      33.搜索 - 搜索历史 - 解决关键词前后顺序的问题.mp4
│  │      │      34.搜索 - 搜索历史 - 解决关键词重复的问题.mp4
│  │      │      35.搜索 - 搜索历史 - 将搜索历史记录持久化存.mp4
│  │      │      36.搜索 - 搜索历史 - 清空搜索历史记录.mp4
│  │      │      37.搜索 - 搜索历史 - 点击搜索历史跳转到商品.mp4
│  │      │      38.搜索 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-6 商品列表功能实现
│  │      │      01.商品列表 - 介绍商品列表页面的功能并创建.mp4
│  │      │      02.商品列表 - 创建goodslist分支.mp4
│  │      │      03.商品列表 - 定义请求参数对象.mp4
│  │      │      04.商品列表 - 获取商品列表数据.mp4
│  │      │      05.商品列表 - 定义商品列表页面的UI结构.mp4
│  │      │      06.商品列表 - 美化商品列表页面的UI结构.mp4
│  │      │      07.商品列表 - 把商品Item项封装为自定义组件.mp4
│  │      │      08.商品列表 - 使用过滤器处理商品价格.mp4
│  │      │      09.商品列表 - 初步实现上拉加载更多.mp4
│  │      │      10.商品列表 - 使用节流阀防止发起额外的数据请.mp4
│  │      │      11.商品列表 - 判断数据是否加载完毕.mp4
│  │      │      12.商品列表 - 实现下拉刷新的效果.mp4
│  │      │      13.商品列表 - 点击商品item项导航到商品详情页.mp4
│  │      │      14.商品列表 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-7 商品详情功能实现
│  │      │      15.商品详情 - 创建goodsdetail分支.mp4
│  │      │      16.商品详情 - 添加商品详情页的编译模式.mp4
│  │      │      17.商品详情 - 获取商品详情的数据.mp4
│  │      │      18.商品详情 - 渲染轮播图区域.mp4
│  │      │      19.商品详情 - 实现轮播图的大图预览效果.mp4
│  │      │      20.商品详情 - 渲染商品信息区域的UI结构.mp4
│  │      │      21.商品详情 - 美化商品信息区域的样式.mp4
│  │      │      22.商品详情 - 使用rich-text组件渲染HTML内容.mp4
│  │      │      23.商品详情 - 解决商品图文详情中图片底部空.mp4
│  │      │      24.商品详情 - 解决webp格式的图片在ios设备上.mp4
│  │      │      25.商品详情 - 解决商品价格闪烁的问题.mp4
│  │      │      26.商品详情 - 渲染商品导航区域的UI结构.mp4
│  │      │      27.商品详情 - 自定义商品导航区域的按钮信息.mp4
│  │      │      28.商品详情 - 点击购物车按钮导航到购物车页面.mp4
│  │      │      29.商品详情 - 分支的合并与提交.mp4
│  │      │      
│  │      ├─2-8 加入购物车功能实现
│  │      │      27.商品详情 - 自定义商品导航区域的按钮信息.mp4
│  │      │      30.加入购物车 - 创建cart分支.mp4
│  │      │      31.加入购物车 - 配置vuex.mp4
│  │      │      32.加入购物车 - 创建购物车的store模块.mp4
│  │      │      33.加入购物车 - 在商品详情页中使用store中.mp4
│  │      │      34.加入购物车 - 在mutations中定义addToCart方法.mp4
│  │      │      35.加入购物车 - 实现加入购物车的功能.mp4
│  │      │      36.加入购物车 - 动态统计购物车中商品的总数量.mp4
│  │      │      37.加入购物车 - 持久化存储购物车中的商品.mp4
│  │      │      38.加入购物车 - 优化商品详情页的total侦听器.mp4
│  │      │      39.加入购物车 - 动态为tabBar设置数字徽标.mp4
│  │      │      40.加入购物车 - 将设置tabBar徽标的代码抽离为.mp4
│  │      │      
│  │      └─2-9 购物车页面-商品列表功能实现
│  │              01.购物车页面 - 演示购物车页面要实现的功能.mp4
│  │              02.购物车页面 - 创建购物车页面的编译模式.mp4
│  │              03.购物车页面 - 商品列表区域 - 渲染商品列表.mp4
│  │              04.购物车页面 - 商品列表区域 - 渲染商品列表.mp4
│  │              05.购物车页面 - 商品列表区域 - 为my-goods组.mp4
│  │              06.购物车页面 - 商品列表区域 - 通过props属性.mp4
│  │              07.购物车页面 - 商品列表区域 - 动态绑定radi.mp4
│  │              08.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装radio-change事件的实现思路.mp4
│  │              09.购物车页面 - 商品列表区域 - 为my-goods.mp4
│  │              10.购物车页面 - 商品列表区域 - 修改购物车中.mp4
│  │              11.购物车页面 - 商品列表区域 - 为my-goods组件封装NumberBox.mp4
│  │              12.购物车页面 - 商品列表区域 - 通过props属性.mp4
│  │              13.购物车页面 - 商品列表区域 - 介绍为my-goo.mp4
│  │              14.购物车页面 - 商品列表区域 - 为my-goods.mp4
│  │              15.购物车页面 - 商品列表区域 - 解决NumberBox组件数据不合法的问.mp4
│  │              16.购物车页面 - 商品列表区域 - 完善NumberBox的inputValue侦听器.mp4
│  │              17.购物车页面 - 商品列表区域 - 修改购物车中.mp4
│  │              18.购物车页面 - 商品列表区域 - 渲染滑动删除.mp4
│  │              19.购物车页面 - 商品列表区域 - 实现滑动删除的功能.mp4
│  │              
│  ├─07、阶段七 React项目实战【拓展课程】
│  │  ├─01、第一章 React基础
│  │  │  ├─1-1 React介绍
│  │  │  │      01-课程安排.mp4
│  │  │  │      02-react介绍.mp4
│  │  │  │      03-react的特点.mp4
│  │  │  │      04-react-脚手架的使用.mp4
│  │  │  │      05-react-基本使用.mp4
│  │  │  │      06-react-小练习.mp4
│  │  │  │      
│  │  │  ├─1-10 跨组件通信
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-兄弟组件通讯-状态提升的思想.mp4
│  │  │  │      03-父子组件通讯的使用.mp4
│  │  │  │      04-context跨级组件通讯的使用.mp4
│  │  │  │      05-context跨级组件通讯的使用.mp4
│  │  │  │      06-props的children属性的使用功能.mp4
│  │  │  │      07-props中children属性的使用.mp4
│  │  │  │      08-props校验-重要性.mp4
│  │  │  │      09-PropTypes校验的基本使用步骤.mp4
│  │  │  │      10-propTypes完整的校验说明.mp4
│  │  │  │      11-类的静态成员语法使用.mp4
│  │  │  │      
│  │  │  ├─1-11 生命周期
│  │  │  │      12-生命周期-vue.mp4
│  │  │  │      13-react生命周期-初始化阶段.mp4
│  │  │  │      14-react生命周期-更新阶段.mp4
│  │  │  │      15-react声明周期-卸载阶段.mp4
│  │  │  │      16-react生命周期-todos-本地存储功能.mp4
│  │  │  │      17-react生命周期-todomvc-自动获取焦点.mp4
│  │  │  │      
│  │  │  ├─1-12 setState函数
│  │  │  │      18-setState-setState是异步的.mp4
│  │  │  │      19-setState-第一个参数可以是函数.mp4
│  │  │  │      20-setState-第二个参数.mp4
│  │  │  │      21-setState的练习.mp4
│  │  │  │      22-react组件更新机制.mp4
│  │  │  │      
│  │  │  ├─1-13 组件性能优化
│  │  │  │      23-组件性能优化-减轻stat.mp4
│  │  │  │      24-组件性能优化-shouldComponentUpdate的.mp4
│  │  │  │      25-组件性能优化-shouldComponentUpdate.mp4
│  │  │  │      26-纯组件的基本使用.mp4
│  │  │  │      27-纯组件的浅层对比的说明.mp4
│  │  │  │      
│  │  │  ├─1-14 路由
│  │  │  │      01-单页应用程序SPA的介绍.mp4
│  │  │  │      02-React路由的介绍.mp4
│  │  │  │      03-React模拟实现单页应用程序.mp4
│  │  │  │      04-React-Router的基本使用.mp4
│  │  │  │      05-HashRoute.mp4
│  │  │  │      06-路由的执行过程.mp4
│  │  │  │      08-Link与NavLink组件.mp4
│  │  │  │      09-Switch与404页面.mp4
│  │  │  │      10-react-router-嵌套路由的配置.mp4
│  │  │  │      11-react-router-Redirect的使用.mp4
│  │  │  │      12-react-router-dom-编程式导航的使用.mp4
│  │  │  │      13-rect动态路由参数与获取.mp4
│  │  │  │      
│  │  │  ├─1-2 JSX语法
│  │  │  │      07-jsx-jsx的基本概念.mp4
│  │  │  │      08-jsx的基本使用步骤.mp4
│  │  │  │      09-jsx的注意事项.mp4
│  │  │  │      10-prettier插件的使用.mp4
│  │  │  │      11-jsx中使用表达式.mp4
│  │  │  │      12-jsx-条件渲染.mp4
│  │  │  │      14-jsx-列表渲染的练习.mp4
│  │  │  │      15-jsx-通过style控制样式.mp4
│  │  │  │      16-jsx-通过className控制类名.mp4
│  │  │  │      17-jsx-动态控制className.mp4
│  │  │  │      18-jsx-classnames库的使用.mp4
│  │  │  │      19-jsx-综合小练习.mp4
│  │  │  │      20-jsx-react中jsx的总结.mp4
│  │  │  │      
│  │  │  ├─1-3 类组件
│  │  │  │      01-学生反馈.mp4
│  │  │  │      03-函数组件-使用箭头函数创建组件.mp4
│  │  │  │      04-类-class的基本语法.mp4
│  │  │  │      05-类-extends继承的使用.mp4
│  │  │  │      06-类-extends的练习.mp4
│  │  │  │      07-类组件-定义类组件的基本语法.mp4
│  │  │  │      08-把组件抽取到单独的js文件中.mp4
│  │  │  │      09-有状态组件和无状态组件的说明.mp4
│  │  │  │      10-类组件-提供状态.mp4
│  │  │  │      11-类组件-提供状态的简写.mp4
│  │  │  │      13-jsx-列表渲染.mp4
│  │  │  │      
│  │  │  ├─1-4 组件中this
│  │  │  │      12-react中注册事件的基本语法.mp4
│  │  │  │      13-react中注册事件-this指向问题.mp4
│  │  │  │      14-处理this指向问题-箭头函数.mp4
│  │  │  │      15-处理this指向-bind和类实例语法.mp4
│  │  │  │      16-注册事件-处理this指向的说明.mp4
│  │  │  │      17-setState修改状态的说明.mp4
│  │  │  │      18-setState的使用说明.mp4
│  │  │  │      19-react中状态不可变.mp4
│  │  │  │      
│  │  │  ├─1-5 受控组件
│  │  │  │      20-react-受控组件的方式控制表单元素.mp4
│  │  │  │      21-react-多个受控组件的处理.mp4
│  │  │  │      22-react-多个受控组件的封装.mp4
│  │  │  │      23-react-属性名表达式的使用.mp4
│  │  │  │      24-react-多个受控组件的说明.mp4
│  │  │  │      25-react-受控组件的封装.mp4
│  │  │  │      26-react-ref与非受控组件.mp4
│  │  │  │      
│  │  │  ├─1-6 评论列表案例
│  │  │  │      27-评论列表案例-列表渲染功能.mp4
│  │  │  │      28-评论列表案例-清空评论功能.mp4
│  │  │  │      29-评论列表案例-删除功能.mp4
│  │  │  │      30-评论列表案例-添加功能.mp4
│  │  │  │      
│  │  │  ├─1-7 组件通信
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-rect开发者工具的使用.mp4
│  │  │  │      03-组件通讯-props在函数组件中的使用.mp4
│  │  │  │      04-组件通讯-类组件接收props属性.mp4
│  │  │  │      05-组件通讯-props的特点.mp4
│  │  │  │      06-组件通讯-类组件中传递props参数.mp4
│  │  │  │      07-组件通讯-父传子说明.mp4
│  │  │  │      08-组件通讯-父传子.mp4
│  │  │  │      09-组件通讯-子传父功能.mp4
│  │  │  │      10-组件通讯-子传父的练习.mp4
│  │  │  │      
│  │  │  ├─1-8 TODOMVC案例上
│  │  │  │      11-todomvc-基本结构搭建.mp4
│  │  │  │      12-todomvc-组件封装.mp4
│  │  │  │      13-todomvc-任务列表渲染功能.mp4
│  │  │  │      14-todomvc-删除任务功能完成.mp4
│  │  │  │      15-todomvc-任务状态修改功能.mp4
│  │  │  │      16-todomvc-添加任务功能.mp4
│  │  │  │      17-todomvc-双击-显示修改框.mp4
│  │  │  │      18-todomvc-双击回显任务名称.mp4
│  │  │  │      19-todomvc-双击修改任务功能完成.mp4
│  │  │  │      
│  │  │  └─1-9 TODOMVC案例下
│  │  │          20-todomvc-底部任务数量的显示.mp4
│  │  │          21-todomvc-清空任务功能.mp4
│  │  │          22-todomvc-底部样式切换.mp4
│  │  │          23-todomvc-任务列表切换功能.mp4
│  │  │          24-todomvc-全选功能完成.mp4
│  │  │          25-todomvc-hash模式与history模式.mp4
│  │  │          
│  │  ├─02、第二章 极客园PC端项目
│  │  │  ├─2-1 项目介绍
│  │  │  │      14-react-极客网项目介绍.mp4
│  │  │  │      15-项目初始化-创建项目.mp4
│  │  │  │      16-项目初始化-配置路由.mp4
│  │  │  │      17-项目初始化-使用antd组件库.mp4
│  │  │  │      18-登录功能-基本结构与样式.mp4
│  │  │  │      19-登录功能-项目绝对路径的使用和sass的配置.mp4
│  │  │  │      20-登录功能-登录表单的基本结构.mp4
│  │  │  │      21-登录功能-表单校验功能.mp4
│  │  │  │      
│  │  │  ├─2-10 修改文
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-修改文章-配置修改文章的路由.mp4
│  │  │  │      03-修改文章-获取文章的详细信息.mp4
│  │  │  │      04-修改文章-数据回显功能完成.mp4
│  │  │  │      05-修改文章-修复路由跳转的bug.mp4
│  │  │  │      06-修改文章-修改功能完成.mp4
│  │  │  │      07-修改文章-处理导航高亮的问题.mp4
│  │  │  │      
│  │  │  ├─2-2 登录功能
│  │  │  │      01-登录组件-antd表单校验时机的说明.mp4
│  │  │  │      02-登录组件-获取表单的数据.mp4
│  │  │  │      03-登录功能-自定义校验-Promise的静态方法.mp4
│  │  │  │      04-登录功能-axios请求封装.mp4
│  │  │  │      05-登录功能-api封装以及登录功能.mp4
│  │  │  │      06-登录功能-优化antd的消息提示.mp4
│  │  │  │      
│  │  │  ├─2-3 首页CSS处理
│  │  │  │      07-首页-css in js的介绍.mp4
│  │  │  │      08-首页-css-modules的基本使用.mp4
│  │  │  │      09-首页-css-modules全局类名global的使用.mp4
│  │  │  │      10-首页-css-module-global的使用.mp4
│  │  │  │      11-首页-css-modules的使用解决react样式冲突.mp4
│  │  │  │      
│  │  │  ├─2-4 首页退出功能
│  │  │  │      12-首页布局-使用antd的布局组件.mp4
│  │  │  │      13-首页-头部的结构与样式.mp4
│  │  │  │      14-首页-侧边栏结构与样式的处理.mp4
│  │  │  │      15-首页-内容区域的结构与样式.mp4
│  │  │  │      16-首页-嵌套路由的配置.mp4
│  │  │  │      17-首页-退出功能.mp4
│  │  │  │      18-首页-token的封装处理.mp4
│  │  │  │      19-首页-拦截未登录用户Router的render用法.mp4
│  │  │  │      
│  │  │  ├─2-5 AuthRoute组件
│  │  │  │      20-AuthRoute封装-基本结构.mp4
│  │  │  │      21-AuthRoute封装-render的使用.mp4
│  │  │  │      22-AuthRoute的答疑.mp4
│  │  │  │      23-AuthRoute封装-1-AuthRoute的结构.mp4
│  │  │  │      24-AuthRoute组件-判断用户是否登录.mp4
│  │  │  │      25-AuthRoute-基本功能完成.mp4
│  │  │  │      
│  │  │  ├─2-6 AuthRouter组件封装
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-反馈-css-modules的基本使用步骤.mp4
│  │  │  │      03-反馈-css modules的使用优化.mp4
│  │  │  │      04-反馈-Route的使用-render函数的介绍.mp4
│  │  │  │      05-反馈-route中render属性的props说明.mp4
│  │  │  │      06-route-封装AuthRoute-踩坑.mp4
│  │  │  │      07-AuthRouter组件封装-基本处理.mp4
│  │  │  │      08-AuthRoute组件封装-props的 处理.mp4
│  │  │  │      09-react-router-dom-官网的privateRoute组.mp4
│  │  │  │      10-AuthRoute组件-登录成功的回跳.mp4
│  │  │  │      11-首页布局-渲染用户的基本信息.mp4
│  │  │  │      12-HashRouter和BrowserRouter的本质.mp4
│  │  │  │      13-使用Router配合history组件使用.mp4
│  │  │  │      14-处理layout组件-菜单高亮.mp4
│  │  │  │      15-数据概览-功能完成.mp4
│  │  │  │      
│  │  │  ├─2-7 文章列表
│  │  │  │      16-文章列表-Card组件与面包屑组件的基本使用.mp4
│  │  │  │      17-文章列表-表单-单选框处理文章状态.mp4
│  │  │  │      18-文章列表-渲染频道相关的数据.mp4
│  │  │  │      19-文章列表-日期组件的使用以及中文处理.mp4
│  │  │  │      20-文章列表-表格的基本结构.mp4
│  │  │  │      21-文章列表-发送请求获取文章列表数据.mp4
│  │  │  │      22-文章列表-渲染表格的列.mp4
│  │  │  │      23-文章列表-处理图片的显示.mp4
│  │  │  │      24-文章列表-标签的处理-没声音.mp4
│  │  │  │      25-文章列表-状态的处理.mp4
│  │  │  │      26-文章列表-按钮的处理.mp4
│  │  │  │      
│  │  │  ├─2-8 内容管理
│  │  │  │      01-内容管理-分页的基本渲染.mp4
│  │  │  │      02-内容管理-分页功能的实现.mp4
│  │  │  │      03-内容管理-筛选功能的实现.mp4
│  │  │  │      04-内容管理-moment的时间优化.mp4
│  │  │  │      05-内容管理-删除功能完成.mp4
│  │  │  │      
│  │  │  └─2-9 发布文章
│  │  │          06-发布文章-错误的处.mp4
│  │  │          07-发布文章-表单基本结构.mp4
│  │  │          08-发布文章-标题的处理与校验.mp4
│  │  │          09-发布文章-channel组件的封装.mp4
│  │  │          10-发布文章-富文本编辑器的使用.mp4
│  │  │          11-发布文章-封面的切换逻辑.mp4
│  │  │          12-发布文章-图片上传功能和删除功能.mp4
│  │  │          13-发布文章-控制上传文件的数量.mp4
│  │  │          14-发布文章-图片预览功能.mp4
│  │  │          15-发布文章-上传图片的校验.mp4
│  │  │          16-发布文章-文件校验-bug.mp4
│  │  │          17-发布文章-功能完成.mp4
│  │  │          18-发布文章-添加草稿功能完成.mp4
│  │  │          
│  │  ├─03、第三章 Hooks
│  │  │  ├─3-1 render-prop
│  │  │  │      01-react组件复用方式-mixins-废弃.mp4
│  │  │  │      02-render-props封装-复用鼠标位置的逻辑.mp4
│  │  │  │      03-render-props-复用逻辑.mp4
│  │  │  │      04-render-props的整理.mp4
│  │  │  │      05-render-props-把render改成children属性.mp4
│  │  │  │      06-render-props模式-复用scroll.mp4
│  │  │  │      
│  │  │  ├─3-2 高阶组件
│  │  │  │      07-高阶组件HOC-的基本使用.mp4
│  │  │  │      08-高阶组件-HOCprops丢失的问题.mp4
│  │  │  │      
│  │  │  ├─3-3 hooks介绍
│  │  │  │      09-hooks基本介绍.mp4
│  │  │  │      10-为什么要有hooks.mp4
│  │  │  │      11-hooks的优势.mp4
│  │  │  │      
│  │  │  ├─3-4 hooks中useState、useEffect的使用
│  │  │  │      12-useState的基本语法.mp4
│  │  │  │      13-useState的说明.mp4
│  │  │  │      14-useState的使用规则.mp4
│  │  │  │      15-useEffect-副作用的解释.mp4
│  │  │  │      16-useEffect-基本使用-01.mp4
│  │  │  │      17-useEffect的基本使用01.mp4
│  │  │  │      18-useEffect的依赖项.mp4
│  │  │  │      19-useEffect不要对依赖项撒谎.mp4
│  │  │  │      20-useEffect清理副作用的说明.mp4
│  │  │  │      21-useEffect清理副作用的说明.mp4
│  │  │  │      22-hooks案例-实现鼠标移动.mp4
│  │  │  │      23-自定义hook的使用.mp4
│  │  │  │      24-useEffect发送请求.mp4
│  │  │  │      25-useEffect-发送请求-循环依赖的问题.mp4
│  │  │  │      26-useEffect取消请求的说明.mp4
│  │  │  │      
│  │  │  └─3-5 todos 案例 hooks版本
│  │  │          01-学生反馈.mp4
│  │  │          02-todos-hooks-列表展示.mp4
│  │  │          03-todos-hooks-添加任务功能.mp4
│  │  │          05-useContext的使用.mp4
│  │  │          07-todos-hooks-修改状态和本地存储.mp4
│  │  │          08-todos-hooks-双击显示弹窗.mp4
│  │  │          09-todos-hooks-双击修改任务.mp4
│  │  │          10-todos-hooks-底部筛选功能.mp4
│  │  │          11-todos-自定义hooks优化.mp4
│  │  │          12-React-memo高阶组件的使用.mp4
│  │  │          13-useCallback的说明.mp4
│  │  │          14-useMemo的使用.mp4
│  │  │          15-hooks的复习.mp4
│  │  │          
│  │  ├─04、第四章 Redux
│  │  │  ├─4-1 redux的介绍
│  │  │  │      16-redux课程介绍.mp4
│  │  │  │      17-redux的介绍.mp4
│  │  │  │      18-复习vuex的核心逻辑.mp4
│  │  │  │      19-redux的核心概念-action-reducer-store.mp4
│  │  │  │      
│  │  │  ├─4-2 redux的核心与案例
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-redux核心概念-action.mp4
│  │  │  │      03-redux核心概念-action-creator.mp4
│  │  │  │      04-纯函数的介绍.mp4
│  │  │  │      05-reducer的使用.mp4
│  │  │  │      06-redux-store的使用.mp4
│  │  │  │      07-redux-实现加一和减一的效果.mp4
│  │  │  │      08-redux配合react去使用.mp4
│  │  │  │      09-react-redux的基本使用.mp4
│  │  │  │      10-react-redux-练习(未删减).mp4
│  │  │  │      11-react-redux的练习2.mp4
│  │  │  │      12-redux-thunk处理异步代码.mp4
│  │  │  │      13-action-types的介绍.mp4
│  │  │  │      14-使用combineReducer合并多个reducer.mp4
│  │  │  │      
│  │  │  ├─4-3 todomvc 渲染
│  │  │  │      15-开发者工具的使用.mp4
│  │  │  │      16-json-server的基本使用.mp4
│  │  │  │      17-todos-redux-项目结构.mp4
│  │  │  │      18-todos-发送请求-获取数据.mp4
│  │  │  │      19-关于yarn的使用的说明.mp4
│  │  │  │      20-todomvc-列表渲染.mp4
│  │  │  │      21-todomvc-添加任务功能.mp4
│  │  │  │      22-关于预检请求的说明.mp4
│  │  │  │      
│  │  │  └─4-4 todomvc-redux版本
│  │  │          01-redux的流程.mp4
│  │  │          02-todomvc-删除功能的流程.mp4
│  │  │          03-todomvc-思路整理.mp4
│  │  │          04-todomvc-修改任务状态功能.mp4
│  │  │          05-todomvc-双击显示弹窗.mp4
│  │  │          06-setState同步异步的问题.mp4
│  │  │          07-todomvc-修改任务名字.mp4
│  │  │          08-todomvc-底部筛选功能.mp4
│  │  │          
│  │  ├─05、第五章 极客园H5项目
│  │  │  ├─5-1 极客园项目-初始化
│  │  │  │      09-极客园-移动端项目介绍.mp4
│  │  │  │      10-极客园-项目技术栈介绍.mp4
│  │  │  │      11-极客园-项目初始化.mp4
│  │  │  │      12-极客园-修改项目目录.mp4
│  │  │  │      13-样式搭建-通用样式处理.mp4
│  │  │  │      14-极客园-项目搭建-导入组件库.mp4
│  │  │  │      15-极客园-配置快捷路径.mp4
│  │  │  │      16-极客园-配置px转vw.mp4
│  │  │  │      17-配置项目路由.mp4
│  │  │  │      18-项目搭建-redux环境配置.mp4
│  │  │  │      19-字体图标的使用-js的方式.mp4
│  │  │  │      20-登录功能-Icon组件的封装.mp4
│  │  │  │      21-移动端1px的处理.mp4
│  │  │  │      【重要、必看】补充说明:极客园-配置px转vm.mp4
│  │  │  │      
│  │  │  ├─5-10 token 刷新及406页面处理
│  │  │  │      09-刷新token-功能完成.mp4
│  │  │  │      
│  │  │  ├─5-11 token 刷新及407页面处理
│  │  │  │      10-刷新token-失败后刷新token且重新发请求.mp4
│  │  │  │      
│  │  │  ├─5-12 token 刷新及408页面处理
│  │  │  │      11-刷新token-刷新token失败的处理.mp4
│  │  │  │      
│  │  │  ├─5-13 token 刷新及409页面处
│  │  │  │      12-刷新token-发现bug.mp4
│  │  │  │      
│  │  │  ├─5-14 token 刷新及410页面处理
│  │  │  │      13-刷新token-打断点.mp4
│  │  │  │      
│  │  │  ├─5-15 token 刷新及411页面处理
│  │  │  │      14-404页面-处理定时跳转.mp4
│  │  │  │      
│  │  │  ├─5-16 token 刷新及412页面处理
│  │  │  │      15-404页面-倒计时的处理.mp4
│  │  │  │      
│  │  │  ├─5-17 token 刷新及413页面处理
│  │  │  │      16-404-处理定时器问题.mp4
│  │  │  │      
│  │  │  ├─5-18 tabs 组件
│  │  │  │      17-首页-其他一些不常用的页面.mp4
│  │  │  │      18-首页-tabs组件的基本使用.mp4
│  │  │  │      19-首页tabs组件的渲染.mp4
│  │  │  │      20-首页-频道管理-获取频道数据的逻辑优化.mp4
│  │  │  │      21-首页-频道管理-展示频道管理组件.mp4
│  │  │  │      22-首页-频道管理-推荐频道的渲染.mp4
│  │  │  │      23-首页-lodash的使用介绍.mp4
│  │  │  │      24-首页-lodash的按需导入.mp4
│  │  │  │      
│  │  │  ├─5-19 首页文章频道管理
│  │  │  │      01-首页-频道高亮的切换.mp4
│  │  │  │      02-首页-tabs组件的作用.mp4
│  │  │  │      03-首页-编辑模块的切换.mp4
│  │  │  │      04-首页-频道管理-删除频道的功能.mp4
│  │  │  │      05-首页-频道管理-删除频道-删除逻辑优化.mp4
│  │  │  │      06-首页-添加功能完成.mp4
│  │  │  │      07-首页-articleList的基本结构与样式.mp4
│  │  │  │      08-首页-发送请求-当前频道对应的文章数据.mp4
│  │  │  │      09-首页-文章列表数据的渲染.mp4
│  │  │  │      10-首页-把文章列表数据保存到redux中的分析.mp4
│  │  │  │      11-首页-把文章列表数据保存到redux中.mp4
│  │  │  │      12-首页-渲染文章列表.mp4
│  │  │  │      
│  │  │  ├─5-2 极客园项目-登录功能
│  │  │  │      01-登录功能-导航条的封装-withRouter的用法.mp4
│  │  │  │      02-登录功能-导航条封装-useHistory的使用.mp4
│  │  │  │      03-登录功能-登录页面基本结构.mp4
│  │  │  │      04-登录功能-Input组件的封装.mp4
│  │  │  │      05-登录功能-Input组件封装-补充说明.mp4
│  │  │  │      06-登录功能-formik的介绍.mp4
│  │  │  │      07-登录功能-formik基本使用功能.mp4
│  │  │  │      08-登录功能-formik校验的基本使用.mp4
│  │  │  │      08-登录功能-yup的使用.mp4
│  │  │  │      09-登录功能-登录按钮禁用的使用.mp4
│  │  │  │      10-登录功能-axios的基本封装.mp4
│  │  │  │      12-登录功能-获取验证码-消息提示优化.mp4
│  │  │  │      13-登录功能-验证码倒计时.mp4
│  │  │  │      14-登录功能-函数组件的特性说明.mp4
│  │  │  │      15-登录功能-如何获取组件的最新值.mp4
│  │  │  │      16-登录功能-倒计时完成.mp4
│  │  │  │      17-登录功能-axios统一处理错误信息.mp4
│  │  │  │      18-登录功能-把token存储到redux中.mp4
│  │  │  │      19-登录功能-token保存到本地.mp4
│  │  │  │      
│  │  │  ├─5-20 上拉加载下拉刷新
│  │  │  │      13-首页-下拉刷新功能与antd-mobile v5版本.mp4
│  │  │  │      14-首页-上拉加载更多-infiniteScroll组件的使用.mp4
│  │  │  │      15-首页-上拉加载更多数据.mp4
│  │  │  │      16-首页-上拉加载更多数据-处理.mp4
│  │  │  │      17-首页-上拉记载更多-整理.mp4
│  │  │  │      18-首页-记录滚动条的位置.mp4
│  │  │  │      
│  │  │  ├─5-21 hooks中的API
│  │  │  │      01-hooks中的useReducer.mp4
│  │  │  │      02-redux配合class组件使用功能.mp4
│  │  │  │      03-intersectionObserver的使用.mp4
│  │  │  │      04-图片懒加载组件封装.mp4
│  │  │  │      05-MoreAction-数据的分析.mp4
│  │  │  │      06-MoreAction-控制弹窗的显示和隐藏.mp4
│  │  │  │      07-MoreAction-控制显示和隐藏.mp4
│  │  │  │      08-拉黑功能-举报文章.mp4
│  │  │  │      09-不喜欢文章功能-完成.mp4
│  │  │  │      10-举报功能-功能完成.mp4
│  │  │  │      
│  │  │  ├─5-3 极客园项目-首页
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-token为什么要存在redux和localstorage中.mp4
│  │  │  │      03-请求拦截器-统一配置token信息.mp4
│  │  │  │      04-首页-基础布局.mp4
│  │  │  │      05-首页-tabBar基本渲染完成.mp4
│  │  │  │      06-首页-配置项目二级路由.mp4
│  │  │  │      07-首页-配置二级路由的注意事项.mp4
│  │  │  │      08-首页-个人中心基本结构与样式.mp4
│  │  │  │      09-首页-个人中心-发送请求获取用户信息.mp4
│  │  │  │      
│  │  │  ├─5-4 极客园项目-个人中心(上)
│  │  │  │      10-个人中心-渲染个人信息.mp4
│  │  │  │      11-个人中心-准备个人详情的结构与样式.mp4
│  │  │  │      12-个人中心-获取个人详细信息.mp4
│  │  │  │      13-个人中心-渲染用户详细信息.mp4
│  │  │  │      14-个人中心-抽屉组件-样式bug.mp4
│  │  │  │      15-个人中心-抽屉组件-样式.mp4
│  │  │  │      16-个人中心-抽屉组件-基本使用功能.mp4
│  │  │  │      17-个人中心-封装editInput组件.mp4
│  │  │  │      18-个人中心-EditiInput组件的封装.mp4
│  │  │  │      19-个人中心-判断显示昵称还是简介.mp4
│  │  │  │      20-个人中心-Textarea组件的封装.mp4
│  │  │  │      21-个人中心-回显了昵称和简介.mp4
│  │  │  │      22-个人中心-修改昵称和简介完成.mp4
│  │  │  │      
│  │  │  ├─5-5 极客园项目-个人中心(下)
│  │  │  │      01-学生反馈.mp4
│  │  │  │      02-学生反馈-http的基础.mp4
│  │  │  │      03-学生反馈-ip地址的解析.mp4
│  │  │  │      04-学生反馈-三次握手和四次挥.mp4
│  │  │  │      05-学生反馈-完整流程.mp4
│  │  │  │      06-个人中心-修改昵称和简介-自动获取光标.mp4
│  │  │  │      07-个人中心-修改性别和头像-抽屉组件的使用.mp4
│  │  │  │      08-个人中心-区分头像和性别的渲染.mp4
│  │  │  │      09-个人中心-上传头像功能完成.mp4
│  │  │  │      10-个人中心- 上传图片的说明.mp4
│  │  │  │      11-个人中心-修改生日.mp4
│  │  │  │      12-个人中心-退出功能.mp4
│  │  │  │      
│  │  │  ├─5-6 极客园项目-小智同学
│  │  │  │      13-websocket介绍.mp4
│  │  │  │      14-websocket的流程介绍.mp4
│  │  │  │      15-小智同学-准备组件和路由.mp4
│  │  │  │      16-小智同学-基本结构与渲染.mp4
│  │  │  │      17-小智同学-socketio的初始化.mp4
│  │  │  │      18-小智同学-给小智同学发消息.mp4
│  │  │  │      19-小智同学-监听消息并且滚动到底部.mp4
│  │  │  │      20-个人中心-token的判断.mp4
│  │  │  │      
│  │  │  ├─5-7 路由守卫AuthRoute
│  │  │  │      01-AuthRoute-render属性的语法.mp4
│  │  │  │      02-AuthRoute-基本封装.mp4
│  │  │  │      03-AuthRoute-登录跳回到拦截之前的页面.mp4
│  │  │  │      04-history中push和replace的区别.mp4
│  │  │  │      05-AuthRoute-使用push替换replace.mp4
│  │  │  │      06-公司项目的流程说明.mp4
│  │  │  │      
│  │  │  ├─5-8 token 刷新及404页面处理
│  │  │  │      07-刷新token的说明.mp4
│  │  │  │      
│  │  │  └─5-9 token 刷新及405页面处理
│  │  │          08-刷新token-判断401-未删减.mp4
│  │  │          
│  │  └─06、第六章 Typescript
│  │      ├─6-1 ts 介绍
│  │      │      11-typescript的介绍.mp4
│  │      │      12-typescript为什么要给js提供类型支持.mp4
│  │      │      13-typescript相比js的优势.mp4
│  │      │      14-typescript的基本使用步骤.mp4
│  │      │      15-typescript的安装.mp4
│  │      │      16-ts的原始类型.mp4
│  │      │      
│  │      ├─6-10 ts 改造登录功能
│  │      │      22-ts改造-unknown类型.mp4
│  │      │      23-ts改造-登录组件改造-useLocation的用法.mp4
│  │      │      24-ts改造-login模块-action修改.mp4
│  │      │      25-ts改造-登录功能-索引签名类型.mp4
│  │      │      26-ts改造-登录功能-reducer的处理.mp4
│  │      │      
│  │      ├─6-11 Home组件
│  │      │      01-profile组件改造-reducer的修改.mp4
│  │      │      02-profile组件-actions的修改.mp4
│  │      │      03-profile组件-如何获取RootState的类型.mp4
│  │      │      04-profile组件-useSelector的使用.mp4
│  │      │      05-Profile组件-索引查询类型.mp4
│  │      │      06-Home组件-修改home组件reducer的类型.mp4
│  │      │      07-Home组件修改-reducer修改完成.mp4
│  │      │      08-Home组件-修改utils中saveToken报错问题.mp4
│  │      │      09-Home组件-修改utils中logout报错问题.mp4
│  │      │      10-Home组件-action的改造.mp4
│  │      │      11-Home组件改造-RootThunkAction类型的.mp4
│  │      │      12-Home组件-action修改完成.mp4
│  │      │      
│  │      ├─6-12 搜索功能-上
│  │      │      13-搜索功能-ts改造首页.mp4
│  │      │      14-搜索功能-search组件创建与路由配置.mp4
│  │      │      15-搜索功能-准备redux的结构.mp4
│  │      │      16-搜索功能-获取搜索内容以及防抖处理.mp4
│  │      │      
│  │      ├─6-13 搜索功能-下
│  │      │      01-搜索功能-防抖函数的处理.mp4
│  │      │      02-搜索功能-存储推荐数据到redux.mp4
│  │      │      03-搜索功能-typescript如何指定泛型类型.mp4
│  │      │      04-搜索功能-展示推荐列表.mp4
│  │      │      05-搜索功能-高亮的逻辑处理.mp4
│  │      │      06-搜索功能-高亮与null值处理.mp4
│  │      │      07-搜索功能-控制搜索推荐和搜索历史的显示.mp4
│  │      │      08-搜索功能-清空推荐功能.mp4
│  │      │      09-搜索功能-清空的笔记.mp4
│  │      │      10-搜索功能能-添加历史记录-上.mp4
│  │      │      11-搜索功能-保存历史记录到redux和storage中.mp4
│  │      │      12=搜索功能-添加历史记录.mp4
│  │      │      13-搜索功能-清空历史记录.mp4
│  │      │      14-搜索结果-路由的配置.mp4
│  │      │      15-搜索功能-获取地址栏参数.mp4
│  │      │      16-搜索功能-获取搜索结果数据.mp4
│  │      │      17-搜索功能-加载更多文章.mp4
│  │      │      18-图片403的解释和解决方案.mp4
│  │      │      
│  │      ├─6-14 文章详情(上)
│  │      │      19-文章详情-配置路由.mp4
│  │      │      20-文章详情-发送请求-获取文章详情数据.mp4
│  │      │      21-文章详情-获取文章详情数据.mp4
│  │      │      22-文章详情-渲染文章详情数据.mp4
│  │      │      23-文章详情-使用dompurify防止xss攻击.mp4
│  │      │      
│  │      ├─6-15 文章详情(中)
│  │      │      02-文章详情-顶部显示作者信息功能完成.mp4
│  │      │      03-文章详情-获取评论数据.mp4
│  │      │      04-文章详情-渲染评论列表.mp4
│  │      │      05-文章详情-加载更多评论.mp4
│  │      │      06-文章详情-评论的底部功能处理.mp4
│  │      │      07-文章详情-点赞功能.mp4
│  │      │      08-文章详情-收藏功能完成.mp4
│  │      │      09-文章详情-跳转到评论与顶部的功能.mp4
│  │      │      
│  │      ├─6-16 文章详情(下)
│  │      │      10-吸顶组件-功能完成.mp4
│  │      │      11-商品详情-分享功能完成.mp4
│  │      │      12-商品详情页-发表评论功能完成.mp4
│  │      │      13-文章详情-样式bug修改.mp4
│  │      │      14-文章详情-展示回复的弹窗.mp4
│  │      │      15-文章详情-展示原评论.mp4
│  │      │      16-文章详情-评论的回复列表显示.mp4
│  │      │      17-文章详情-回复列表按钮的控制.mp4
│  │      │      18-文章详情-回复评论的抽屉.mp4
│  │      │      19-文章详情-添加回复功能.mp4
│  │      │      20-文章详情-更新回复数量.mp4
│  │      │      21-文章详情-回复功能数量+1.mp4
│  │      │      22-优化-缓存组件的使用说明.mp4
│  │      │      23-优化-react中cdn的配置.mp4
│  │      │      
│  │      ├─6-2 ts 基础
│  │      │      17-ts-使用注意事项.mp4
│  │      │      18-ts-数组类型的使用.mp4
│  │      │      19-ts基础-联合类型.mp4
│  │      │      20-ts基础-类型别名.mp4
│  │      │      21-ts基础-函数类型基本使用.mp4
│  │      │      22-ts基础-void类型.mp4
│  │      │      22-ts基础-函数的可选参数与默认值.mp4
│  │      │      23-ts基础-接口的基本使用功能.mp4
│  │      │      
│  │      ├─6-3 ts 对象
│  │      │      24-对象类型的基本使用.mp4
│  │      │      25-对象类型-可选属性.mp4
│  │      │      26-接口指定对象类型.mp4
│  │      │      27-对象类型的练习.mp4
│  │      │      28-接口的继承.mp4
│  │      │      
│  │      ├─6-4 ts 类型
│  │      │      01-ts基础-元组.mp4
│  │      │      02-ts基础-类型推论.mp4
│  │      │      03-字面量类型的使用.mp4
│  │      │      04-枚举的基本使用.mp4
│  │      │      05-枚举的值的说明.mp4
│  │      │      06-any类型的介绍.mp4
│  │      │      07-类型断言的使用.mp4
│  │      │      08-typeof的说明.mp4
│  │      │      
│  │      ├─6-5 ts 泛型
│  │      │      09-泛型的基本介绍.mp4
│  │      │      10-泛型的基本类型.mp4
│  │      │      11-泛型-简化使用.mp4
│  │      │      12-泛型-数组就是一个泛型.mp4
│  │      │      13-泛型-泛型的约束.mp4
│  │      │      14-泛型约束.mp4
│  │      │      15-泛型接口.mp4
│  │      │      
│  │      ├─6-6 react 中ts
│  │      │      16-ts基础-useState与useRef.mp4
│  │      │      17-ts基础-泛型工具类型.mp4
│  │      │      18-在react中使用ts-ts配置文件的介绍.mp4
│  │      │      19-在react中使用ts-ts和tsx的区别.mp4
│  │      │      
│  │      ├─6-7 类型声明文件
│  │      │      20-类型声明文件d-ts的介绍.mp4
│  │      │      21-类型声明文件-第三方库.mp4
│  │      │      22-类型声明文件-给已有的js添加类型声明.mp4
│  │      │      23-类型声明文件-把js改造成ts.mp4
│  │      │      24-类型声明文件-使用声明文件改造js.mp4
│  │      │      25-项目改造-增加ts的支持.mp4
│  │      │      
│  │      ├─6-8 面试题-节流
│  │      │      01-面试题-请求节流.mp4
│  │      │      02-面试题-请求节流2个一起发-todo.mp4
│  │      │      03-面试题-请求节流2个一起发.mp4
│  │      │      04-面试题-请求节流2个一起-优化.mp4
│  │      │      
│  │      └─6-9 ts 改造
│  │              05-ts改造-App组件和history函数.mp4
│  │              06-ts改造-修改storage中的setToken和getT.mp4
│  │              07-非空断言的使用.mp4
│  │              08-ts改造-修改storage-完成.mp4
│  │              09-ts改造-拒绝访问.mp4
│  │              10-ts改造-utils中request的改造.mp4
│  │              11-ts改造-NavBar组件改造.mp4
│  │              12-ts改造-修改Icon组件和NavBar组件.mp4
│  │              13-ts改造-Img组件.mp4
│  │              14-ts改造-useRef如何在typescript中使用.mp4
│  │              15-ts改造-改造Input组件-上.mp4
│  │              16-ts改造-Input组件-支持input框所有的属性.mp4
│  │              17-ts改造-较差类型和Omit泛型类.mp4
│  │              18-ts改造-Input改造完成.mp4
│  │              19-ts改造-TextArea组件的改造.mp4
│  │              20-ts改造-AutoRoute组件改造.mp4
│  │              21-ts改造-改造Layout和NotFound组件.mp4
│  │              22-ts改造-unknown类型.mp4
│  │              
│  ├─08、阶段八  360°职业规划-前端
│  │  ├─01、第一章 1-前端-工作面试指导技巧
│  │  │      01-工作指导课介绍.mp4
│  │  │      01-简历核心组成部分以及标题讲解.mp4
│  │  │      02-简历书写-求职意向.mp4
│  │  │      03-简历书写-专业技能.mp4
│  │  │      04-简历书写-工作经历.mp4
│  │  │      05-简历书写-项目经验.mp4
│  │  │      06-简历书写-教育经历&自我评价.mp4
│  │  │      09-求职篇-招聘流程.mp4
│  │  │      10-求职篇-简历相关.mp4
│  │  │      11-求职篇-面试相关.mp4
│  │  │      12-面试篇-注意事项.mp4
│  │  │      13-工作篇.mp4
│  │  │      14-市场篇.mp4
│  │  │      15-人事篇.mp4
│  │  │      16-工作心理篇.mp4
│  │  │      
│  │  ├─02、第二章 2-前端就业加强课
│  │  │  ├─0-1 内容介绍【react面试题是选学,参考讲义即可】
│  │  │  │      00-内容介绍.mp4
│  │  │  │      
│  │  │  ├─0-2 HTML+CSS
│  │  │  │      01-HTML基础-HTML5的基本认知.mp4
│  │  │  │      02-HTML基础-data-开头的元素属性是什么.mp4
│  │  │  │      03-HTML基础-谈谈你对 HTML 语义化的理解.mp4
│  │  │  │      04-HTML基础-HTML5 对比 HTML4 有哪些不同.mp4
│  │  │  │      05-HTML基础-meta 标签有哪些常用用法?.mp4
│  │  │  │      06-HTML基础-img 标签的 srcset 的作用是什么?.mp4
│  │  │  │      07-HTML基础-响应式图片处理优化Picture标签.mp4
│  │  │  │      08-HTML基础-在 script 标签上使用 defer 和 as.mp4
│  │  │  │      09-HTML基础-前端做本地存储的方式有哪些.mp4
│  │  │  │      10-CSS基础-CSS选择器的优先级.mp4
│  │  │  │      11-CSS基础-通过CSS的哪些方式可以隐藏页面.mp4
│  │  │  │      12-CSS基础-px, em, rem之间的区别.mp4
│  │  │  │      13-CSS基础-让元素水平居中的方法有哪些(4种.mp4
│  │  │  │      14-CSS基础-在 CSS 中有哪些定位方式.mp4
│  │  │  │      15-CSS基础-如何理解 z-index, z-index的小坑.mp4
│  │  │  │      16-CSS基础-如何清除浮动.mp4
│  │  │  │      17-CSS基础-谈谈你对 BFC 的理解.mp4
│  │  │  │      18-CSS基础-什么是CSS Sprites以及它的好处.mp4
│  │  │  │      19-CSS基础-你对媒体查询的理解是什么样的?(响应式适配).mp4
│  │  │  │      20-CSS基础-你对盒模型的理解是什么样的?标.mp4
│  │  │  │      21-CSS基础-说说伪类和伪元素的区别.mp4
│  │  │  │      22-CSS基础-谈谈你对 flex 的理解.mp4
│  │  │  │      
│  │  │  ├─0-3 JavaScript基础
│  │  │  │      00-简要复习.mp4
│  │  │  │      01-JS基础-谈谈你对 JavaScript 作用域链的理解.mp4
│  │  │  │      02-JS基础-谈谈你对闭包的理解.mp4
│  │  │  │      03-JS基础-闭包补充说明.mp4
│  │  │  │      04-JS基础-数据类型的隐式转换规则(了解).mp4
│  │  │  │      05-JS基础-谈谈你对原型链的理解.mp4
│  │  │  │      06-JS基础-为什么要有继承.mp4
│  │  │  │      07-JS基础-继承-原型继承.mp4
│  │  │  │      08-JS基础-继承-组合式继承.mp4
│  │  │  │      09-JS基础-继承-寄生组合式继承.mp4
│  │  │  │      10-JS基础-es6-class 实现继承 extends.mp4
│  │  │  │      11-JS基础-如何判断是否是数组.mp4
│  │  │  │      12-JS基础-this指向的整理.mp4
│  │  │  │      13-JS基础-this小练习-箭头函数中的this问题.mp4
│  │  │  │      14-JS基础-Promise的静态方法.mp4
│  │  │  │      15-JS基础-宏任务和微任务.mp4
│  │  │  │      16-JS基础-宏任务微任务练习题1.mp4
│  │  │  │      17-JS基础-宏任务微任务练习题2.mp4
│  │  │  │      23-JS基础-解释下什么是变量提升.mp4
│  │  │  │      24-JS基础-JS的参数以什么方式传递的.mp4
│  │  │  │      25-JS基础-JavaScript垃圾回收01.mp4
│  │  │  │      26-JS基础-JavaScript垃圾回收02.mp4
│  │  │  │      
│  │  │  ├─0-4 HTTP协议
│  │  │  │      01-HTTP协议-为什么需要HTTPS.mp4
│  │  │  │      02-HTTP协议-对称加密.mp4
│  │  │  │      03-HTTP协议-非对称加密和HTTPS的加密解决方案.mp4
│  │  │  │      04-HTTP协议-数字证书(保证你正在访问的.mp4
│  │  │  │      05-HTTP协议-数字签名和小结.mp4
│  │  │  │      06-HTTP协议-HTTP2和HTTP1相比的优势.mp4
│  │  │  │      07-HTTP协议-http缓存的基本认知.mp4
│  │  │  │      08-HTTP协议-强缓存的认知.mp4
│  │  │  │      09-HTTP协议-协商缓存认知.mp4
│  │  │  │      10-HTTP协议-整体巩固.mp4
│  │  │  │      11-HTTP协议-整体缓存流程图.mp4
│  │  │  │      18-HTTP协议-HTTP的常见方法.mp4
│  │  │  │      19-HTTP协议-GET方法和POST方法有何区别.mp4
│  │  │  │      20-HTTP协议-请求报文的组成部分.mp4
│  │  │  │      21-HTTP协议-响应报文的组成部.mp4
│  │  │  │      22-HTTP协议-状态码-2x.mp4
│  │  │  │      23-HTTP协议-状态-3xx(重点记忆304).mp4
│  │  │  │      24-HTTP协议-状态码(4xx和5xx)400,401.mp4
│  │  │  │      25-HTTP协议-keep-alive是什么(复用连接).mp4
│  │  │  │      26-简要小结.mp4
│  │  │  │      
│  │  │  ├─0-5 TCP协议
│  │  │  │      12-TCP协议-一次完整的http服务的流程.mp4
│  │  │  │      13-TCP协议-什么是DNS解析.mp4
│  │  │  │      14-TCP协议-三次握手.mp4
│  │  │  │      15-TCP协议-四次挥手.mp4
│  │  │  │      
│  │  │  ├─0-6 浏览器原理
│  │  │  │      00-复习回顾.mp4
│  │  │  │      01-浏览器原理-前端如何实现即时通信.mp4
│  │  │  │      02-浏览器原理-同源策略和跨.mp4
│  │  │  │      16-DOM-事件流和事件委托.mp4
│  │  │  │      17-浏览器原理-浏览器是如何解析选择器的-1.mp4
│  │  │  │      18-浏览器原理-如何解析选择器的-2.mp4
│  │  │  │      19-浏览器原理-浏览器是如何进行界面渲染的.mp4
│  │  │  │      20-浏览器原理-重排和重绘的认知.mp4
│  │  │  │      21-浏览器原理-浏览器对于重绘重排的优化.mp4
│  │  │  │      22-浏览器原理-如何从重绘和重排角度优化性能.mp4
│  │  │  │      
│  │  │  ├─0-7 前端工程化
│  │  │  │      03-前端工程化-babel的原理.mp4
│  │  │  │      04-前端工程化-babel实现插件.mp4
│  │  │  │      05-前端工程化-git工作流.mp4
│  │  │  │      06-前端工程化-git的rebase和merge的区别.mp4
│  │  │  │      07-前端工程化-git的reset回退和revert撤销.mp4
│  │  │  │      
│  │  │  └─0-8 Vue相关
│  │  │          08-vu.mp4
│  │  │          09-vue相关-谈谈对于vue生命周期的理解.mp4
│  │  │          10-vue相关-组件通信-父子props和$emit.mp4
│  │  │          11-vue相关-组件通信-$children $parent $refs.mp4
│  │  │          12-vue相关-组件通信-provide inject.mp4
│  │  │          13-vue相关-组件通信-$attrs和$listeners.mp4
│  │  │          14-vue相关-组件通信-vuex.mp4
│  │  │          15-上午回顾.mp4
│  │  │          16-vue相关-computed和watch的区别.mp4
│  │  │          17-vue相关-vue双向数据绑定的原理.mp4
│  │  │          18-vue相关-响应式系统原理(dep收集依赖-数据.mp4
│  │  │          19-vue相关-key的作用.mp4
│  │  │          20-vue相关-Vue 跳转路由时的传参方式 (query和params的区别).mp4
│  │  │          21-vue相关-vue项目进行SEO优化.mp4
│  │  │          22-vue相关-vue项目权限控制.mp4
│  │  │          23-vue相关-vue项目支付功能.mp4
│  │  │          24-vue相关-如何处理打包出来的项目首屏加载.mp4
│  │  │          25-vue相关-你在项目中遇到过什么技术难题.mp4
│  │  │          26-vue相关-请简单介绍一下你们的项目.mp4
│  │  │          
│  │  ├─03、第三章 3-Vue电商后台管理系统面试题【项目面试题】
│  │  │      10、路由守卫.mp4
│  │  │      11、通过axios 拦截器添加token验证.mp4
│  │  │      12、菜单使用.mp4
│  │  │      13、用户列表1.mp4
│  │  │      14、用户列表2.mp4
│  │  │      15、分页处理.mp4
│  │  │      16、更新用户状态.mp4
│  │  │      17、用户信息添加.mp4
│  │  │      18、用户编辑.mp4
│  │  │      19、用户删除.mp4
│  │  │      1、学习内容介绍.mp4
│  │  │      20、用户角色权限关系.mp4
│  │  │      21、权限渲染.mp4
│  │  │      22、删除指定角色下的权限.mp4
│  │  │      23、为角色分配权限1.mp4
│  │  │      24、为角色分配权限2.mp4
│  │  │      25、为角色分配权限3.mp4
│  │  │      26、为用户分配角色.mp4
│  │  │      27、商品分类数据展示.mp4
│  │  │      28、模板列渲染.mp4
│  │  │      29、添加商品分类1.mp4
│  │  │      2、系统的功能划分介绍.mp4
│  │  │      30、添加商品分类2.mp4
│  │  │      31、分类参数介绍.mp4
│  │  │      32、获取分类参数数据.mp4
│  │  │      33、添加分类参数.mp4
│  │  │      34、分类参数编辑与删除.mp4
│  │  │      35、指定参数添加.mp4
│  │  │      36、过滤器应用.mp4
│  │  │      37、商品添加1.mp4
│  │  │      38、商品添加2.mp4
│  │  │      39、实现图片上传.mp4
│  │  │      3、开发模式介绍.mp4
│  │  │      40、完成商品添加.mp4
│  │  │      41、项目优化1.mp4
│  │  │      42、项目优化2.mp4
│  │  │      43.项目优化3.mp4
│  │  │      44、项目部署上线.mp4
│  │  │      4、技术选型 介绍.mp4
│  │  │      5、登录业务流程.mp4
│  │  │      6、token原理分析.mp4
│  │  │      7、登录页面构建.mp4
│  │  │      8、发起登录请求.mp4
│  │  │      9、客户端存储token信息.mp4
│  │  │      
│  │  ├─04、第四章 4-Vue面试题精讲【含VUE3】
│  │  │  ├─0-1 Vue核心知识点
│  │  │  │      10、侦听器.mp4
│  │  │  │      11、生命周期简介.mp4
│  │  │  │      12、生命周期探讨1.mp4
│  │  │  │      13、生命周期探讨2.mp4
│  │  │  │      14、生命周期探讨3.mp4
│  │  │  │      15、生命周期探讨4.mp4
│  │  │  │      16、组件概述.mp4
│  │  │  │      17、组件基本使用.mp4
│  │  │  │      18、局部组件使用.mp4
│  │  │  │      19、父组件向子组件传值.mp4
│  │  │  │      1、课程介绍.mp4
│  │  │  │      20、子组件向父组件传值.mp4
│  │  │  │      21、兄弟组件传值.mp4
│  │  │  │      22、插槽简介.mp4
│  │  │  │      23、插槽基本创建.mp4
│  │  │  │      24、具名插槽.mp4
│  │  │  │      25、作用域插槽应用.mp4
│  │  │  │      26、作用域查看案例.mp4
│  │  │  │      27、插槽总结.mp4
│  │  │  │      28、Vue组件化的理解.mp4
│  │  │  │      29、Vue.set方法.mp4
│  │  │  │      2、Vue基本使用介绍.mp4
│  │  │  │      30、Vue.delete方法.mp4
│  │  │  │      31、$on与$emit方法.mp4
│  │  │  │      32、自定义组件实现双向绑定.mp4
│  │  │  │      33、使用插槽完成内容分发.mp4
│  │  │  │      34、事件总线.mp4
│  │  │  │      35、$once与$off.mp4
│  │  │  │      36、ref 和vm.$refs.mp4
│  │  │  │      37、过滤器基本使用.mp4
│  │  │  │      38、带参数的过滤器.mp4
│  │  │  │      39、自定义指令基本使用.mp4
│  │  │  │      3、属性绑定.mp4
│  │  │  │      40、 自定义指令-带参数.mp4
│  │  │  │      41、自定义局部指令.mp4
│  │  │  │      42、渲染函数.mp4
│  │  │  │      43、混入.mp4
│  │  │  │      44、插件介绍.mp4
│  │  │  │      4、列表渲染.mp4
│  │  │  │      5、v-model.mp4
│  │  │  │      6、v-on.mp4
│  │  │  │      7、Class与Style绑定.mp4
│  │  │  │      8、条件渲染.mp4
│  │  │  │      9、计算属性.mp4
│  │  │  │      
│  │  │  ├─0-2 Vue-Router知识点
│  │  │  │      10、将菜单改造为路由连接.mp4
│  │  │  │      11、添加子路由规则并实现路由重定向.mp4
│  │  │  │      12、渲染用户列表数据.mp4
│  │  │  │      13、跳转到详情页.mp4
│  │  │  │      14、路由全局守卫.mp4
│  │  │  │      15、路由独享守卫.mp4
│  │  │  │      16、组件内守卫.mp4
│  │  │  │      17、addRoutes动态路由添加.mp4
│  │  │  │      18、路由组件缓存.mp4
│  │  │  │      19、Hash模式与History模式.mp4
│  │  │  │      1、路由简介.mp4
│  │  │  │      20、History模式使用1.mp4
│  │  │  │      21、History模式2.mp4
│  │  │  │      22、Nginx配置History模式.mp4
│  │  │  │      23、复习VueRouter工作原理.mp4
│  │  │  │      24、install方法实现.mp4
│  │  │  │      25、构造方法创建.mp4
│  │  │  │      26、解析路由规则.mp4
│  │  │  │      27、创建router-link组件.mp4
│  │  │  │      28、测试.mp4
│  │  │  │      29、构建render函数.mp4
│  │  │  │      2、路由基本使用.mp4
│  │  │  │      30、构建router-view组件.mp4
│  │  │  │      31、解决组件加载问题.mp4
│  │  │  │      32、解决前进与后退问题.mp4
│  │  │  │      33、复习总结.mp4
│  │  │  │      34、查看Vue.use方法源码.mp4
│  │  │  │      35、VueRouter目录结构分析.mp4
│  │  │  │      36、VueRouter类初步创建.mp4
│  │  │  │      37、install方法第二种方式实现.mp4
│  │  │  │      38、组件创建测试.mp4
│  │  │  │      3、路由重定向.mp4
│  │  │  │      40、路由规则解析2.mp4
│  │  │  │      41、路由规则解析完成.mp4
│  │  │  │      42、match方法实现.mp4
│  │  │  │      43、历史记录处理.mp4
│  │  │  │      44、不同路由模式判断处理.mp4
│  │  │  │      45、代码测试.mp4
│  │  │  │      46、定义响应式路由属性.mp4
│  │  │  │      47、创建$route与$router.mp4
│  │  │  │      48、组件渲染1.mp4
│  │  │  │      49、组件渲染2.mp4
│  │  │  │      4、路由嵌套.mp4
│  │  │  │      50、组件渲染完成.mp4
│  │  │  │      5、动态匹配路由的基本用法.mp4
│  │  │  │      6、路由组件传递参数.mp4
│  │  │  │      7、命名路由.mp4
│  │  │  │      8、编程式导航.mp4
│  │  │  │      9、路由案例-渲染根组件.mp4
│  │  │  │      
│  │  │  ├─0-3 Vue响应式原理
│  │  │  │      10、创建Observer类.mp4
│  │  │  │      11、完善defineReactive方法.mp4
│  │  │  │      12、Compiler类结构.mp4
│  │  │  │      13、 compile方法实现.mp4
│  │  │  │      14、compileText方法实现.mp4
│  │  │  │      15、compileElement方法实现.mp4
│  │  │  │      16、Dep类分析.mp4
│  │  │  │      17、创建Dep类.mp4
│  │  │  │      18、创建Watcher类.mp4
│  │  │  │      19、创建Watcher对象.mp4
│  │  │  │      1、课程目标.mp4
│  │  │  │      20、创建Watcher对象2.mp4
│  │  │  │      21、实现双向数据绑定.mp4
│  │  │  │      22、响应式的问题.mp4
│  │  │  │      2、数据驱动介绍.mp4
│  │  │  │      3、defineProperty基本使用.mp4
│  │  │  │      4、defineProperty使用2.mp4
│  │  │  │      5、Vue3响应式原理.mp4
│  │  │  │      6、发布订阅模式介绍.mp4
│  │  │  │      7、发布订阅模式实现.mp4
│  │  │  │      8、观察者模式.mp4
│  │  │  │      9、模拟Vue响应式原理.mp4
│  │  │  │      
│  │  │  ├─0-4 Vue虚拟DOM
│  │  │  │      10、h函数介绍.mp4
│  │  │  │      11、Vnode函数.mp4
│  │  │  │      12、虚拟DOM创建过程.mp4
│  │  │  │      13、patch函数执行过程介绍.mp4
│  │  │  │      14、init函数源码查看.mp4
│  │  │  │      15、patch函数源码查看.mp4
│  │  │  │      16、调试patch函数.mp4
│  │  │  │      17、createElm函数源码解读.mp4
│  │  │  │      18、addVnodes和removeVnodes方法.mp4
│  │  │  │      19、patchVnode方法执行流程.mp4
│  │  │  │      1、课程目标.mp4
│  │  │  │      20、patchVode方法源码分.mp4
│  │  │  │      20、创建Watcher对象2.mp4
│  │  │  │      21、diff算法比较流程1.mp4
│  │  │  │      22、diff算法比较2.mp4
│  │  │  │      23、diff算法比较3.mp4
│  │  │  │      24、diff算法比较4.mp4
│  │  │  │      25、updateChildren方法源码分析1.mp4
│  │  │  │      26、updateChildren方法源码分析2.mp4
│  │  │  │      27、钩子函数介.mp4
│  │  │  │      28、模块源码分析.mp4
│  │  │  │      29、模块调用的时机分析.mp4
│  │  │  │      2、虚拟DOM介绍.mp4
│  │  │  │      3、为什么使用Virtual DOM.mp4
│  │  │  │      4、虚拟DOM的作用.mp4
│  │  │  │      5、创建项目.mp4
│  │  │  │      6、Snabbdom导入.mp4
│  │  │  │      7、Snabbdom的基本使用.mp4
│  │  │  │      8、 Snabbdom的基本使用2.mp4
│  │  │  │      9、模块的基本使用.mp4
│  │  │  │      
│  │  │  ├─0-5 Vuex状态管理
│  │  │  │      10、Module应用.mp4
│  │  │  │      11、Vuex严格模式.mp4
│  │  │  │      12、购物车案例介绍.mp4
│  │  │  │      13、商品列表.mp4
│  │  │  │      14、添加购物车.mp4
│  │  │  │      15、购物车列表展示(1).mp4
│  │  │  │      15、购物车列表展示.mp4
│  │  │  │      16、计算商品数量与价格.mp4
│  │  │  │      17、删除购物车中商品.mp4
│  │  │  │      18、购物车商品展示.mp4
│  │  │  │      19、实现全选功能.mp4
│  │  │  │      1、课程介绍.mp4
│  │  │  │      20、处理文本框.mp4
│  │  │  │      21、实现选中商品的统计功能.mp4
│  │  │  │      22、存储购物车中的商品数据.mp4
│  │  │  │      23、模拟Vuex上.mp4
│  │  │  │      24、模拟Vuex下.mp4
│  │  │  │      25、总结.mp4
│  │  │  │      2、状态管理介绍.mp4
│  │  │  │      3、简易的状态管理.mp4
│  │  │  │      4、Vuex介绍.mp4
│  │  │  │      5、Vuex核心概念.mp4
│  │  │  │      6、State应用.mp4
│  │  │  │      7、Getters应用.mp4
│  │  │  │      8、Mutation应用.mp4
│  │  │  │      9、Action应用.mp4
│  │  │  │      
│  │  │  ├─0-6 Vue服务端渲染
│  │  │  │      10、路由导航.mp4
│  │  │  │      11、动态路由.mp4
│  │  │  │      12、嵌套路由.mp4
│  │  │  │      13、获取异步数据.mp4
│  │  │  │      14、获取异步数据2.mp4
│  │  │  │      15、上下文对象.mp4
│  │  │  │      16、渲染Vue实例.mp4
│  │  │  │      17、创建web服务器.mp4
│  │  │  │      18、模板使用.mp4
│  │  │  │      19、向模板中传递数据.mp4
│  │  │  │      1、服务端渲染介绍.mp4
│  │  │  │      20、问题说明.mp4
│  │  │  │      21、创建目录结构.mp4
│  │  │  │      22、Webpack配置1.mp4
│  │  │  │      23、Webpack配置2.mp4
│  │  │  │      24、配置构建命令.mp4
│  │  │  │      25、测试打包.mp4
│  │  │  │      26、实现客户端交互.mp4
│  │  │  │      27、解析渲染的流程.mp4
│  │  │  │      2、渲染的概念.mp4
│  │  │  │      3、传统服务端渲染.mp4
│  │  │  │      4、客户端渲染介绍.mp4
│  │  │  │      5、客户端渲染问题描述.mp4
│  │  │  │      6、什么是同构渲染.mp4
│  │  │  │      7、同构渲染的问题.mp4
│  │  │  │      8、初始化NuxtJS项目.mp4
│  │  │  │      9、基本路由规则.mp4
│  │  │  │      
│  │  │  ├─0-7 Vue常见面试题 0-
│  │  │  │      10、keep-alive.mp4
│  │  │  │      11、mixin.mp4
│  │  │  │      13、defineProperty问题1.mp4
│  │  │  │      14、defineProperty问题2.mp4
│  │  │  │      15、vue如何监听数组的变.mp4
│  │  │  │      16、虚拟DOM和diff算法.mp4
│  │  │  │      17、模板编译与渲染.mp4
│  │  │  │      18、常见面试题说明.mp4
│  │  │  │      1、watch问题.mp4
│  │  │  │      2、v-if与v-show.mp4
│  │  │  │      3、循环列表.mp4
│  │  │  │      4、组件通信.mp4
│  │  │  │      5、生命周期问题.mp4
│  │  │  │      6、v-model问题.mp4
│  │  │  │      7、$nextTick问题.mp4
│  │  │  │      8、动态组件问题.mp4
│  │  │  │      9、异步加载组件.mp4
│  │  │  │      
│  │  │  ├─0-8 Vue源码解读 0-
│  │  │  │      10、Vue.mixin与Vue.extend方法源码.mp4
│  │  │  │      11、initAssetRegisters方法源码.mp4
│  │  │  │      12、Vue实例成员.mp4
│  │  │  │      13、init方法.mp4
│  │  │  │      14、initState方法.mp4
│  │  │  │      15、总结.mp4
│  │  │  │      16、响应式处理的入口.mp4
│  │  │  │      17、Observe.mp4
│  │  │  │      18、defineReactive.mp4
│  │  │  │      19、依赖收集.mp4
│  │  │  │      1、准备工作.mp4
│  │  │  │      20、数组响应式处理.mp4
│  │  │  │      21、数组响应式练习题.mp4
│  │  │  │      22、总结响应式处理过程.mp4
│  │  │  │      2、查找入口文件.mp4
│  │  │  │      3.查看入口代码.mp4
│  │  │  │      4、查看入口代码2.mp4
│  │  │  │      5、Vue初始化过程.mp4
│  │  │  │      6、Vue初始化过程2.mp4
│  │  │  │      7、静态成员初始化.mp4
│  │  │  │      8、extend源码分析.mp4
│  │  │  │      9、Vue.use方法源码分析.mp4
│  │  │  │      
│  │  │  └─0-9 Vue3.0
│  │  │          10、watch函数应用.mp4
│  │  │          11、watchEffect函数应用.mp4
│  │  │          12、todolist项目结构说明.mp4
│  │  │          13、添加功能实现.mp4
│  │  │          14、删除功能实现.mp4
│  │  │          15、编辑操作实现1.mp4
│  │  │          16、编辑操作实现2.mp4
│  │  │          17、修改任务状态.mp4
│  │  │          18、过滤任务状态.mp4
│  │  │          19、清除已经完成的任务.mp4
│  │  │          1、Vue3简介.mp4
│  │  │          20、完成数据持久化.mp4
│  │  │          21、总结.mp4
│  │  │          2、Composition API 设计动机.mp4
│  │  │          3、Vue3性能提升介绍.mp4
│  │  │          4、Vite介绍.mp4
│  │  │          5、Composition API基本使用.mp4
│  │  │          6、生命周期钩子函数使用.mp4
│  │  │          7、toRefs函数应用.mp4
│  │  │          8、ref函数应用.mp4
│  │  │          9、计算属性应用.mp4
│  │  │          
│  │  └─05、第五章 5-JavaScript面试精讲
│  │      ├─0-1 JavaScript基础面试题
│  │      │      10、parseFloat函数说明.mp4
│  │      │      11、 isNaN( )函数与Number.isNaN( )函数区别.mp4
│  │      │      12、字符串创建方式以及对应的区别.mp4
│  │      │      13、怎样实现字符串逆序输出.mp4
│  │      │      14、怎样统计出现最多的字符1.mp4
│  │      │      15、怎样统计出出现最多字符2.mp4
│  │      │      16、怎样实现字符串去重操作1.mp4
│  │      │      17、怎样实现字符串去重操作2.mp4
│  │      │      18、判断字符串是否为回文字符串1.mp4
│  │      │      19、判断字符串是否为回文字符串2.mp4
│  │      │      1、课程简单介绍.mp4
│  │      │      20、双等运算符与三等运算符区别.mp4
│  │      │      21、typeof运算符.mp4
│  │      │      22、判断变量是否为空的方法.mp4
│  │      │      23、switch结构问题.mp4
│  │      │      2、基本数据类型与引用类型区别.mp4
│  │      │      3、哪些场景中会出现undefined.mp4
│  │      │      4、哪些场景中会出现null.mp4
│  │      │      5、undefined与null之间的比较.mp4
│  │      │      6、Boolean类型转换问题.mp4
│  │      │      8、Number函数转换规则.mp4
│  │      │      9、parseInt函数转换规则.mp4
│  │      │      
│  │      ├─0-2 引用类型 0-3 函
│  │      │      10、什么是原型链.mp4
│  │      │      11、原型链有什么特点.mp4
│  │      │      12、怎样判断一个属性是实例自身的还是原型.mp4
│  │      │      13、怎样判断一个变量是否为数组类型—instanceof.mp4
│  │      │      14、怎样判断一个变量是否为数组类型—构造.mp4
│  │      │      15、怎样判断一个变量是否为数组类型–toSt.mp4
│  │      │      16、类型判断注意事项.mp4
│  │      │      17、怎样过滤数组中的数据.mp4
│  │      │      18、怎样完成数组元素的累加操作.mp4
│  │      │      19、完成数组中最大值与最小值统计.mp4
│  │      │      1、引用数据类型与基本类型区别复习.mp4
│  │      │      20、常见的数组遍历方式有哪些.mp4
│  │      │      21、手动模拟实现find函数.mp4
│  │      │      22、手动模拟实现filter函数.mp4
│  │      │      23、手动模拟实现some函数.mp4
│  │      │      24.手动模拟实现every函数.mp4
│  │      │      25、手动模拟实现map函数.mp4
│  │      │      26、手动模拟实现reduce函数.mp4
│  │      │      28、怎样实现数组去重操作2.mp4
│  │      │      29、怎样实现数组去重操作3.mp4
│  │      │      2、new操作符的作用.mp4
│  │      │      30、获取数组中最多的元素1.mp4
│  │      │      31、获取数组中最多的元素2.mp4
│  │      │      4、属性访问与判断问题.mp4
│  │      │      6、Object.create方法实现原理.mp4
│  │      │      7、Object.create方法应用场景.mp4
│  │      │      8、Object.create( )与new Object()的区别.mp4
│  │      │      9、模拟new操作符的实现.mp4
│  │      │      
│  │      ├─0-3 函数常见问题讲解
│  │      │      10、什么是作用域.mp4
│  │      │      11、什么是作用域链.mp4
│  │      │      12、作用域与作用域链的常见面试题1.mp4
│  │      │      13、作用域与作用域链的常见面试题2.mp4
│  │      │      14、变量提升.mp4
│  │      │      15、函数提升.mp4
│  │      │      16、函数提升问题.mp4
│  │      │      17、执行上下文环境.mp4
│  │      │      18、闭包.mp4
│  │      │      19、闭包应用1.mp4
│  │      │      1、函数定义的方式.mp4
│  │      │      20、闭包应用2.mp4
│  │      │      21、闭包常见面试题1.mp4
│  │      │      22、闭包常见面试题2.mp4
│  │      │      23、闭包常见面试题3.mp4
│  │      │      24、闭包优点与缺点.mp4
│  │      │      25、this指向问题1.mp4
│  │      │      26、this指向问题2.mp4
│  │      │      27、this指向问题3.mp4
│  │      │      28、call()函数,apply( )函数,bind( )函数的使.mp4
│  │      │      29、应用场景1.mp4
│  │      │      2、Function构造函数问题.mp4
│  │      │      30、应用场景2.mp4
│  │      │      31、手动实现call函数.mp4
│  │      │      32、手动实现apply函.mp4
│  │      │      33、手动实现bind函数.mp4
│  │      │      34、回调函数问题.mp4
│  │      │      35、函数为什么被称为一等公民.mp4
│  │      │      3、函数表达式应用场景介绍.mp4
│  │      │      4、函数声明与函数表达式区别.mp4
│  │      │      5、函数调用的方式.mp4
│  │      │      6、实参与形参的区别.mp4
│  │      │      7、介绍一下arguments对象.mp4
│  │      │      9、构造函数与普通函数有什么区别.mp4
│  │      │      
│  │      ├─0-4 面试内容篇
│  │      │      10、原型链继承.mp4
│  │      │      11、构造函数继承.mp4
│  │      │      12、拷贝继承.mp4
│  │      │      13、组合继承.mp4
│  │      │      14、寄生式组合继承.mp4
│  │      │      15、模拟jQuery–基本结构实现.mp4
│  │      │      16、模拟jQuery–this指向问题.mp4
│  │      │      18、模拟jQuery-html方法实现.mp4
│  │      │      19、模拟jQuery-extend方法实现.mp4
│  │      │      1、 Object.defineProperty方法使用.mp4
│  │      │      20、模拟jQuery-为标签添加样式.mp4
│  │      │      21、模拟jQuery-复习.mp4
│  │      │      22、模拟jQuery–封装独立命名空间.mp4
│  │      │      23、对象常见问题总结.mp4
│  │      │      2、属性访问方式区别.mp4
│  │      │      3、创建对象的方式以及优缺点1.mp4
│  │      │      4、创建对象的方式以及优缺点2.mp4
│  │      │      5、什么是浅拷贝.mp4
│  │      │      6、什么是深拷贝.mp4
│  │      │      7、深拷贝模拟实现1.mp4
│  │      │      8、深拷贝模拟实现2.mp4
│  │      │      9、重写原型对象的问题.mp4
│  │      │      
│  │      ├─0-5 DOM与事件
│  │      │      10、阻止事件冒泡.mp4
│  │      │      11、事件冒泡与事件捕获综合问题.mp4
│  │      │      12、Event对象使用.mp4
│  │      │      13、事件模型1.mp4
│  │      │      14、事件模型2.mp4
│  │      │      15、事件模型3.mp4
│  │      │      16、事件委托1.mp4
│  │      │      17、事件委托2.mp4
│  │      │      18、浏览器重排介绍.mp4
│  │      │      19、浏览器重绘介绍.mp4
│  │      │      1、DOM与事件常见问题说明.mp4
│  │      │      2、常见选择器介绍.mp4
│  │      │      3、HTMLCollection对象与NodeList对象区别.mp4
│  │      │      4、常见DOM操作1.mp4
│  │      │      5、常见DOM操作2.mp4
│  │      │      6、DOM性能问题.mp4
│  │      │      7、事件传播介绍.mp4
│  │      │      8、什么是事件捕获.mp4
│  │      │      9、什么是事件冒泡.mp4
│  │      │      
│  │      ├─0-6 Ajax常见问题讲解
│  │      │      10、JSONP.mp4
│  │      │      1、Ajax介绍.mp4
│  │      │      2、Ajax创建流程.mp4
│  │      │      3、Ajax优缺点总结.mp4
│  │      │      4、Get请求与Post请求区别.mp4
│  │      │      5、Get和Post请求的应用场景总结.mp4
│  │      │      6、浏览器同源策略.mp4
│  │      │      7、为什么浏览器会有跨域限制的问题.mp4
│  │      │      8、跨域问题演示.mp4
│  │      │      9、CORS.mp4
│  │      │      
│  │      ├─0-7 ES6
│  │      │      10、扩展运算符应用场景.mp4
│  │      │      11、rest运算符使用、优势、注意事.mp4
│  │      │      12、箭头函数基本使用.mp4
│  │      │      13、箭头函数中this指向的问题.mp4
│  │      │      14、箭头函数不适合的场景说明.mp4
│  │      │      15、Object.assign方法应用.mp4
│  │      │      16、Object.assign方法注意事项.mp4
│  │      │      17、什么是Symbol.mp4
│  │      │      18、Symbol应用场景.mp4
│  │      │      19、Proxy介绍.mp4
│  │      │      1、let与var区别.mp4
│  │      │      20、Proxy应用场景.mp4
│  │      │      21、Proxy应用场景2.mp4
│  │      │      22、Proxy应用场景3.mp4
│  │      │      23、Set结构.mp4
│  │      │      24、Generator函数基本使用.mp4
│  │      │      25、Generator函数面试题.mp4
│  │      │      26、Generator函数中的this问题.mp4
│  │      │      26、Generator函数问题.mp4
│  │      │      27、Generator函数应用场景1.mp4
│  │      │      28、Generator函数应用场景2.mp4
│  │      │      29、回调地狱问题.mp4
│  │      │      2、为什么需要块级作用域.mp4
│  │      │      30、同步的问题.mp4
│  │      │      31、Promise基本使用.mp4
│  │      │      32、Promise封装Ajax操作.mp4
│  │      │      33、Promise常见误区.mp4
│  │      │      34、Promise链式调用问题.mp4
│  │      │      35、Promise异常处理.mp4
│  │      │      36、Promise并行处理.mp4
│  │      │      37、Promise.race方法.mp4
│  │      │      38、Promise静态方法.mp4
│  │      │      39、Promise执行顺序的问题.mp4
│  │      │      3、块级作用域.mp4
│  │      │      40、模拟Promise-搭建基本结构.mp4
│  │      │      41、模拟Promise-异常处理.mp4
│  │      │      42、模拟Promise–then方法处理.mp4
│  │      │      43、模拟Promise-基本测试.mp4
│  │      │      44、模拟Promise-完善操作.mp4
│  │      │      46、常见的异步编程方式总结.mp4
│  │      │      47、async介绍.mp4
│  │      │      48、async函数应用.mp4
│  │      │      49、async处理异步请求.mp4
│  │      │      4、let命令注意事项.mp4
│  │      │      50、请求依赖关系的处理.mp4
│  │      │      51、并行处理的问题.mp4
│  │      │      5、const命令注意事.mp4
│  │      │      6、数组解构赋值.mp4
│  │      │      7、对象解构赋值.mp4
│  │      │      8、解构赋值好处.mp4
│  │      │      9、扩展运算符基本使用.mp4
│  │      │      
│  │      ├─0-8 模块化
│  │      │      1、模块化的发展过程.mp4
│  │      │      2、常见模块化标准介绍.mp4
│  │      │      3、ES Module特性说明.mp4
│  │      │      4、模块导出操作.mp4
│  │      │      5、导出的注意事项.mp4
│  │      │      6、导入的注意事项.mp4
│  │      │      7、导入与导出应用技巧.mp4
│  │      │      
│  │      └─0-9 JavaScript性能优化的问
│  │              10、V8引擎垃圾回收1.mp4
│  │              11、V8引擎垃圾回收2.mp4
│  │              12、V8引擎垃圾回收3.mp4
│  │              13、全局变量的问题.mp4
│  │              14、全局变量问题2.mp4
│  │              15、方法问题.mp4
│  │              16、闭包的问.mp4
│  │              17、循环的问题.mp4
│  │              18、代码层级问题.mp4
│  │              19、作用域问题.mp4
│  │              1、什么是内存管理.mp4
│  │              20、class基本使用.mp4
│  │              21、class原理分析.mp4
│  │              22、class继承实现.mp4
│  │              2、什么是垃圾回收.mp4
│  │              3、什么是GC算法.mp4
│  │              4、引用计数算法实现原理分析.mp4
│  │              5、引用计算算法的优点与缺点.mp4
│  │              6、标记清除算法介绍.mp4
│  │              7、标记清除算法的问题说明.mp4
│  │              8、标记整理算法介绍.mp4
│  │              9、V8引擎介绍.mp4
│  │              
│  ├─09 阶段九 赠送选学移框架原理与进阶7.6-在职加薪课
│  │  ├─1-第一章 webpack从入门到进阶
│  │  │  ├─1-1 课程介绍
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      
│  │  │  ├─1-2 webpack基础
│  │  │  │      2-1 webpack的安装.mp4
│  │  │  │      2-10 webpack-dev-middleware的基本使用.mp4
│  │  │  │      2-11 自动编译工具小结.mp4
│  │  │  │      2-12 loader-处理css文件.mp4
│  │  │  │      2-13 loader-处理less和sass文件.mp4
│  │  │  │      2-14 loader-处理图片和字体文件.mp4
│  │  │  │      2-15 loader-自定义图片打包目录和打包名称.mp4
│  │  │  │      2-16 loader-处理js文件之babel的基本使用.mp4
│  │  │  │      2-17 loader-处理js文件之转换更高级的语法.mp4
│  │  │  │      2-18 loader-处理js文件之转换generator的语法.mp4
│  │  │  │      2-19 loader-处理js文件之使用.babelrc配置文件.mp4
│  │  │  │      2-2 webpack-cli的使用.mp4
│  │  │  │      2-20 loader-处理js文件之高版本的原型方法转义.mp4
│  │  │  │      2-21 source map的使用.mp4
│  │  │  │      2-22 插件-clean-webpack-plugin.mp4
│  │  │  │      2-23 插件-copy-webpack-plugin.mp4
│  │  │  │      2-24 插件-BannerPlugin.mp4
│  │  │  │      2-3 npx的原理介绍.mp4
│  │  │  │      2-4 webpack的应用场景.mp4
│  │  │  │      2-5 webpack的基础配置.mp4
│  │  │  │      2-6 将webpack命令配置到package.json.mp4
│  │  │  │      2-7 watch模式.mp4
│  │  │  │      2-8 webpack-dev-server的基本使用.mp4
│  │  │  │      2-9 html-webpack-plugin的使用(html插件).mp4
│  │  │  │      
│  │  │  ├─1-3 webpack高级
│  │  │  │      3-1 HTML中img标签的图片资源处理.mp4
│  │  │  │      3-2 多页应用打包.mp4
│  │  │  │      3-3 第三方库的两种引入方式.mp4
│  │  │  │      3-4 区分环境配置文件打包.mp4
│  │  │  │      3-5 区分环境配置文件打包-配置文件归类.mp4
│  │  │  │      3-6 定义环境变量区分开发环境与生产环境.mp4
│  │  │  │      3-7 跨域问题简介及常用的解决方案.mp4
│  │  │  │      3-8 使用http-proxy解决跨域问题.mp4
│  │  │  │      3-9 HMR的使用.mp4
│  │  │  │      
│  │  │  ├─1-4 webpack优化
│  │  │  │      4-1 production模式打包自带优化-tree-shaking.mp4
│  │  │  │      4-10 js代码分离-静态导入的问题.mp4
│  │  │  │      4-11 js代码分离-动态导入的好处.mp4
│  │  │  │      4-12 SplitChunksPlugin的配置参数-chunks.mp4
│  │  │  │      4-13 SplitChunksPlugin的配置参数-通用配置.mp4
│  │  │  │      4-14 SplitChunksPlugin的配置参数-cacheGroups.mp4
│  │  │  │      4-15 提高构建性能-noParse.mp4
│  │  │  │      4-16 提高构建性能-IgnorePlugin简介.mp4
│  │  │  │      4-17 提高构建性能-moment简介.mp4
│  │  │  │      4-18 提高构建性能-IgnorePlugin的使用.mp4
│  │  │  │      4-19 提高构建性能-使用noParse的注意事项.mp4
│  │  │  │      4-2 production模式打包自带优化-scope-hoisting.mp4
│  │  │  │      4-20提高构建性能-DllPlugin简介.mp4
│  │  │  │      4-21提高构建性能-Vue环境部署及问题说明.mp4
│  │  │  │      4-22提高构建性能-使用DllPlugin打包Vue全家桶.mp4
│  │  │  │      4-23提高构建性能-使用DllReferencePlugin关联Dll库.mp4
│  │  │  │      4-24提高构建性能-使用add-asset-webpack-plugin自动添加js引用.mp4
│  │  │  │      4-25 提高构建性能-使用DllPlugin打包React全家桶.mp4
│  │  │  │      4-26 Happypack多进程打包.mp4
│  │  │  │      4-27 合理利用浏览器缓存提高访问速度.mp4
│  │  │  │      4-28 BundleAnalysis打包分析.mp4
│  │  │  │      4-29 覆盖率概念介绍.mp4
│  │  │  │      4-3 css优化-将css提取到独立的文件中.mp4
│  │  │  │      4-30 Prefetching优化首屏加载速度和动态导入的加载速度.mp4
│  │  │  │      4-4 css优化-自动添加css前缀.mp4
│  │  │  │      4-5 css优化-开启css压缩.mp4
│  │  │  │      4-6 js代码分离-CodeSplitting简介.mp4
│  │  │  │      4-7 js代码分离-手动配置多入口实现代码分割.mp4
│  │  │  │      4-8 js代码分离-多入口打包抽取公共代码.mp4
│  │  │  │      4-9 js代码分离-动态导入的基本使用.mp4
│  │  │  │      
│  │  │  ├─1-5 webpack原理
│  │  │  │      5-1 课程目标介绍.mp4
│  │  │  │      5-10 loader-简介.mp4
│  │  │  │      5-11 loader-实现一个最简单的loader.mp4
│  │  │  │      5-12 loader-分类和加载顺序.mp4
│  │  │  │      5-13 loader-获取options的配置.mp4
│  │  │  │      5-14 loader-给itheima-pack添加loader功能.mp4
│  │  │  │      5-15 loader-处理不同类型的use属性.mp4
│  │  │  │      5-16 loader-处理不同类型的use属性代码优化.mp4
│  │  │  │      5-17 plugin-简介.mp4
│  │  │  │      5-18 plugin-生命周期钩子介绍.mp4
│  │  │  │      5-19 plugin-实现一个最简单的plugin.mp4
│  │  │  │      5-2 项目准备工作.mp4
│  │  │  │      5-20 plugin-实现html-webpack-plugin的步骤.mp4
│  │  │  │      5-21 plugin-Compiler和Compilation的区别.mp4
│  │  │  │      5-22 plugin-实现html-webpack-plugin.mp4
│  │  │  │      5-23 plugin-Tapable简介.mp4
│  │  │  │      5-24 plugin-Tapable的基本使用.mp4
│  │  │  │      5-25 plugin-利用Tapable实现itheima-pack的plugin功能.mp4
│  │  │  │      5-3 bundle文件分析.mp4
│  │  │  │      5-4 __webpack_require__函数详解.mp4
│  │  │  │      5-5 依赖分析-加载index.js文件内容.mp4
│  │  │  │      5-6 依赖分析-使用AST将require替换为__webpack_require__.mp4
│  │  │  │      5-7 依赖分析-使用AST替换路径.mp4
│  │  │  │      5-8 依赖分析-递归构建modules对象.mp4
│  │  │  │      5-9 使用模板引擎拼接并输出最终的bundle文件.mp4
│  │  │  │      
│  │  │  └─1-6 课程总结
│  │  │          6-1 课程总结.mp4
│  │  │          
│  │  ├─10-第十章 学成在线项目
│  │  │  ├─10-1 项目介绍
│  │  │  │      01-项目介绍以及SPA和服务端渲染.m2ts
│  │  │  │      02-系统开发流程介绍.m2ts
│  │  │  │      
│  │  │  ├─10-10 完善课程详情页面
│  │  │  │      19 完善课程详情页面免费和收费课程播放权限的控制.m2ts
│  │  │  │      
│  │  │  ├─10-11 播放页面
│  │  │  │      20-2 利用Router对象实现detial页面中的章节跳转功能.m2ts
│  │  │  │      20-3 完成视频播放页面登录判断业务代码.m2ts
│  │  │  │      20-4 完成视频播放页面视频源,代码,资源下载业务代码.m2ts
│  │  │  │      20-5 完成视频播放页面章节树业务代码.m2ts
│  │  │  │      20-6-1 完成视频播放章节问答业务分析和列表数据获取.m2ts
│  │  │  │      20-6-2 完成分页获取问答列表功能.m2ts
│  │  │  │      20-6-3 完成问题提交和回答功能.m2ts
│  │  │  │      
│  │  │  ├─10-12 后台管理系统
│  │  │  │      21-1 后台管理系统业务分析和布局组件加载实现思路分析.m2ts
│  │  │  │      21-10 优化章节列表功能.m2ts
│  │  │  │      21-11 实现新增一级大纲和二级大纲功能.m2ts
│  │  │  │      21-12 完成大纲数据编辑功能.m2ts
│  │  │  │      21-13 在头部组件中增加后台管理入口.m2ts
│  │  │  │      21-14 next.js项目的发布演示和完整代码和文档地址说明.m2ts
│  │  │  │      21-2 实现后台管理系统布局组件代码实现.m2ts
│  │  │  │      21-3 实现课程列表数据动态化和分页功能.m2ts
│  │  │  │      21-4 实现课程列表条件筛选功能.m2ts
│  │  │  │      21-5 实现新增页面静态结构和富文本编辑器的使用.m2ts
│  │  │  │      21-6 利用TreeSelect组件实现新增课程页面中的课程分类树型数据展示.m2ts
│  │  │  │      21-7 实现课程新增页面图片的上传功能.m2ts
│  │  │  │      21-8 完成新增课程post数据功能.m2ts
│  │  │  │      21-9 实现课程大纲树形表格功能.m2ts
│  │  │  │      
│  │  │  ├─10-2 搭建项目结构
│  │  │  │      03-项目框架初步搭建和端口的修改.m2ts
│  │  │  │      04-项目集成css和less文件解析和集成antd.m2ts
│  │  │  │      05-重写_document.js完成antd的全部组件样式导入.m2ts
│  │  │  │      06-头部和底部抽离分析和代码实现(1).m2ts
│  │  │  │      06-头部和底部抽离分析和代码实现.m2ts
│  │  │  │      07-头部和底部组件样式调整.m2ts
│  │  │  │      
│  │  │  ├─10-3 项目介绍和框架搭建
│  │  │  │      08-redux执行过程分析.m2ts
│  │  │  │      09-1-redux代码实现1.m2ts
│  │  │  │      09-2-redux代码实现2.m2ts
│  │  │  │      09-3-redux代码实现总结.m2ts
│  │  │  │      10-利用redux-persist完成将store中的state保存到localStorage中.m2ts
│  │  │  │      11-1- 利用fetch实现数据请求封装get方法.m2ts
│  │  │  │      11-2- 利用fetch实现数据请求封装post.m2ts
│  │  │  │      11-3- 测试封装好的fetch方法.m2ts
│  │  │  │      
│  │  │  ├─10-4 项目业务-登录
│  │  │  │      12-1-登录过程中浏览器与服务器的处理过程分析(理解Session状态管理机制).m2ts
│  │  │  │      12-2- 登录功能实现1.m2ts
│  │  │  │      12-3- 登录功能实现2.m2ts
│  │  │  │      13-1登录成功跳转以及sessionStorage存储用户信息-前半部分.m2ts
│  │  │  │      13-2登录成功跳转以及sessionStorage存储用户信息-后半部分.m2ts
│  │  │  │      13-3利用antd中的表单组件实现登录页面用户名手机号码正则验证.m2ts
│  │  │  │      13-4 登录组件样式的两种写法演示-3.m2ts
│  │  │  │      
│  │  │  ├─10-5 注册功能
│  │  │  │      14-1注册功能分析业务分析和单独在Register实现注册页面原因.m2ts
│  │  │  │      14-2注册页面静态页面结构实现.m2ts
│  │  │  │      14-3注册页面表单元素合法性检查初步实现.m2ts
│  │  │  │      14-4 完成手机号码是否已经被注册业务逻辑.m2ts
│  │  │  │      14-5 完善手机号码是否被注册检查业务逻辑-点击注册按钮时也应该检查.m2ts
│  │  │  │      14-6 完成点击注册按钮业务逻辑代码.m2ts
│  │  │  │      14-7 完成点击获取验证码请求服务器业务代码.m2ts
│  │  │  │      14-8 获取验证码按钮倒计时业务实现.m2ts
│  │  │  │      14-9 使用antd中的表单中的自定义验证规则完成再次输入密码的一致性检查.m2ts
│  │  │  │      
│  │  │  ├─10-6 项目业务-学生端首页
│  │  │  │      15-1 学生端首页页面分析和静态结构实现.m2ts
│  │  │  │      15-2 学生端首页-通过getInitialProps轮播图数据并且动态渲染.m2ts
│  │  │  │      15-3 学生端首页-通过getInitialProps课程导航数据并且动态渲染.m2ts
│  │  │  │      15-4 学生端首页-通过componentWillMount实现精品课程的数据获取和渲染.m2ts
│  │  │  │      15-5 学生端首页-通过componentWillMount实现不同课程分组的数据获取和渲染.m2ts
│  │  │  │      15-6 学生端首页- 实现课程标签的动态化和修复map遍历时报没有定义key的错误.m2ts
│  │  │  │      
│  │  │  ├─10-7 项目业务-学生端详情页
│  │  │  │      16-1 学生端课程详情页面实现思路分析.m2ts
│  │  │  │      16-2 学生端课程详情页中利用withRouter实现url传参值的获取.m2ts
│  │  │  │      16-3 学生端课程详情页面静态结构实现(使用了antd中的Tab组件.m2ts
│  │  │  │      16-4 学生端课程详情页顶部数据获取(使用getInitialProps方式).m2ts
│  │  │  │      16-5 学生端课程详情页课程详情、常见问题、授课老师数据展示.m2ts
│  │  │  │      16-6 学生端课程详情页课程大纲实现1.m2ts
│  │  │  │      16-6 学生端课程详情页课程大纲实现2.m2ts
│  │  │  │      
│  │  │  ├─10-8 购物车&订单确认&支付
│  │  │  │      17-1 分析购物车实现业务以及加入购物车按钮实现思路.m2ts
│  │  │  │      17-2 实现加入购物车按钮功能1.m2ts
│  │  │  │      17-2 实现加入购物车按钮功能2.m2ts
│  │  │  │      17-2 实现加入购物车按钮功能3.m2ts
│  │  │  │      17-3 实现购物车列表数据展示.m2ts
│  │  │  │      17-3-1 实现购物车列表数据删除.m2ts
│  │  │  │      17-3-2 实现购物车列表勾选商品总价格计算和控制结算按钮是否可用.m2ts
│  │  │  │      17-4-1 分析订单确认和下单操作业务.m2ts
│  │  │  │      17-4-2 将用户勾选购物车中的课程数据使用redux管理起来.m2ts
│  │  │  │      17-4-3 实现订单确认页面业务代码.m2ts
│  │  │  │      17-4-4 分析和实现订单确认页面中的下单按钮逻辑.m2ts
│  │  │  │      17-4-5 分析支付页面要实现的业务和数据来源以及接口调用.m2ts
│  │  │  │      17-4-6 实现支付页面支付链接的二维码生成.m2ts
│  │  │  │      17-4-7 支付页面使用定时器进行支付状态检查.m2ts
│  │  │  │      
│  │  │  └─10-9 个人中心
│  │  │          18-1 完成我的订单页面数据动态化.m2ts
│  │  │          18-2 修复我的订单上数据展示.m2ts
│  │  │          18-3 完成筛选订单数据功能.m2ts
│  │  │          18-4 完成订单数据分页功能.m2ts
│  │  │          18-5 完成我的课程页面功能.m2ts
│  │  │          
│  │  ├─2-第二章 JavaScript 语言进阶
│  │  │  ├─2-1 课程介绍
│  │  │  │      01-课程内容介绍.m2ts
│  │  │  │      
│  │  │  ├─2-2 语言类型分类
│  │  │  │      02-强类型和弱类型的说明.m2ts
│  │  │  │      03-动态类型和静态类型的说明.m2ts
│  │  │  │      04-动态类型可能带来的问题.m2ts
│  │  │  │      05-静态类型的优势说明.m2ts
│  │  │  │      06-静态类型的问题说明以及如何在js中使用静态类型.m2ts
│  │  │  │      
│  │  │  ├─2-3 Flow
│  │  │  │      07-Flow的简单介绍.m2ts
│  │  │  │      08-Flow的基本使用介绍.m2ts
│  │  │  │      09-Flow配合babel进行使用.m2ts
│  │  │  │      10-Flow中的数据类型介绍1.m2ts
│  │  │  │      11-Flow用来简化代码错误处理逻辑.m2ts
│  │  │  │      12-Flow中的函数类型.m2ts
│  │  │  │      13-Flow中的Maybe类型的说明.m2ts
│  │  │  │      14-Flow中的类型或操作和类型推断.m2ts
│  │  │  │      15-Flow中的对象类型.m2ts
│  │  │  │      16-Flow小结.m2ts
│  │  │  │      
│  │  │  └─2-4 TypeScript
│  │  │          17-TypeScript的基本介绍.m2ts
│  │  │          18-TypeScript初体验.m2ts
│  │  │          19-TypeScript配置文件的说明.m2ts
│  │  │          20-TypeScript中的类型介绍1.m2ts
│  │  │          21-TypeScript中的类型介绍2.m2ts
│  │  │          22-TypeScript中的类.m2ts
│  │  │          23-TypeScript中类的继承实现.m2ts
│  │  │          24-TypeScript类成员的访问修饰符介绍.m2ts
│  │  │          25-TypeScript中的只读属性和参数属性说明.m2ts
│  │  │          26-TypeScript中类成员的存取器.m2ts
│  │  │          27-TypeScript接口的作用以及最基本的使用方式.m2ts
│  │  │          28-接口中的可选属性和只读属性的说明.m2ts
│  │  │          29-接口中额外的属性检查.m2ts
│  │  │          30-函数类型的接口和类类型的接口.m2ts
│  │  │          31-接口的继承说明.m2ts
│  │  │          32-typescript小结.m2ts
│  │  │          
│  │  ├─3-第三章 Angular 实战开发
│  │  │  ├─3-1 课程简介
│  │  │  │      01-课程介绍.m2ts
│  │  │  │      02-如何学习Angular.m2ts
│  │  │  │      03-Angular的介绍.m2ts
│  │  │  │      04-Angular版本说明以及知识储备说明.m2ts
│  │  │  │      
│  │  │  ├─3-10 使用TypeScript
│  │  │  │      38-Angular中的TypeScript说明.m2ts
│  │  │  │      39-Angular中的TypeScript应用.m2ts
│  │  │  │      40-接口的两种使用方式说明以及在todos中使用TypeScript.m2ts
│  │  │  │      
│  │  │  ├─3-11 服务
│  │  │  │      41-服务的说明.m2ts
│  │  │  │      42-服务的创建和基本使用.m2ts
│  │  │  │      43-将服务注册为根级提供商.m2ts
│  │  │  │      44-将服务注册为模块内可以的提供商.m2ts
│  │  │  │      45-将服务注册为组件内可以的提供商(1).m2ts
│  │  │  │      46-将服务注册为组件内可以的提供商(2).m2ts
│  │  │  │      
│  │  │  ├─3-12 todos案例 - 服务版本
│  │  │  │      47-修复todos案例小bug.m2ts
│  │  │  │      48-使用服务修改todos案例 - 1 抽离数据.m2ts
│  │  │  │      49-使用服务修改todos案例 - 2 抽离添加任务.m2ts
│  │  │  │      50-使用服务修改todos案例 - 3 抽离删除和切换任务.m2ts
│  │  │  │      51-使用服务修改todos案例 - 4 完成.m2ts
│  │  │  │      
│  │  │  ├─3-13 HttpClient的使用
│  │  │  │      52-HttpClient的说明.m2ts
│  │  │  │      53-HttpClient的基本使用.m2ts
│  │  │  │      54-在HttpClient中添加类型检查.m2ts
│  │  │  │      55-在HttpClient中获取完整的响应.m2ts
│  │  │  │      56-在HttpClient中处理错误.m2ts
│  │  │  │      57-使用HttpClient发送rest请求以及json-server提供接口.m2ts
│  │  │  │      
│  │  │  ├─3-14 todos案例 - HttpClient
│  │  │  │      58-使用HttpClient修改todos案例 - 1 获取数据.m2ts
│  │  │  │      59-使用HttpClient修改todos案例 - 2 添加数据.m2ts
│  │  │  │      60-使用HttpClient修改todos案例 - 3 切换任务状态.m2ts
│  │  │  │      61-使用HttpClient修改todos案例 - 4 删除任务.m2ts
│  │  │  │      62-使用HttpClient修改todos案例 - 5 小结.m2ts
│  │  │  │      
│  │  │  ├─3-15 路由
│  │  │  │      63-路由的说明.m2ts
│  │  │  │      64-路由的基本使用.m2ts
│  │  │  │      65-forRoot方法的说明以及在路由模块中的作用.m2ts
│  │  │  │      66-angular cli创建组件的bug以及配置更多路由.m2ts
│  │  │  │      67-路由的基本使用 - 默认路由等.m2ts
│  │  │  │      68-路由的基本使用 - 编程式导航.m2ts
│  │  │  │      69-路由的基本使用 - 路由参数.m2ts
│  │  │  │      70-路由的基本使用 - 子路由.m2ts
│  │  │  │      71-路由的基本使用 - 路由激活高亮.m2ts
│  │  │  │      
│  │  │  ├─3-16 响应式表单和表单校验
│  │  │  │      72-响应式表单的说明.m2ts
│  │  │  │      73-响应式表单的基本使用 - 1 导入模块和FormControl.m2ts
│  │  │  │      74-响应式表单的基本使用 - 2 获取和更新表单元素的值.m2ts
│  │  │  │      75-表单验证的使用 - 1 内置表单验证器.m2ts
│  │  │  │      76-表单验证的使用 - 2 内置表单验证器.m2ts
│  │  │  │      77-表单验证的使用 - 3 补充内置表单验证器.m2ts
│  │  │  │      78-表单验证的使用 - 4 自定义验证器.m2ts
│  │  │  │      79-表单验证的使用 - 5 使用FormGroup管理整个表单.m2ts
│  │  │  │      80-表单验证的使用 - 6 使用FormBuilder简化语法.m2ts
│  │  │  │      
│  │  │  ├─3-17 项目介绍和搭建
│  │  │  │      01-实战项目演示.m2ts
│  │  │  │      02-实战项目技术栈.m2ts
│  │  │  │      03-项目搭建.m2ts
│  │  │  │      
│  │  │  ├─3-18 项目 - 配置路由
│  │  │  │      04-配置路由.m2ts
│  │  │  │      05-创建路由模块.m2ts
│  │  │  │      
│  │  │  ├─3-19 登录功能
│  │  │  │      06-登录功能 - 1 登录表单结构.m2ts
│  │  │  │      07-登录功能 - 2 登录样式(1).m2ts
│  │  │  │      07-登录功能 - 2 登录样式.m2ts
│  │  │  │      08-登录功能 - 3 表单结构和逻辑代码分析(1).m2ts
│  │  │  │      08-登录功能 - 3 表单结构和逻辑代码分析.m2ts
│  │  │  │      09-登录功能实现 - 1 表单验证.m2ts
│  │  │  │      10-登录功能实现 - 2 登录流程跑通.m2ts
│  │  │  │      11-登录功能实现 - 3 抽离类型和配置.m2ts
│  │  │  │      12-登录访问控制 - 1 路由守卫和实现思路.m2ts
│  │  │  │      13-登录访问控制 - 2 路由导航守卫功能实现.m2ts
│  │  │  │      
│  │  │  ├─3-2 Angular Cli以及项目结构
│  │  │  │      05-使用Angular CLI初始化项目.m2ts
│  │  │  │      06-Angular项目目录结构说明.m2ts
│  │  │  │      07-配置tslint修改为自己的代码风格.m2ts
│  │  │  │      08-组件的构成以及快速体验组件.m2ts
│  │  │  │      
│  │  │  ├─3-20 首页功能
│  │  │  │      14-首页功能 - 1 结构.m2ts
│  │  │  │      15-首页功能 - 2 左侧内容调整.m2ts
│  │  │  │      16-首页功能 - 3 右侧样式结构调整.m2ts
│  │  │  │      17-退出功能 - 1 基本实现.m2ts
│  │  │  │      18-退出功能 - 2 确认退出增加用户体验.m2ts
│  │  │  │      19-退出功能 - 3 退出功能样式调整.m2ts
│  │  │  │      
│  │  │  ├─3-21 异步路由
│  │  │  │      20-异步路由和模块的优势说明.m2ts
│  │  │  │      21-异步路由和模块的使用(超长).m2ts
│  │  │  │      22-配置员工管理菜单以及路由的优化.m2ts
│  │  │  │      
│  │  │  ├─3-22 员工管理 - 列表
│  │  │  │      23-员工管理列表 - 1 结构.m2ts
│  │  │  │      24-员工管理列表 - 2 结构分析和说明.m2ts
│  │  │  │      25-员工管理列表 - 3 数据获取.m2ts
│  │  │  │      26-员工管理列表 - 4 TS类型约束.m2ts
│  │  │  │      27-员工管理列表 - 5 angular中的管道以及表格数据格式处理.m2ts
│  │  │  │      28-员工管理列表 - 6 分页获取数据.m2ts
│  │  │  │      29-员工管理列表 - 7 TS类型约束说明以及loading效果.m2ts
│  │  │  │      31-(补充)员工列表添加trackBy.m2ts
│  │  │  │      
│  │  │  ├─3-23 员工管理 - 删除
│  │  │  │      30-员工删除.m2ts
│  │  │  │      
│  │  │  ├─3-24 http拦截器
│  │  │  │      32-创建Http拦截器(interceptors).m2ts
│  │  │  │      33-使用Http拦截器实现统一添加Authorization.m2ts
│  │  │  │      34-使用Http拦截器处理错误.m2ts
│  │  │  │      
│  │  │  ├─3-25 员工管理 - 添加
│  │  │  │      35-员工添加 - 1 结构以及Angular模块之间的关系说明(重要).m2ts
│  │  │  │      36-员工添加 - 2 结构改造.m2ts
│  │  │  │      37-员工添加 - 3 表单验证.m2ts
│  │  │  │      38-员工添加 - 4 表单验证的调整.m2ts
│  │  │  │      39-员工添加 - 5 完成.m2ts
│  │  │  │      
│  │  │  ├─3-26 员工管理 - 编辑
│  │  │  │      40-员工编辑 - 1 弹出对话框.m2ts
│  │  │  │      41-员工编辑 - 2 展示员工数据以及修改添加员工的默认入职日期.m2ts
│  │  │  │      42-员工编辑 - 3 更新员工数据.m2ts
│  │  │  │      43-员工编辑 - 4 修改两个小bug.m2ts
│  │  │  │      
│  │  │  ├─3-27 总结
│  │  │  │      44-总结.m2ts
│  │  │  │      
│  │  │  ├─3-3 模块和装饰器
│  │  │  │      09-Angular中模块的说明.m2ts
│  │  │  │      10-Angular根模块以及NgModule装饰器的作用说明.m2ts
│  │  │  │      11-组件的装饰器以及注意点说明.m2ts
│  │  │  │      
│  │  │  ├─3-4 数据绑定
│  │  │  │      12-数据绑定 - 1 差值表达式.m2ts
│  │  │  │      13-数据绑定 - 2 属性绑定.m2ts
│  │  │  │      14-数据绑定 - 3 事件绑定.m2ts
│  │  │  │      15-数据绑定 - 4 双向数据绑定.m2ts
│  │  │  │      
│  │  │  ├─3-5 Angular语言服务
│  │  │  │      16-语言服务(编辑器插件).m2ts
│  │  │  │      
│  │  │  ├─3-6 指令
│  │  │  │      17-指令 - ngClass操作CSS类.m2ts
│  │  │  │      18-添加一个或多个CSS类的说明.m2ts
│  │  │  │      19-指令 - ngStyle操作行内样式.m2ts
│  │  │  │      20-指令 - ngIf控制元素展示和隐藏.m2ts
│  │  │  │      21-对比两种展示和隐藏方案.m2ts
│  │  │  │      22-指令 - ngFor遍历生成元素.m2ts
│  │  │  │      23-指令 - ngFor中的odd以及隔行变色效果.m2ts
│  │  │  │      24-指令 - ngFor性能问题trackBy.m2ts
│  │  │  │      
│  │  │  ├─3-7 todos案例
│  │  │  │      25-todos案例的演示.m2ts
│  │  │  │      26-todos案例 - 1 任务展示.m2ts
│  │  │  │      27-todos案例 - 2 任务添加.m2ts
│  │  │  │      28-todos案例 - 3 任务删除.m2ts
│  │  │  │      29-todos案例 - 4 任务状态切换.m2ts
│  │  │  │      30-todos案例 - 回顾总结.m2ts
│  │  │  │      31-todos案例升级以及组件拆分说明.m2ts
│  │  │  │      
│  │  │  ├─3-8 组件和组件通讯
│  │  │  │      32-父组件传递数据给子组件以及CLI命令创建组件.m2ts
│  │  │  │      33-子组件传递数据给父组件.m2ts
│  │  │  │      
│  │  │  └─3-9 todos案例 - 分离组件
│  │  │          34-升级todos案例 - 1 创建模块和组件.m2ts
│  │  │          35-升级todos案例 - 2 在根模块中使用todos模块.m2ts
│  │  │          36-升级todos案例 - 3 抽离todo-header组件.m2ts
│  │  │          37-升级todos案例 - 4 抽离todo-list组件.m2ts
│  │  │          
│  │  ├─4-第四章 MVVM 框架进阶与实现
│  │  │  ├─4-1 课程简介
│  │  │  │      01-课程介绍.m2ts
│  │  │  │      02-mvvm框架的介绍与双向数据绑定.m2ts
│  │  │  │      03-vue框架-基本架子.m2ts
│  │  │  │      
│  │  │  ├─4-2 compile模块
│  │  │  │      04-compile-fragment的使用.m2ts
│  │  │  │      05-compile-frament子节点的解析步骤.m2ts
│  │  │  │      06-compile-解析指令的基本步骤.m2ts
│  │  │  │      07-compile-解析v-on指令.m2ts
│  │  │  │      08-compile-通过compileUtil简化代码.m2ts
│  │  │  │      09-compile-解析插值表达式.m2ts
│  │  │  │      10-compile-显示复杂数据.m2ts
│  │  │  │      
│  │  │  ├─4-3 observe模块
│  │  │  │      11-observer-数据劫持.m2ts
│  │  │  │      12-observer-对data中的数据进行劫持.m2ts
│  │  │  │      
│  │  │  └─4-4 watcher模块
│  │  │          13-watcher对象的创建.m2ts
│  │  │          14-watcher-关联observe与compile.m2ts
│  │  │          15-watcher-订阅-发布者模式介绍.m2ts
│  │  │          16-watcher-通过订阅-发布者模式更新数据.m2ts
│  │  │          17-watcher-修复复杂类型数据的bug.m2ts
│  │  │          18-watcher-代理数据到vm实例.m2ts
│  │  │          19-项目总结.m2ts
│  │  │          
│  │  ├─5-第五章 十次方项目(上)
│  │  │  ├─5-1 课程介绍
│  │  │  │      00-课程介绍.m2ts
│  │  │  │      000-项目接口说明.m2ts
│  │  │  │      
│  │  │  ├─5-2 项目初始化
│  │  │  │      01-项目初始化-开始.m2ts
│  │  │  │      02-项目初始化-导入模板引擎.m2ts
│  │  │  │      03-项目初始化-导入静态资源完成首页渲染.m2ts
│  │  │  │      04-项目初始化-提取公共的模板页.m2ts
│  │  │  │      
│  │  │  ├─5-3 用户注册
│  │  │  │      05-项目初始化-划分路由模块和控制器模块.m2ts
│  │  │  │      06-用户注册-客户端表单处理.m2ts
│  │  │  │      07-用户注册-解析获取客户端表单数据.m2ts
│  │  │  │      08-用户注册-请求数据接口.m2ts
│  │  │  │      09-用户注册-封装service接口请求模块.m2ts
│  │  │  │      10-用户注册-获取验证码.m2ts
│  │  │  │      11-用户注册-校验验证码.m2ts
│  │  │  │      12-用户注册-处理验证码过期.m2ts
│  │  │  │      13-用户注册-客户端表单验证.m2ts
│  │  │  │      14-用户注册-客户端表单异步验证.m2ts
│  │  │  │      15-用户注册-异步校验验证码补充.m2ts
│  │  │  │      16-用户注册-服务端数据校验.m2ts
│  │  │  │      17-用户注册-验证插件补充.m2ts
│  │  │  │      
│  │  │  ├─5-4 用户登录退出
│  │  │  │      18-用户登录-客户端表单处理.m2ts
│  │  │  │      19-用户登录-服务端接口处理.m2ts
│  │  │  │      20-用户登录-记录登录状态.m2ts
│  │  │  │      21-用户登录-分析记住我实现流程.m2ts
│  │  │  │      22-用户登录-实现记住我功能.m2ts
│  │  │  │      23-用户登录-封装记住我中间件.m2ts
│  │  │  │      24-用户登录-Node中字符串对称加解密.m2ts
│  │  │  │      25-用户登录-封装对称加解密模块.m2ts
│  │  │  │      26-用户退出.m2ts
│  │  │  │      
│  │  │  ├─5-5 发布问题
│  │  │  │      27-发布问题-配置路由渲染页面.m2ts
│  │  │  │      28-发布问题-客户端表单提交.m2ts
│  │  │  │      29-发布问题-服务端处理.m2ts
│  │  │  │      30-发布问题-发布成功跳转到详情页.m2ts
│  │  │  │      
│  │  │  ├─5-6 问题详情
│  │  │  │      31-话题详情-展示基本信息.m2ts
│  │  │  │      32-挂载公共的页面模板数据.m2ts
│  │  │  │      33-话题详情-使用dayjs处理相对时间.m2ts
│  │  │  │      34-话题详情-自定义模板引擎过滤器.m2ts
│  │  │  │      35-问题详情-问题不存在的提示处理.m2ts
│  │  │  │      36-动态展示问题的编辑和删除按钮.m2ts
│  │  │  │      
│  │  │  └─5-7 问题更新删除
│  │  │          37-问题更新-渲染编辑页面.m2ts
│  │  │          38-问题更新-完成更新发布.m2ts
│  │  │          39-问题删除-完成.m2ts
│  │  │          40-Markdown富文本编辑器.m2ts
│  │  │          
│  │  ├─6-第六章 十次方项目(下)
│  │  │  ├─6-1 回复模块
│  │  │  │      41-添加回复.m2ts
│  │  │  │      42-展示回复列表.m2ts
│  │  │  │      43-动态展示回复的编辑和删除链接.m2ts
│  │  │  │      44-删除回复.m2ts
│  │  │  │      45-更新回复.m2ts
│  │  │  │      46-处理回复的相对时间.m2ts
│  │  │  │      
│  │  │  ├─6-2 内容投票
│  │  │  │      47-投票-页面参数处理.m2ts
│  │  │  │      48-投票-创建投票.m2ts
│  │  │  │      49-投票-控制器业务处理.m2ts
│  │  │  │      
│  │  │  ├─6-3 首页模块(分页器)
│  │  │  │      50-首页-渲染首页列表.m2ts
│  │  │  │      51-首页列表-动态展示分页数据.m2ts
│  │  │  │      52-首页列表-分页器组件.m2ts
│  │  │  │      53-首页列表-上一页下一页.m2ts
│  │  │  │      54-首页列表-数字页码链接.m2ts
│  │  │  │      55-首页列表-处理页码范围.m2ts
│  │  │  │      56-首页列表-页码范围(数组的slice方法).m2ts
│  │  │  │      57-首页列表-处理省略项目的禁用状态.m2ts
│  │  │  │      58-首页列表-分类导航.m2ts
│  │  │  │      59-首页列表-页码链接头尾与省略项目.m2ts
│  │  │  │      
│  │  │  ├─6-4 标签模块
│  │  │  │      60-标签-列表页分页.m2ts
│  │  │  │      61-标签-查看详情.m2ts
│  │  │  │      62-标签-内容筛选.m2ts
│  │  │  │      63-标签-关注.m2ts
│  │  │  │      64-标签-入口链接处理.m2ts
│  │  │  │      
│  │  │  ├─6-5 用户主页
│  │  │  │      65-用户主页-动态加载tab栏内容.m2ts
│  │  │  │      66-用户主页-封装请求渲染方法统一处理内容列表.m2ts
│  │  │  │      
│  │  │  └─6-6 用户设置
│  │  │          67-设置-基本信息.m2ts
│  │  │          68-设置-头像上传-上传预览.m2ts
│  │  │          69-设置-头像上传-图片裁切插件.m2ts
│  │  │          70-设置-头像上传-上传完成.m2ts
│  │  │          71-设置-添加工作经历.m2ts
│  │  │          72-设置-删除工作经历.m2ts
│  │  │          73-设置-渲染用户主页信息.m2ts
│  │  │          74-设置-密码修改.m2ts
│  │  │          75-设置-个性网址.m2ts
│  │  │          
│  │  ├─7-第七章 数据流框架的应用
│  │  │  ├─7-1 VueX
│  │  │  │      00-vuex介绍.m2ts
│  │  │  │      01-案例初始化.m2ts
│  │  │  │      02-vuex基本使用.m2ts
│  │  │  │      03-state和mapState函数.m2ts
│  │  │  │      04-getter.m2ts
│  │  │  │      05-getter也可以返回函数.m2ts
│  │  │  │      06-mutation的提交方式及参数传递.m2ts
│  │  │  │      07-mutation补充.m2ts
│  │  │  │      08-action.m2ts
│  │  │  │      09-action补充.m2ts
│  │  │  │      10-module.m2ts
│  │  │  │      11-模块-带命名空间的绑定函数.m2ts
│  │  │  │      12-购物车案例演示.m2ts
│  │  │  │      13-购物车-初始化.m2ts
│  │  │  │      14-购物车-导入vuex&划分目录结构.m2ts
│  │  │  │      15-购物车-结合vuex渲染商品列表.m2ts
│  │  │  │      16-购物车-添加购物车.m2ts
│  │  │  │      17-购物车-展示购物车列表.m2ts
│  │  │  │      18-购物车-结算01.m2ts
│  │  │  │      19-购物车-结算02.m2ts
│  │  │  │      20-购物车-vuex插件.m2ts
│  │  │  │      21-vuex_api-严格模式.m2ts
│  │  │  │      22-vuex_api-表单处理.m2ts
│  │  │  │      23-vuex使用总结.m2ts
│  │  │  │      
│  │  │  ├─7-2 Redux
│  │  │  │      24-redux-介绍.m2ts
│  │  │  │      25-redux-基本使用.m2ts
│  │  │  │      26-redux-核心概念和API.m2ts
│  │  │  │      27-redux-拆分reducer.m2ts
│  │  │  │      28-redux-中间件概念.m2ts
│  │  │  │      29-redux-使用redux-logger中间件.m2ts
│  │  │  │      30-redux-使用redux-thunk中间件.m2ts
│  │  │  │      31-redux-让redux和react连接起来.m2ts
│  │  │  │      32-redux-购物车案例-介绍.m2ts
│  │  │  │      33-redux-购物车案例-初始化.m2ts
│  │  │  │      34-redux-购物车案例-导入redux.m2ts
│  │  │  │      35-redux-购物车案例-拆分reducer模块.m2ts
│  │  │  │      36-redux-购物车案例-在组件中更新容器中的数据.m2ts
│  │  │  │      37-redux-购物车案例-redux调试工具.m2ts
│  │  │  │      38-redux-购物车案例-请求获取商品列表.m2ts
│  │  │  │      39-redux-购物车案例-添加购物车01.m2ts
│  │  │  │      40-redux-购物车案例-添加购物车02.m2ts
│  │  │  │      41-redux-购物车案例-添加购物车03.m2ts
│  │  │  │      42-redux-购物车案例-渲染购物车列表.m2ts
│  │  │  │      43-redux-购物车案例-计算购物车商品总价格.m2ts
│  │  │  │      44-redux-购物车案例-结算01.m2ts
│  │  │  │      45-redux-购物车案例-结算02.m2ts
│  │  │  │      46-redux-购物车案例-优化ActionType常量.m2ts
│  │  │  │      
│  │  │  └─7-3 Mobx
│  │  │          47-mobx-介绍.m2ts
│  │  │          48-mobx-开始-初始化.m2ts
│  │  │          49-Mobx-开始-计数器.m2ts
│  │  │          50-mobx-装饰器语法补充.m2ts
│  │  │          51-mobx-observable函数.m2ts
│  │  │          52-mobx-computed计算属性.m2ts
│  │  │          53-mobx-action-基本概念.m2ts
│  │  │          54-mobx-action-bound绑定.m2ts
│  │  │          55-mobx-action-runInAction.m2ts
│  │  │          56-mobx-action-异步action.m2ts
│  │  │          57-mobx-监视数据的方式.m2ts
│  │  │          58-mobx-购物车-介绍.m2ts
│  │  │          59-mobx-购物车-初始化.m2ts
│  │  │          60-mobx-购物车-导入mobx.m2ts
│  │  │          61-mobx-购物车-渲染商品数据列表.m2ts
│  │  │          62-mobx-购物车-添加购物车01.m2ts
│  │  │          63-mobx-购物车-添加购物车02.m2ts
│  │  │          64-mobx-购物车-展示购物车商品总价格.m2ts
│  │  │          65-mobx-购物车-结算01.m2ts
│  │  │          66-mobx-购物车-结算02.m2ts
│  │  │          
│  │  ├─8-第八章 服务端渲染 SSR 专题
│  │  │  ├─8-1 Nuxt
│  │  │  │      01-课程介绍.m2ts
│  │  │  │      02-服务端渲染介绍.m2ts
│  │  │  │      03-Nuxt-入门介绍.m2ts
│  │  │  │      04-Nuxt-初始化Nuxt项目模板.m2ts
│  │  │  │      05-Nuxt-模板目录结构分析.m2ts
│  │  │  │      06-Nuxt-基本路由.m2ts
│  │  │  │      07-Nuxt-路由跳转.m2ts
│  │  │  │      08-Nuxt-动态路由.m2ts
│  │  │  │      09-Nuxt-路由参数校验.m2ts
│  │  │  │      10-Nuxt-嵌套路由.m2ts
│  │  │  │      11-Nuxt-布局组件.m2ts
│  │  │  │      12-Nuxt-error布局组件.m2ts
│  │  │  │      13-Nuxt-全局样式引入.m2ts
│  │  │  │      14-Nuxt-element-ui使用.m2ts
│  │  │  │      15-Nuxt-异步数据获取.m2ts
│  │  │  │      16-Nuxt-axios的使用.m2ts
│  │  │  │      17-Nuxt-豆瓣电影首页.m2ts
│  │  │  │      18-Nuxt-豆瓣电影列表页.m2ts
│  │  │  │      19-Nuxt-豆瓣电影详情页.m2ts
│  │  │  │      20-Nuxt-SEO优化.m2ts
│  │  │  │      
│  │  │  ├─8-2 Next
│  │  │  │      01-Next-介绍.m2ts
│  │  │  │      02-Next-初体验.m2ts
│  │  │  │      03-Next-Link组件跳转.m2ts
│  │  │  │      04-Next-命名式路由跳转.m2ts
│  │  │  │      05-Next-路由跳转注意点.m2ts
│  │  │  │      06-Next-普通组件及布局组件.m2ts
│  │  │  │      07-Next-全局布局组件.m2ts
│  │  │  │      08-Next-路由的查询参数.m2ts
│  │  │  │      09-Next-浅层路由.m2ts
│  │  │  │      10-Next-服务器端支持浅层路由.m2ts
│  │  │  │      11-Next-静态文件服务.m2ts
│  │  │  │      12-Next-页面数据获取.m2ts
│  │  │  │      13-Next-styled-jsx语法.m2ts
│  │  │  │      14-Next-豆瓣电影首页.m2ts
│  │  │  │      15-Next-豆瓣电影列表页.m2ts
│  │  │  │      16-Next-豆瓣电影详情页.m2ts
│  │  │  │      17-Next-自定义头部元素head.m2ts
│  │  │  │      
│  │  │  └─8-3 Angular Universal
│  │  │          01-课程介绍.m2ts
│  │  │          02-Angular Universal介绍.m2ts
│  │  │          03-Angular CLI简单使用.m2ts
│  │  │          04-目录结构分析.m2ts
│  │  │          05-组件的创建及使用.m2ts
│  │  │          06-数据绑定-插值表达式.m2ts
│  │  │          07-数据绑定-属性绑定.m2ts
│  │  │          08-数据绑定-事件绑定.m2ts
│  │  │          09-数据绑定-双向数据绑定.m2ts
│  │  │          10-指令-ngIf.m2ts
│  │  │          11-指令-NgForOf.m2ts
│  │  │          12-指令-NgStyle.m2ts
│  │  │          13-指令-NgClass.m2ts
│  │  │          14-路由初体验.m2ts
│  │  │          15-路由跳转-routerLink指令实现.m2ts
│  │  │          16-路由跳转-navigate方法实现.m2ts
│  │  │          17-路由传参-参数的传递.m2ts
│  │  │          18-路由传参-路由快照获取参数.m2ts
│  │  │          19-路由传参-路由订阅获取参数.m2ts
│  │  │          20-子路由.m2ts
│  │  │          21-http请求.m2ts
│  │  │          22-豆瓣电影-电影列表页面.m2ts
│  │  │          23-豆瓣电影-电影详情页面.m2ts
│  │  │          24-Universal配置.m2ts
│  │  │          
│  │  ├─9-第九章 桌面应用开发框架
│  │  │      01-课程目标.m2ts
│  │  │      02-electron介绍.m2ts
│  │  │      03-创建第一个electron桌面应用程序窗口.m2ts
│  │  │      04-使用electron窗口加载页面内容.m2ts
│  │  │      05-小总结.m2ts
│  │  │      06-electron中菜单项的创建和添加.m2ts
│  │  │      07-实现关于窗体的显示及退出时的对话框确认.m2ts
│  │  │      08-主进程和渲染进程的概念.m2ts
│  │  │      09-主进程和渲染进程通信的几种方式介绍.m2ts
│  │  │      10-渲染进程向主进程发送消息.m2ts
│  │  │      11-主进程向渲染进程发送消息.m2ts
│  │  │      12-主进程主动向渲染进程发送消息-使用webCotents.m2ts
│  │  │      13-remote的使用介绍-数据共享.m2ts
│  │  │      14-remote的使用介绍-引入主进程中使用的模块.m2ts
│  │  │      15-计算器案例-实现颜色修改(上).m2ts
│  │  │      16-计算器案例-实现颜色修改(下).m2ts
│  │  │      17-计算器案例-实现字体增大.m2ts
│  │  │      18-计算器案例-实现减小字体和默认字体大小.m2ts
│  │  │      19-计算器案例-实现数字的输入.m2ts
│  │  │      20-计算器案例-实现重置和运算符处理.m2ts
│  │  │      21-计算器案例-计算功能的简易实现.m2ts
│  │  │      22-计算器案例-展示上下文菜单.m2ts
│  │  │      23-计算器案例-添加系统托盘(上).m2ts
│  │  │      24-计算器案例-添加系统托盘(下).m2ts
│  │  │      25-electron打包-window平台下打包为可执行的文件.m2ts
│  │  │      26-electron打包-window平台下打包为可执行的文件和安装包.m2ts
│  │  │      
│  │  └─课件笔记
│  │          redux-api-使用redux-thunk中间件.ZIP
│  │          Rreact+Next.js开发学成在线教育平台.rar
│  │          vue、react、angular框架服务器渲染课程资料.zip
│  │          在职加薪课程:框架原理与进阶.zip
│  │          
│  ├─10 阶段十 赠送选学移动App开发7.6-在职加薪课
│  │  ├─第一章 小程序快应用开发框架
│  │  │  ├─1-1 MINA
│  │  │  │      01-课程介绍.mp4
│  │  │  │      02-小程序的介绍.mp4
│  │  │  │      03-开发环境的准备.mp4
│  │  │  │      04-我的第一个微信小程序.mp4
│  │  │  │      05-微信开发者工具介绍.mp4
│  │  │  │      06-mina框架的介绍.mp4
│  │  │  │      07-全局配置文件-window.mp4
│  │  │  │      08-全局配置文件-tabBar.mp4
│  │  │  │      09-页面配置.mp4
│  │  │  │      10-视图层-数据绑定1.mp4
│  │  │  │      11-视图层-数据绑定2.mp4
│  │  │  │      12-视图层-运算.mp4
│  │  │  │      13-视图层-列表渲染.mp4
│  │  │  │      14-视图层-rpx.mp4
│  │  │  │      15-视图层-样式导入和全局样式.mp4
│  │  │  │      16-view标签.mp4
│  │  │  │      17-text标签.mp4
│  │  │  │      18-image标签.mp4
│  │  │  │      19-swiper标签.mp4
│  │  │  │      20-navigate标签.mp4
│  │  │  │      21-bindtap和this.setData.mp4
│  │  │  │      22-自定义组件.mp4
│  │  │  │      23-美团项目介绍.mp4
│  │  │  │      24-美团项目文件目录介绍.mp4
│  │  │  │      25-美团头部.mp4
│  │  │  │      27-轮播图.mp4
│  │  │  │      28-首页导航.mp4
│  │  │  │      29-签到.mp4
│  │  │  │      30-好货拼团.mp4
│  │  │  │      31-广告组.mp4
│  │  │  │      32-猜你喜欢1.mp4
│  │  │  │      33-猜你喜欢2.mp4
│  │  │  │      
│  │  │  ├─1-2 Wepy
│  │  │  │      01-课程介绍.m2ts
│  │  │  │      02-快速搭建项目.mp4
│  │  │  │      03-小程序开发者工具配置.mp4
│  │  │  │      04-代码高亮配置.mp4
│  │  │  │      05-开启promise.mp4
│  │  │  │      06-小程序和wepy文件结构对比.mp4
│  │  │  │      07-app.wpy中的style.mp4
│  │  │  │      08-app.wpy中的script.mp4
│  │  │  │      09-index.wpy中的data和methods.mp4
│  │  │  │      10-异步中修改数据.mp4
│  │  │  │      11-计算属性computed.mp4
│  │  │  │      12-监控属性watch.mp4
│  │  │  │      13-自定义数据和函数.mp4
│  │  │  │      14-自定义组件的初步使用.mp4
│  │  │  │      15-props-静态传值.mp4
│  │  │  │      16-props-单向绑定.mp4
│  │  │  │      17-props-双向绑定.mp4
│  │  │  │      18-父子通信broadcast.mp4
│  │  │  │      19-子向父通信-emit.mp4
│  │  │  │      20-组件之间的通信-invoke.mp4
│  │  │  │      21-冒泡型事件.mp4
│  │  │  │      22-捕获型事件.mp4
│  │  │  │      23-用户自定义事件.mp4
│  │  │  │      24-插槽.mp4
│  │  │  │      25-拦截器.mp4
│  │  │  │      27-项目介绍.mp4
│  │  │  │      28-项目搭建.mp4
│  │  │  │      29-location的静态结构.mp4
│  │  │  │      30-动态获取地理位置信息.mp4
│  │  │  │      31-轮播图.mp4
│  │  │  │      32-首页导航.mp4
│  │  │  │      33-好货拼团.mp4
│  │  │  │      34-广告组.mp4
│  │  │  │      35-商店1.mp4
│  │  │  │      36-商店2.mp4
│  │  │  │      37-商店3.mp4
│  │  │  │      38-调用腾讯地图计算真实距离.mp4
│  │  │  │      
│  │  │  ├─1-3 mpvue
│  │  │  │      01-mpvue介绍.mp4
│  │  │  │      02-启动项目.mp4
│  │  │  │      03-项目结构描述.mp4
│  │  │  │      04-mpvue的生命周期.mp4
│  │  │  │      05-标签映射.mp4
│  │  │  │      06-数据绑定.mp4
│  │  │  │      07-computed和watch.mp4
│  │  │  │      08-v-if和v-show.mp4
│  │  │  │      09-列表渲染.mp4
│  │  │  │      10-class动态绑定.mp4
│  │  │  │      11-style动态绑定.mp4
│  │  │  │      12-事件.mp4
│  │  │  │      13-事件的坑.mp4
│  │  │  │      14-组件的基本使用.mp4
│  │  │  │      15-组件传值props.mp4
│  │  │  │      16-子向父通信.mp4
│  │  │  │      17-事件总线.mp4
│  │  │  │      18-总结.mp4
│  │  │  │      19-美团项目搭建.mp4
│  │  │  │      20-项目配置.mp4
│  │  │  │      21-头部地理位置静态结构.mp4
│  │  │  │      22-动态获取地理位置.mp4
│  │  │  │      23-轮播图.mp4
│  │  │  │      24-首页导航.mp4
│  │  │  │      25-签到广告.mp4
│  │  │  │      26-好货拼团.mp4
│  │  │  │      27-广告组.mp4
│  │  │  │      28-猜你喜欢.mp4
│  │  │  │      29-猜你喜欢2.mp4
│  │  │  │      
│  │  │  └─1-4 Taro
│  │  │          01-Taro介绍.mp4
│  │  │          02-创建项目.mp4
│  │  │          03-项目结构描述和编码规范.mp4
│  │  │          04-全局配置.mp4
│  │  │          05-页面配置.mp4
│  │  │          06-路由功能.mp4
│  │  │          07-设计稿以及尺寸单位.mp4
│  │  │          08-taro中的jsx规范.mp4
│  │  │          09-taro自定义组件.mp4
│  │  │          10-jsx表达式.mp4
│  │  │          11-props属性.mp4
│  │  │          12-props其他介绍.mp4
│  │  │          13-state初体验.mp4
│  │  │          14-props和state结合使用.mp4
│  │  │          15-state的补充.mp4
│  │  │          16-事件的绑定.mp4
│  │  │          17-阻止事件冒泡.mp4
│  │  │          18-事件传递参数.mp4
│  │  │          19-事件传递1.mp4
│  │  │          20-事件的传递2.mp4
│  │  │          21-条件渲染-if.mp4
│  │  │          22-条件渲染-&&-三元运算符.mp4
│  │  │          23-列表渲染.mp4
│  │  │          24-children.mp4
│  │  │          25-组合.mp4
│  │  │          26-外部类.mp4
│  │  │          27-全局样式类.mp4
│  │  │          28-taro补充和总结.mp4
│  │  │          29-项目介绍和搭建.mp4
│  │  │          30-引入项目资源.mp4
│  │  │          31-位置_搜索1.mp4
│  │  │          32-位置搜索2.mp4
│  │  │          33-轮播图.mp4
│  │  │          34-首页菜单.mp4
│  │  │          35-首页拼团.mp4
│  │  │          36-奖励&广告组.mp4
│  │  │          37-猜你喜欢1.mp4
│  │  │          38-猜你喜欢2-动态计算距离.mp4
│  │  │          
│  │  ├─第七章 快应用开发框架
│  │  │  ├─7-1 快速上手
│  │  │  │      01-快应用简介.m2ts
│  │  │  │      02-环境搭建.m2ts
│  │  │  │      03-快速上手.m2ts
│  │  │  │      04-基础知识铺垫.m2ts
│  │  │  │      
│  │  │  └─7-2 案例实战
│  │  │          05-项目演示及目标.m2ts
│  │  │          06-克隆项目骨架.m2ts
│  │  │          07-运行项目调整项目配置文件.m2ts
│  │  │          08-首页界面布局.m2ts
│  │  │          09-首页数据加载和绑定.m2ts
│  │  │          10-页面导航并传递参数.m2ts
│  │  │          11-列表选项卡组件使用.m2ts
│  │  │          12-列表页默认显示选中分类.m2ts
│  │  │          13-列表数据加载.m2ts
│  │  │          14-上拉加载更多.m2ts
│  │  │          15-详细页.m2ts
│  │  │          
│  │  ├─第三章 混合式 App 开发框架
│  │  │  ├─3-1 课程介绍
│  │  │  │      1-1课程介绍.m2ts
│  │  │  │      
│  │  │  ├─3-2 混合式App简介
│  │  │  │      2-1什么是混合式App.m2ts
│  │  │  │      2-2混合式App工作原理.m2ts
│  │  │  │      2-3与原生App&WebApp的比较.m2ts
│  │  │  │      2-4常见的混合App开发框架.m2ts
│  │  │  │      
│  │  │  ├─3-3 Cordova
│  │  │  │      3-1Cordova简介及安装(1).m2ts
│  │  │  │      3-1Cordova简介及安装.m2ts
│  │  │  │      3-2平台管理命令.m2ts
│  │  │  │      3-3插件管理命令.m2ts
│  │  │  │      3-4创建插件及安装插件命令Plugman.m2ts
│  │  │  │      3-5配置Android环境并打包运行.m2ts
│  │  │  │      
│  │  │  ├─3-4 Phonegap
│  │  │  │      4-1Phonegap简介.m2ts
│  │  │  │      4-2phonegap Build云服务.m2ts
│  │  │  │      4-3phonegap第三方资源.m2ts
│  │  │  │      
│  │  │  ├─3-5 ionic
│  │  │  │      5-10Cli命令平台管理相关1.m2ts
│  │  │  │      5-11Cli命令平台管理相关2.m2ts
│  │  │  │      5-12打包构建及调试应用的4种方法1.m2ts
│  │  │  │      5-13打包构建及调试应用的4种方法2.m2ts
│  │  │  │      5-14Angular学习资料介绍.m2ts
│  │  │  │      5-15Angular中的核心概念导学.m2ts
│  │  │  │      5-16Angular的架构及工作原理.m2ts
│  │  │  │      5-17Angular入口文件及常用API查找.m2ts
│  │  │  │      5-18Angular组件、指令及模板语法介绍.m2ts
│  │  │  │      5-19Angular服务及依赖注入.m2ts
│  │  │  │      5-1Ionic简介.m2ts
│  │  │  │      5-20Angular路由介绍&理解Ionic应用跳转原理.m2ts
│  │  │  │      5-21Ionic框架UI组件库学习路径.m2ts
│  │  │  │      5-22Grid组件ion-grid1.m2ts
│  │  │  │      5-23Grid组件ion-grid2.m2ts
│  │  │  │      5-24Grid组件ion-col&ion-row1.m2ts
│  │  │  │      5-25Grid组件ion-col&ion-row2.m2ts
│  │  │  │      5-26Grid组件ion-col&ion-row3.m2ts
│  │  │  │      5-27Grid组件ion-col&ion-row4.m2ts
│  │  │  │      5-28Tabs组件1.m2ts
│  │  │  │      5-29Tabs组件2.m2ts
│  │  │  │      5-2ionic与cordova.m2ts
│  │  │  │      5-30Tabs组件3.m2ts
│  │  │  │      5-31button组件1.m2ts
│  │  │  │      5-32button组件2.m2ts
│  │  │  │      5-3ionic起步与使用.m2ts
│  │  │  │      5-4ionic核心概念.m2ts
│  │  │  │      5-53route与List组件简介.m2ts
│  │  │  │      5-5ionic相关资源介绍.m2ts
│  │  │  │      5-6Cli命令start.m2ts
│  │  │  │      5-7Cli命令resources资源管理.m2ts
│  │  │  │      5-8Cli命令ionic项目模板及使用方法.m2ts
│  │  │  │      5-9ionic云服务及热更新介绍.m2ts
│  │  │  │      
│  │  │  └─3-6 实战Ionic应用
│  │  │          6-1 Ionic常用组件综合应用1.m2ts
│  │  │          6-10实战应用——登录页面1.m2ts
│  │  │          6-11实战应用——登录页面2.m2ts
│  │  │          6-12实战应用——登录页面3.m2ts
│  │  │          6-13实战应用-自习室1.m2ts
│  │  │          6-14实战应用-自习室2.m2ts
│  │  │          6-15实战应用-自习室3.m2ts
│  │  │          6-16实战应用-自习室4.m2ts
│  │  │          6-17实战应用-自习室5.m2ts
│  │  │          6-18 ionic之iOS打包——重要的三个开发文件.m2ts
│  │  │          6-19打包上线&TestFlight简介.m2ts
│  │  │          6-2 Ionic常用组件综合应用2.m2ts
│  │  │          6-3 Ionic常用组件综合应用3.m2ts
│  │  │          6-4Ionic常用组件综合应用-小结.m2ts
│  │  │          6-5Ionic开发补充说明.m2ts
│  │  │          6-6RESTAPI开发&Mock数据接口测试.m2ts
│  │  │          6-7Json-server&Mockjs.m2ts
│  │  │          6-8RESTAPI开发小结.m2ts
│  │  │          6-9Ionic Native功能.m2ts
│  │  │          
│  │  ├─第二章 原生应用开发框架
│  │  │  ├─2-1 课程介绍
│  │  │  │      1-原生应用开发框架介绍.m2ts
│  │  │  │      
│  │  │  ├─2-2 环境搭建
│  │  │  │      2-原生应用开发框架之Windows环境搭建.m2ts
│  │  │  │      3-生成React-Native项目并且运行在真机和模拟器上.m2ts
│  │  │  │      4-生成Weex项目并且运行在真机和模拟器上.m2ts
│  │  │  │      5-生成Flutter项目并且运行在模拟器和真机上.m2ts
│  │  │  │      6-原生应用开发框架之Mac环境搭建.m2ts
│  │  │  │      7-Mac环境下生成React-Native项目并且运行.m2ts
│  │  │  │      8-Mac环境下生成Weex项目并且运行.m2ts
│  │  │  │      9-Mac环境下生成Flutter项目并且运行.m2ts
│  │  │  │      
│  │  │  ├─2-3 React-Native
│  │  │  │      10-React-Native项目之项目结构及代码分析.m2ts
│  │  │  │      11-React-Native项目之搭建底部TabBar1.m2ts
│  │  │  │      12-React-Native项目之搭建底部TabBar和顶部导航.m2ts
│  │  │  │      13-React-Native项目之完成了首页的功能.m2ts
│  │  │  │      14-React-Native项目之获取电影数据.m2ts
│  │  │  │      15-React-Native项目之完成了电影组件的渲染.m2ts
│  │  │  │      16-React-Native项目之电影列表组件实现01.m2ts
│  │  │  │      17-React-Native项目之电影列表组件实现02.m2ts
│  │  │  │      18-React-Native项目之电影详情组件完成.m2ts
│  │  │  │      
│  │  │  └─2-4 Flutter
│  │  │          19-Flutter项目之搭建底部TabBar.m2ts
│  │  │          20-Flutter项目之完成了首页的功能.m2ts
│  │  │          21-Flutter项目之获取电影页面数据.m2ts
│  │  │          22-Flutter项目之完成了电影页面的渲染.m2ts
│  │  │          23-Flutter项目之完成了电影列表页面的渲染.m2ts
│  │  │          24-Flutter项目之完成了电影详情页面渲染.m2ts
│  │  │          
│  │  ├─第五章 Flutter 框架入门
│  │  │  ├─5-1 Flutter介绍与配置
│  │  │  │      0-1 介绍.m2ts
│  │  │  │      0-2 mac环境配置.m2ts
│  │  │  │      0-3 mac模拟器(ioc).m2ts
│  │  │  │      0-4 mac模拟器(安卓).m2ts
│  │  │  │      0-5 windos(1).m2ts
│  │  │  │      0-6 windows(2).m2ts
│  │  │  │      
│  │  │  ├─5-10 按钮
│  │  │  │      9-1 学习目标.m2ts
│  │  │  │      9-2 浮动按钮.m2ts
│  │  │  │      9-3 文字按钮.m2ts
│  │  │  │      9-4 带效果的按钮.m2ts
│  │  │  │      9-5 带边框的按钮.m2ts
│  │  │  │      9-6 抽离小组件.m2ts
│  │  │  │      
│  │  │  ├─5-11 路由
│  │  │  │      10-1 学习目标.m2ts
│  │  │  │      10-2 路由跳转.m2ts
│  │  │  │      10-3 路由返回.m2ts
│  │  │  │      10-4 带名字的路由.m2ts
│  │  │  │      
│  │  │  ├─5-2 快速起步
│  │  │  │      2-1目标.m2ts
│  │  │  │      2-2项目.m2ts
│  │  │  │      2-3helloworld.m2ts
│  │  │  │      2-4widget.m2ts
│  │  │  │      2-5statewidget.m2ts
│  │  │  │      2-6.m2ts
│  │  │  │      
│  │  │  ├─5-3 Flutter 界面
│  │  │  │      3-0目标.m2ts
│  │  │  │      3-1MaterialApp.m2ts
│  │  │  │      3-2Scaffold.m2ts
│  │  │  │      3-3功能按钮.m2ts
│  │  │  │      
│  │  │  ├─5-4 边栏
│  │  │  │      4-1学习目标.m2ts
│  │  │  │      4-2模块化.m2ts
│  │  │  │      4-3drawer.m2ts
│  │  │  │      4-4drawerHeader.m2ts
│  │  │  │      4-5listTile.m2ts
│  │  │  │      
│  │  │  ├─5-5 常用组件
│  │  │  │      5-1学习目标.m2ts
│  │  │  │      5-2textWidget.m2ts
│  │  │  │      5-3richtext.m2ts
│  │  │  │      5-4container.m2ts
│  │  │  │      5-5border.m2ts
│  │  │  │      5-6圆角.m2ts
│  │  │  │      5-7column.m2ts
│  │  │  │      5-8row.m2ts
│  │  │  │      
│  │  │  ├─5-6 Tab 切换
│  │  │  │      5-1 学习目标.m2ts
│  │  │  │      5-2 Tab控制器.m2ts
│  │  │  │      5-3 Tab标签.m2ts
│  │  │  │      5-4 Tab主体.m2ts
│  │  │  │      5-5 Tab样式.m2ts
│  │  │  │      
│  │  │  ├─5-7 布局小案例
│  │  │  │      6-1 学习目标.m2ts
│  │  │  │      6-2 listview布局.m2ts
│  │  │  │      6-3 加载图片.m2ts
│  │  │  │      6-4 标题.m2ts
│  │  │  │      6-5 点赞.m2ts
│  │  │  │      6-6 按钮栏.m2ts
│  │  │  │      6-7 长文字.m2ts
│  │  │  │      6-8 图标传参.m2ts
│  │  │  │      
│  │  │  ├─5-8 更多组件
│  │  │  │      7-1 学习目标.m2ts
│  │  │  │      7-2 固定宽高比组件.m2ts
│  │  │  │      7-3 层叠堆放.m2ts
│  │  │  │      7-4 列表、分割线.m2ts
│  │  │  │      7-5 Tag标签.m2ts
│  │  │  │      
│  │  │  └─5-9 输入组件
│  │  │          8-1 学习目标.m2ts
│  │  │          8-2 输入组件.m2ts
│  │  │          8-3 输入框样式.m2ts
│  │  │          8-4 用户名密码.m2ts
│  │  │          8-5 登录按钮.m2ts
│  │  │          8-6 有状态的组件.m2ts
│  │  │          
│  │  ├─第八章 Flutter好客租房项目
│  │  │  ├─8-1 课程简介
│  │  │  │      1.1 为什么学习 flutter 项目.m2ts
│  │  │  │      1.2 课程内容.m2ts
│  │  │  │      1.3 项目简介.m2ts
│  │  │  │      
│  │  │  ├─8-2 基础回顾
│  │  │  │      2 基础回顾.m2ts
│  │  │  │      
│  │  │  ├─8-3 项目架构
│  │  │  │      3.1 初始化项目.m2ts
│  │  │  │      3.2 编写一个简单页面-准备.m2ts
│  │  │  │      3.3 编写一个简单页面-实现.m2ts
│  │  │  │      3.4 安装 fluro 并添加登陆页面.m2ts
│  │  │  │      3.5 如何配置fluro.m2ts
│  │  │  │      3.6 配置fluro.m2ts
│  │  │  │      3.7 优化路由配置.m2ts
│  │  │  │      
│  │  │  ├─8-4 静态页面
│  │  │  │      4.1 登陆页-页面分析.m2ts
│  │  │  │      4.10 首页-tabIndex-页面结构.m2ts
│  │  │  │      4.11 首页-tabIndex-轮播图-准备.m2ts
│  │  │  │      4.12 首页-tabIndex-轮播图-实现.m2ts
│  │  │  │      4.13 首页-tabIndex-导航-准备.m2ts
│  │  │  │      4.14 首页-tabIndex-导航-实现.m2ts
│  │  │  │      4.15 组件 CommonImage 封装-分析.m2ts
│  │  │  │      4.16 组件 CommonImage 封装-实现.m2ts
│  │  │  │      4.17 首页-tabIndex-推荐-准备.m2ts
│  │  │  │      4.18 首页-tabIndex-推荐-编码-主体结构部分.m2ts
│  │  │  │      4.19 首页-tabIndex-推荐-编码-item 部分.m2ts
│  │  │  │      4.2 登陆页-主体结构.m2ts
│  │  │  │      4.20 首页-tabIndex-资讯-准备.m2ts
│  │  │  │      4.21 首页-tabIndex-资讯-编码-主体结构.m2ts
│  │  │  │      4.22 首页-tabIndex-资讯-编码-item部分.m2ts
│  │  │  │      4.23 首页-tabInfo.m2ts
│  │  │  │      4.24 首页-tabSearch-分析.m2ts
│  │  │  │      4.25 首页-tabSearch-主体结构.m2ts
│  │  │  │      4.26 首页-tabSearch-item 部分.m2ts
│  │  │  │      4.27 首页-tabSearch-tag 部分.m2ts
│  │  │  │      4.28 组件 SearchBar 封装-分析.m2ts
│  │  │  │      4.29 组件 SearchBar 封装-主体结构开发.m2ts
│  │  │  │      4.3 登陆页-密码显示隐藏.m2ts
│  │  │  │      4.30 组件 SearchBar 封装-完善搜索框.m2ts
│  │  │  │      4.31 组件 SearchBar 封装-细节完善.m2ts
│  │  │  │      4.32 组件 SearchBar 封装-使用及优化.m2ts
│  │  │  │      4.33 首页-tabProfile-分析.m2ts
│  │  │  │      4.34 首页-tabProfile-主体结构.m2ts
│  │  │  │      4.35 首页-tabProfile-登陆注册-未登陆视图.m2ts
│  │  │  │      4.36 首页-tabProfile-登陆注册-已登陆视图.m2ts
│  │  │  │      4.37 首页-tabProfile-功能按钮-主体结构.m2ts
│  │  │  │      4.38 首页-tabProfile-功能按钮-item.m2ts
│  │  │  │      4.39 首页-tabProfile-广告及资讯.m2ts
│  │  │  │      4.4 登陆页-细节优化.m2ts
│  │  │  │      4.40 设置页.m2ts
│  │  │  │      4.41 房屋管理页-主体结构.m2ts
│  │  │  │      4.42 房屋管理页-发布按钮.m2ts
│  │  │  │      4.43 发布房源页-分析.m2ts
│  │  │  │      4.44 发布房源页-主体结构.m2ts
│  │  │  │      4.45 发布房源页-CommonTitle.m2ts
│  │  │  │      4.46 发布房源页-CommonFormItem-分析.m2ts
│  │  │  │      4.47 发布房源页-CommonFormItem-实现.m2ts
│  │  │  │      4.48 发布房源页-CommonFormItem-实现小区选择.m2ts
│  │  │  │      4.49 发布房源页-CommonRadioFormItem.m2ts
│  │  │  │      4.5 注册页-添加.m2ts
│  │  │  │      4.50 发布房源页-CommonSelectFormItem.m2ts
│  │  │  │      4.51 发布房源页-CommonPicker-分析.m2ts
│  │  │  │      4.52 发布房源页-CommonPicker-主体结构.m2ts
│  │  │  │      4.53 发布房源页-CommonPicker-细节和事件.m2ts
│  │  │  │      4.54 发布房源页-房屋图像-主体结构.m2ts
│  │  │  │      4.55 发布房源页-房屋图像-添加删除.m2ts
│  │  │  │      4.56 发布房源页-房屋标题描述.m2ts
│  │  │  │      4.57 发布房源页-房屋配置-分析.m2ts
│  │  │  │      4.58 发布房源页-房屋配置-实现.m2ts
│  │  │  │      4.59 房屋详情页-分析.m2ts
│  │  │  │      4.6 注册页-完善.m2ts
│  │  │  │      4.60 房屋详情页面-主体结构(1).m2ts
│  │  │  │      4.60 房屋详情页面-主体结构.m2ts
│  │  │  │      4.61房屋详情页面-底部按钮.m2ts
│  │  │  │      4.62 房屋详情页面-房屋图片&房屋基本信息.m2ts
│  │  │  │      4.63 房屋详情页面-房屋详细信息.m2ts
│  │  │  │      4.64 房屋详情页面-房屋配置.m2ts
│  │  │  │      4.65 房屋详情页面-房屋概况&猜你喜欢.m2ts
│  │  │  │      4.66 filterBar-分析.m2ts
│  │  │  │      4.67 filterBar-展示区域.m2ts
│  │  │  │      4.68 filterBar-picker 部分.m2ts
│  │  │  │      4.69 filterBar-drawer 部分-展示部分.m2ts
│  │  │  │      4.7 首页-tab-分析.m2ts
│  │  │  │      4.70 filterBar-drawer 部分-数据分析.m2ts
│  │  │  │      4.71 filterBar-drawer 部分-ScopedModel-model.m2ts
│  │  │  │      4.72 filterBar-drawer 部分-ScopedModelHelper.m2ts
│  │  │  │      4.73 filterBar-drawer 部分-ScopedModel-使.m2ts
│  │  │  │      4.8 首页-tab-编码.m2ts
│  │  │  │      4.9 首页-tabIndex-分析.m2ts
│  │  │  │      
│  │  │  ├─8-5 前后端联调
│  │  │  │      5.1 介绍 Dio.m2ts
│  │  │  │      5.10 model 生成半自动化.m2ts
│  │  │  │      5.11 优化model.m2ts
│  │  │  │      5.12 城市选择器-分析.m2ts
│  │  │  │      5.13 城市选择器-实现.m2ts
│  │  │  │      5.14 联调 FilterBar.m2ts
│  │  │  │      5.15 联调找房页.m2ts
│  │  │  │      5.16 房屋详情页.m2ts
│  │  │  │      5.17 房屋管理页.m2ts
│  │  │  │      5.18 房源发布-分析.m2ts
│  │  │  │      5.19 房源发布-条件数据.m2ts
│  │  │  │      5.2 封装 DioHttp.m2ts
│  │  │  │      5.20 房源发布-小区选择-主流程.m2ts
│  │  │  │      5.21 房源发布-小区选择-细节完善及联调.m2ts
│  │  │  │      5.22 房源发布-图片上传.m2ts
│  │  │  │      5.23 房源发布-数据校验及提交.m2ts
│  │  │  │      5.24 房源发布-优化.m2ts
│  │  │  │      5.25 登陆过期处理.m2ts
│  │  │  │      5.26 添加 flutter 启动页.m2ts
│  │  │  │      5.3 注册页联调.m2ts
│  │  │  │      5.4 登陆页联调–分析.m2ts
│  │  │  │      5.5 封装 Store.m2ts
│  │  │  │      5.6 实现 AuthModel.m2ts
│  │  │  │      5.7 登陆页联调.m2ts
│  │  │  │      5.8 使用 AuthModel 及退出登陆.m2ts
│  │  │  │      5.9 完善个人信息.m2ts
│  │  │  │      
│  │  │  ├─8-6 构建打包
│  │  │  │      6.1 构建打包分析.m2ts
│  │  │  │      6.2 构建 Android 包.m2ts
│  │  │  │      6.3 构建 ios 包.m2ts
│  │  │  │      
│  │  │  └─8-7 总结
│  │  │          7 Flutter 总结.m2ts
│  │  │          
│  │  ├─第六章 黑马头条 App 项目
│  │  │  ├─6-1 项目准备
│  │  │  │      1-01 项目介绍.m2ts
│  │  │  │      1-02 新建项目.m2ts
│  │  │  │      
│  │  │  ├─6-10 redux
│  │  │  │      10-01 学习目标.m2ts
│  │  │  │      10-02 初始化redux.m2ts
│  │  │  │      10-03 绑定action.m2ts
│  │  │  │      10-04 redux小案例(2).m2ts
│  │  │  │      10-04 redux小案例.m2ts
│  │  │  │      10-05 redux小案例(3).m2ts
│  │  │  │      10-06 redux总结.m2ts
│  │  │  │      
│  │  │  ├─6-11 身份认证
│  │  │  │      11-01 学习目标.m2ts
│  │  │  │      11-02 页面UI(1).m2ts
│  │  │  │      11-03 页面UI(2).m2ts
│  │  │  │      11-04 页面UI(3).m2ts
│  │  │  │      11-05 页面UI(4).m2ts
│  │  │  │      11-06 使用图库.m2ts
│  │  │  │      11-07 使用图库(2).m2ts
│  │  │  │      11-08 获取拍摄信息(简介).m2ts
│  │  │  │      
│  │  │  ├─6-12 收藏和历史
│  │  │  │      12-01 学习目标.m2ts
│  │  │  │      12-02 Tab切换.m2ts
│  │  │  │      12-03 Tab内容.m2ts
│  │  │  │      12-04 跳转和数据.m2ts
│  │  │  │      
│  │  │  ├─6-13 作品
│  │  │  │      13-01 学习目标2.m2ts
│  │  │  │      13-02 作品UI.m2ts
│  │  │  │      13-03 公告和数据.m2ts
│  │  │  │      
│  │  │  ├─6-14 启动页
│  │  │  │      14-01 学习目标.m2ts
│  │  │  │      14-02 启动图片.m2ts
│  │  │  │      14-03 滑动页面.m2ts
│  │  │  │      
│  │  │  ├─6-15 其他页面
│  │  │  │      15-01 学习目标2.m2ts
│  │  │  │      15-02 消息列表.m2ts
│  │  │  │      15-03 接入redux.m2ts
│  │  │  │      15-04 接收数据.m2ts
│  │  │  │      15-05 系统设置界面.m2ts
│  │  │  │      
│  │  │  ├─6-2 登录界面
│  │  │  │      2-01 学习目标.m2ts
│  │  │  │      2-02 创建界面.m2ts
│  │  │  │      2-03 输入框.m2ts
│  │  │  │      2-04 验证码.m2ts
│  │  │  │      2-05 登录按钮.m2ts
│  │  │  │      2-06 倒计时按钮.m2ts
│  │  │  │      2-07 定时器.m2ts
│  │  │  │      2-08 优化定时器.m2ts
│  │  │  │      2-09 优化点击动作.m2ts
│  │  │  │      2-10 网络请求.m2ts
│  │  │  │      2-11 获取和使用第三方组件.m2ts
│  │  │  │      2-12 dio组件.m2ts
│  │  │  │      2-13 校验输入框.m2ts
│  │  │  │      2-14 封装网络接口(1).m2ts
│  │  │  │      2-15 封装网络接口(2).m2ts
│  │  │  │      2-16 成功反馈.m2ts
│  │  │  │      2-17 数据持久化.m2ts
│  │  │  │      2-18 添加请求头.m2ts
│  │  │  │      2-19 用户登录检测.m2ts
│  │  │  │      2-20 生命周期.m2ts
│  │  │  │      2-21 本章小结.m2ts
│  │  │  │      
│  │  │  ├─6-3 底部切换页面
│  │  │  │      3-01 学习目标.m2ts
│  │  │  │      3-02 底部切换按钮.m2ts
│  │  │  │      3-03 切换页面.m2ts
│  │  │  │      3-04 切换优化.m2ts
│  │  │  │      3-05 路由切换.m2ts
│  │  │  │      
│  │  │  ├─6-4 新闻列表
│  │  │  │      4-01 学习目标.m2ts
│  │  │  │      4-02 搜索框.m2ts
│  │  │  │      4-03 tab标签.m2ts
│  │  │  │      4-04 新闻列表(1).m2ts
│  │  │  │      4-05 新闻列表(2).m2ts
│  │  │  │      4-06 新闻列表(3).m2ts
│  │  │  │      4-07 新闻列表(4).m2ts
│  │  │  │      4-08 获取Tab数据.m2ts
│  │  │  │      4-09 渲染Tab数据.m2ts
│  │  │  │      4-10 新闻内容组件传值.m2ts
│  │  │  │      4-11 获取新闻数据.m2ts
│  │  │  │      4-12 数据序列化.m2ts
│  │  │  │      4-13 数据套用(1).m2ts
│  │  │  │      4-14 数据套用(2).m2ts
│  │  │  │      4-15 数据套用(3).m2ts
│  │  │  │      4-16 下拉刷新.m2ts
│  │  │  │      4-17 上拉加载更多.m2ts
│  │  │  │      4-18 时间格式化.m2ts
│  │  │  │      
│  │  │  ├─6-5 边栏频道
│  │  │  │      5-01 学习目标.m2ts
│  │  │  │      5-02 边栏UI(1).m2ts
│  │  │  │      5-03 边栏UI(2).m2ts
│  │  │  │      5-04 边栏数据.m2ts
│  │  │  │      5-05 编辑按钮.m2ts
│  │  │  │      5-06 删除频道.m2ts
│  │  │  │      5-07 添加频道.m2ts
│  │  │  │      5-08 子组件调用父组件的方法.m2ts
│  │  │  │      
│  │  │  ├─6-6 详情页面
│  │  │  │      6-01 学习目标.m2ts
│  │  │  │      6-02 创建新闻详情页面.m2ts
│  │  │  │      6-03 创建和使用sliver.m2ts
│  │  │  │      6-04 sliver家族组件.m2ts
│  │  │  │      6-05 猜你喜欢UI.m2ts
│  │  │  │      6-06 按钮UI.m2ts
│  │  │  │      6-07 跟随固定的头部.m2ts
│  │  │  │      6-08 跟随头部组件.m2ts
│  │  │  │      6-09 作者UI.m2ts
│  │  │  │      6-10 顶部bar.m2ts
│  │  │  │      6-11 顶Bar样式.m2ts
│  │  │  │      6-12 分享弹窗.m2ts
│  │  │  │      6-13 举报弹窗.m2ts
│  │  │  │      6-14 页面数据(1).m2ts
│  │  │  │      6-15 页面数据(2).m2ts
│  │  │  │      6-16 页面数据(3).m2ts
│  │  │  │      6-17 评论UI.m2ts
│  │  │  │      6-18 评论输入框.m2ts
│  │  │  │      
│  │  │  ├─6-7 搜索
│  │  │  │      7-01 学习目标.m2ts
│  │  │  │      7-02 搜索框.m2ts
│  │  │  │      7-03 历史记录.m2ts
│  │  │  │      7-04 猜你想搜.m2ts
│  │  │  │      7-05 输入关键词.m2ts
│  │  │  │      7-06 联想关键词.m2ts
│  │  │  │      7-07 获取关键词数据.m2ts
│  │  │  │      
│  │  │  ├─6-8 个人中心
│  │  │  │      8-01 学习目标.m2ts
│  │  │  │      8-02 用户信息.m2ts
│  │  │  │      8-03 按钮和列表.m2ts
│  │  │  │      
│  │  │  └─6-9 聊天
│  │  │          9-01 学习目标.m2ts
│  │  │          9-02 聊天界面(1).m2ts
│  │  │          9-03 聊天界面(2).m2ts
│  │  │          9-04 socket.m2ts
│  │  │          
│  │  ├─第四章 H5 配合原生开发 App
│  │  │  ├─4-1 如何开发App
│  │  │  │      1-1 如何开发App.m2ts
│  │  │  │      
│  │  │  ├─4-2 HyBridApp
│  │  │  │      2-1HyBridApp开发分工.m2ts
│  │  │  │      2-2 HyBridApp开发框架.m2ts
│  │  │  │      2-3 HyBridApp适用情景.m2ts
│  │  │  │      
│  │  │  ├─4-3 HyBridApp界面开发
│  │  │  │      3-1 HyBridApp界面开发.m2ts
│  │  │  │      3-2 HyBridApp界面适配.m2ts
│  │  │  │      3-3 HyBridApp还原设计.m2ts
│  │  │  │      
│  │  │  ├─4-4 HyBridApp优化体验
│  │  │  │      4-1 加载优化.m2ts
│  │  │  │      4-2 骨架屏实现01.m2ts
│  │  │  │      4-3 骨架屏实现02.m2ts
│  │  │  │      4-4 体验优化.m2ts
│  │  │  │      
│  │  │  ├─4-5 HyBridApp开发框架对比
│  │  │  │      5-1 基础框架.m2ts
│  │  │  │      5-2 脚手架.m2ts
│  │  │  │      5-3 原生编译框架.m2ts
│  │  │  │      5-4 开发平台.m2ts
│  │  │  │      5-5 自研框架.m2ts
│  │  │  │      5-6 横向对比&总结.m2ts
│  │  │  │      
│  │  │  ├─4-6 WebView
│  │  │  │      6-1 什么是WebView.m2ts
│  │  │  │      6-2 WebView基本使用1.m2ts
│  │  │  │      6-3 WebView基本使用2.m2ts
│  │  │  │      
│  │  │  ├─4-7 H5跟原生交互
│  │  │  │      7-1 基本概念.m2ts
│  │  │  │      7-2 JS跟Android交互.m2ts
│  │  │  │      7-3 JS跟iOS交互.m2ts
│  │  │  │      7-4 iOS调用JS代码演示.m2ts
│  │  │  │      7-5 JS调用iOS代码演示.m2ts
│  │  │  │      7-6 url scheme基本概念.m2ts
│  │  │  │      7-7 url scheme代码演示.m2ts
│  │  │  │      7-8 总结.m2ts
│  │  │  │      
│  │  │  └─4-8 JSBridge
│  │  │          8-1 JSBridge.m2ts
│  │  │          8-2 JSBridge设计思想.m2ts
│  │  │          8-3 总结.m2ts
│  │  │          
│  │  └─资料笔记
│  │          在职加薪课程:移动App开发.zip
│  │          好客租房项目接口文档【更新】.TXT
│  │          最新:黑马头条APP项目接口文档.TXT
│  │          
│  ├─11 阶段十一 赠送选学移Node.js进阶7.6-在职加薪课
│  │  │  在职加薪阶课程:Node.js进阶.zip
│  │  │  
│  │  ├─第一章 Node核心API
│  │  │      1-1 buffer初探.mp4
│  │  │      1-10 http1.0到2.0的发展历程.mp4
│  │  │      1-11 https模块.mp4
│  │  │      1-2 buffer与typedArray.mp4
│  │  │      1-3 dgram的使用.mp4
│  │  │      1-4 event对象的使用.mp4
│  │  │      1-5 文件系统前置知识.mp4
│  │  │      1-6 fs模块的基本操作.mp4
│  │  │      1-7 fs模块高级用法.mp4
│  │  │      1-8 http服务创建.mp4
│  │  │      1-9 http2模块的使用.mp4
│  │  │      
│  │  ├─第七章 网络爬虫开发
│  │  │  ├─7-1 课程介绍
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      
│  │  │  ├─7-2 爬虫基础
│  │  │  │      2-1 发送http请求.m2ts
│  │  │  │      2-10 封装爬虫基础库-定义抽象方法.m2ts
│  │  │  │      2-11 封装爬虫基础库-实现TeacherPhotos类.m2ts
│  │  │  │      2-12 封装爬虫基础库-实现NewsList类及总结.m2ts
│  │  │  │      2-2 cheerio库简介.m2ts
│  │  │  │      2-3 使用cheerio解析html并提取img的src属性.m2ts
│  │  │  │      2-4 使用download下载图片.m2ts
│  │  │  │      2-5 爬取前端渲染网站的注意事项.m2ts
│  │  │  │      2-6 分析ajax请求并爬取(伪造header).m2ts
│  │  │  │      2-7 封装爬虫基础库-环境准备.m2ts
│  │  │  │      2-8 封装爬虫基础库-定义options接口.m2ts
│  │  │  │      2-9 封装爬虫基础库-抽取公共部分代码.m2ts
│  │  │  │      
│  │  │  ├─7-3 爬虫高级
│  │  │  │      3-1 Selenium简介.m2ts
│  │  │  │      3-2 Selenium基本使用-下载WebDriver.m2ts
│  │  │  │      3-3 Selenium基本使用-HelloWorld及应用场景简介.m2ts
│  │  │  │      3-4 Selenium基本使用-反爬虫机制简介.m2ts
│  │  │  │      3-5 Selenium基本使用-SeleniumAPI简介.m2ts
│  │  │  │      3-6 爬虫实战-自动打开浏览器输入关键字进行搜索.m2ts
│  │  │  │      3-7 爬虫实战-爬取需要的数据.m2ts
│  │  │  │      3-8 爬虫实战-自动翻页.m2ts
│  │  │  │      
│  │  │  └─7-4 课程总结
│  │  │          4-1 课程总结.m2ts
│  │  │          
│  │  ├─第三章 Node.js 事件循环与多进程
│  │  │  ├─3-1 事件循环介绍
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      1-2 事件循环概念.m2ts
│  │  │  │      
│  │  │  ├─3-2 浏览器事件循环
│  │  │  │      2-1 浏览器事件循环-任务队列.m2ts
│  │  │  │      2-2 宏任务与微任务概念介绍.m2ts
│  │  │  │      2-3 宏任务与微任务面试题.m2ts
│  │  │  │      
│  │  │  ├─3-3 nodejs事件循环
│  │  │  │      3-1 nodejs事件循环概念.m2ts
│  │  │  │      3-2 理解fs和setTimeout的关系1.m2ts
│  │  │  │      3-3 理解fs和setTimeout的关系2.m2ts
│  │  │  │      3-4 setTimeout和setImmediate.m2ts
│  │  │  │      3-5 nextTick使用与解读.m2ts
│  │  │  │      3-6 nextTick应用场景.m2ts
│  │  │  │      
│  │  │  └─3-4 ndoejs多进程
│  │  │          4-1 多进程与多线程介绍.m2ts
│  │  │          4-10 cluster方法介绍.m2ts
│  │  │          4-11 多进程的惊群现象.m2ts
│  │  │          4-12 nginx多进程模型.m2ts
│  │  │          4-13 cluster调度模型.m2ts
│  │  │          4-14 cluster的优雅退出和进程守护.m2ts
│  │  │          4-15 ipc通信.m2ts
│  │  │          4-2 如何选择进程和线程.m2ts
│  │  │          4-3 cluster开启多进程.m2ts
│  │  │          4-4 多进程与单进程性能对比.m2ts
│  │  │          4-5 nodejs调试方法.m2ts
│  │  │          4-6 process的使用.m2ts
│  │  │          4-7 child_process的使用1.m2ts
│  │  │          4-8 child_process的使用2.m2ts
│  │  │          4-9 cluster属性介绍.m2ts
│  │  │          
│  │  ├─第二章 Node.js 网络通信
│  │  │  ├─2-1 网络通信概述
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      1-2 网络通信概述.m2ts
│  │  │  │      
│  │  │  ├─2-2 构建TCP服务
│  │  │  │      2-1 TCP-三次握手连接.m2ts
│  │  │  │      2-10 聊天室-清除离线用户.m2ts
│  │  │  │      2-11 聊天室-上线离线通知.m2ts
│  │  │  │      2-12 总结.m2ts
│  │  │  │      2-2 创建TCP服务端和客户端.m2ts
│  │  │  │      2-3 TCP客户端与服务端双向通信.m2ts
│  │  │  │      2-4 接收终端数据发送到服务端.m2ts
│  │  │  │      2-5 TCP终端聊天室-群发数据.m2ts
│  │  │  │      2-6 聊天室-设计消息数据格式.m2ts
│  │  │  │      2-7 聊天室-登录.m2ts
│  │  │  │      2-8 聊天室-群聊.m2ts
│  │  │  │      2-9 聊天室-私聊.m2ts
│  │  │  │      
│  │  │  ├─2-3 构建UDP服务
│  │  │  │      3-1 UDP基本概念.m2ts
│  │  │  │      3-2 TCP和UDP.m2ts
│  │  │  │      3-3 UDP的三种传播方式.m2ts
│  │  │  │      3-4 UDP单播实现.m2ts
│  │  │  │      3-5 UDP广播实现.m2ts
│  │  │  │      3-6 UDP组播.m2ts
│  │  │  │      
│  │  │  ├─2-4 构建HTTP服务
│  │  │  │      4-1 创建基本的HTTP服务.m2ts
│  │  │  │      4-2 根据url处理响应.m2ts
│  │  │  │      4-3 响应html内容.m2ts
│  │  │  │      4-4 处理页面中的静态资源.m2ts
│  │  │  │      4-5 统一处理页面中的静态资源.m2ts
│  │  │  │      4-6 模板引擎介绍.m2ts
│  │  │  │      4-7 在http服务中使用模板引擎.m2ts
│  │  │  │      
│  │  │  └─2-5 构建HTTPS服务
│  │  │          5-01课程介绍.m2ts
│  │  │          5-02HTTPS原理及CA机构的由来.m2ts
│  │  │          5-03生成本地证书.m2ts
│  │  │          5-04申请国际认证的CA证书.m2ts
│  │  │          5-05真实上线的HTTPS服务器搭建.m2ts
│  │  │          5-06给服务器添加小功能.m2ts
│  │  │          5-07课程总结.m2ts
│  │  │          
│  │  ├─第五章 Web 应用开发框架
│  │  │  ├─5-1 koa
│  │  │  │      1-1 课程介绍与koa基本使用-hello world.m2ts
│  │  │  │      1-10 常见http状态码.m2ts
│  │  │  │      1-11 koa抛错的两种方式.m2ts
│  │  │  │      1-12 koa错误处里中间件.m2ts
│  │  │  │      1-13 主动触发error与监听.m2ts
│  │  │  │      1-14 使用中间件解析post请求中的body.m2ts
│  │  │  │      1-15 使用koa-body进行文件上传.m2ts
│  │  │  │      1-2 koa基本使用-context对象.m2ts
│  │  │  │      1-3 koa基本使用-读取并返回html片段.m2ts
│  │  │  │      1-4 koa路由-koa-route.m2ts
│  │  │  │      1-5 koa路由-静态资源服务与重定向.m2ts
│  │  │  │      1-6 koa中间件概念.m2ts
│  │  │  │      1-7 koa中间件-洋葱模型.m2ts
│  │  │  │      1-8 koa中间件-异步中间件.m2ts
│  │  │  │      1-9 koa中间件-中间件合成.m2ts
│  │  │  │      
│  │  │  ├─5-2 egg入门
│  │  │  │      2-1 egg介绍.m2ts
│  │  │  │      2-10 内置对象-application.m2ts
│  │  │  │      2-11 内置对象-context.m2ts
│  │  │  │      2-12 内置对象-request&response.m2ts
│  │  │  │      2-13 内置对象-controller,service,helper与config.m2ts
│  │  │  │      2-14 基础功能-运行环境.m2ts
│  │  │  │      2-15 基础功能-config配置.m2ts
│  │  │  │      2-16 基础功能-中间件.m2ts
│  │  │  │      2-17 基础功能-路由.m2ts
│  │  │  │      2-18 基础功能-controller介绍与设计技巧.m2ts
│  │  │  │      2-19 基础功能-controller中的csrf防范与重定向.m2ts
│  │  │  │      2-2 egg和koa的关系.m2ts
│  │  │  │      2-20 基础功能-service服务.m2ts
│  │  │  │      2-21 基础功能-插件的定义.m2ts
│  │  │  │      2-22 基础功能-如何编写一个插件.m2ts
│  │  │  │      2-23 基础功能-定时任务.m2ts
│  │  │  │      2-24 基础功能-自定义启动app.m2ts
│  │  │  │      2-3 编写第一个controller.m2ts
│  │  │  │      2-4 egg访问静态资源.m2ts
│  │  │  │      2-5 引入模板引擎插件.m2ts
│  │  │  │      2-6 编写一个helper扩展.m2ts
│  │  │  │      2-7 编写一个egg中间件.m2ts
│  │  │  │      2-8 egg中的渐进式开发思想.m2ts
│  │  │  │      2-9 基础功能-项目目录结构.m2ts
│  │  │  │      
│  │  │  └─5-3 egg进阶与实战
│  │  │          3-1 进阶-debug.m2ts
│  │  │          3-10 进阶-多进程增强-方案对比.m2ts
│  │  │          3-11 进阶-多进程增强-核心思想.m2ts
│  │  │          3-12 进阶-多进程增强-client抽象类以及异常处理.m2ts
│  │  │          3-13 进阶-多进程增强-egg官方代码解析.m2ts
│  │  │          3-14 实战-简易博客-项目介绍.m2ts
│  │  │          3-15 实战-简易博客-mongoose简介.m2ts
│  │  │          3-16 实战-简易博客-环境配置与数据库初始化.m2ts
│  │  │          3-17 实战-简易博客-编写schema.m2ts
│  │  │          3-18 实战-简易博客-添加文章到数据库.m2ts
│  │  │          3-19 实战-简易博客-返回值设计与错误处理.m2ts
│  │  │          3-2 进阶-日志分类以及写入.m2ts
│  │  │          3-20 实战-简易博客 -request数据校验.m2ts
│  │  │          3-21 实战-简易博客-查询全部数据.m2ts
│  │  │          3-22 实战-简易博客-数据库单个查询.m2ts
│  │  │          3-23 实战-简易博客-删除操作.m2ts
│  │  │          3-24 实战-简易博客-更新操作.m2ts
│  │  │          3-25 实战-简易博客-service逻辑提取.m2ts
│  │  │          3-26 课程总结.m2ts
│  │  │          3-3 进阶-日志切割.m2ts
│  │  │          3-4 进阶-agent介绍.m2ts
│  │  │          3-5 进阶-agent使用以及应用场景.m2ts
│  │  │          3-6 进阶-egg进程间通信.m2ts
│  │  │          3-7 进阶-错误处理的方式.m2ts
│  │  │          3-8 进阶-统一异常处理配置.m2ts
│  │  │          3-9 进阶-创建多实例插件.m2ts
│  │  │          
│  │  ├─第八章 Websocket
│  │  │  ├─8-1 课程介绍
│  │  │  │      1-1课程介绍.m2ts
│  │  │  │      
│  │  │  ├─8-2 Websocket基础
│  │  │  │      2-1基本概念.m2ts
│  │  │  │      2-2Websocket服务端搭建.m2ts
│  │  │  │      2-3初识ws(安装&简介).m2ts
│  │  │  │      2-4初识socketio-1.m2ts
│  │  │  │      2-5初识socketio-2.m2ts
│  │  │  │      
│  │  │  ├─8-3 WebSocket应用
│  │  │  │      3-10websocket鉴权机制设计-1.m2ts
│  │  │  │      3-11websocket鉴权机制设计-2.m2ts
│  │  │  │      3-12ws断线自动重连的两种方法.m2ts
│  │  │  │      3-13 认识Docker Redis&安装简介.m2ts
│  │  │  │      3-14 Redis GUI客户端.m2ts
│  │  │  │      3-15 Redis常见命令.m2ts
│  │  │  │      3-16 Redis_Nodejs集成1.m2ts
│  │  │  │      3-17 Redis_Nodejs集成2.m2ts
│  │  │  │      3-18 Redis_Nodejs集成3.m2ts
│  │  │  │      3-19 缓存消息核心业务逻辑分析.m2ts
│  │  │  │      3-1消息应用-客户端.m2ts
│  │  │  │      3-20 离线消息应用示例演示.m2ts
│  │  │  │      3-21 Redis操作扩展1.m2ts
│  │  │  │      3-22 Redis操作扩展2.m2ts
│  │  │  │      3-23 Redis缓存未读消息分析.m2ts
│  │  │  │      3-24 服务端业务修改.m2ts
│  │  │  │      3-2消息应用-服务端.m2ts
│  │  │  │      3-3调试应用&加入欢迎语.m2ts
│  │  │  │      3-4退出聊天室提醒.m2ts
│  │  │  │      3-5聊天室在线人数提醒.m2ts
│  │  │  │      3-6多聊天室加入聊天,在线人数.m2ts
│  │  │  │      3-7多聊天室退出聊天.m2ts
│  │  │  │      3-8服务端心中检测.m2ts
│  │  │  │      3-9客户端心跳检测&前后端联调.m2ts
│  │  │  │      
│  │  │  └─8-4 课程总结
│  │  │          4-1Websocket课程总结.m2ts
│  │  │          
│  │  ├─第六章 BaaS 接口标准
│  │  │  ├─6-1 第1章 GraphQL介绍
│  │  │  │      1-1 传统RESTful格式URL的问题.m2ts
│  │  │  │      1-2 GraphQL概述.m2ts
│  │  │  │      
│  │  │  ├─6-2 第2章 GraphQL快速体验
│  │  │  │      2-1 GraphQL快速体验.m2ts
│  │  │  │      
│  │  │  ├─6-3 第3章 GraphQL服务端开发
│  │  │  │      3-1 服务端开发-Apollo-server概述.m2ts
│  │  │  │      3-10 服务端开发-resolver函数parent参数用法.m2ts
│  │  │  │      3-11 服务端开发-resolver函数context参数基本用法.m2ts
│  │  │  │      3-12 服务端开发-resolver函数context参数实际应用.m2ts
│  │  │  │      3-2-服务端开发-ES6标签模板用法铺垫.m2ts
│  │  │  │      3-3 服务端开发-Apollor-server基本用法.m2ts
│  │  │  │      3-4 服务端开发-类型定义规则详解.m2ts
│  │  │  │      3-5 服务端开发-字段参数的基本用法.m2ts
│  │  │  │      3-6 服务端开发-标量类型.m2ts
│  │  │  │      3-7 服务端开发-枚举类型.m2ts
│  │  │  │      3-8 服务端开发-列表和非空.m2ts
│  │  │  │      3-9 服务端开发-输入类型.m2ts
│  │  │  │      
│  │  │  ├─6-4 GraphQL客户端开发
│  │  │  │      4-1 客户端开发-基本查询.m2ts
│  │  │  │      4-2 客户端开发-操作名称.m2ts
│  │  │  │      4-3 客户端开发-查询参数.m2ts
│  │  │  │      4-4 客户端开发-变量.m2ts
│  │  │  │      4-5 客户端开发-指令.m2ts
│  │  │  │      4-6 客户端开发-别名.m2ts
│  │  │  │      4-7 客户端开发-变更.m2ts
│  │  │  │      
│  │  │  └─6-5 留言板案例实战
│  │  │          5-1 留言板案例-业务概述.m2ts
│  │  │          5-2 留言板案例-实现服务端-数据查询.m2ts
│  │  │          5-3 留言板案例-实现客户端-Vue整合apollo调用接口基本步骤.m2ts
│  │  │          5-3 留言板案例-实现服务端-数据变更.m2ts
│  │  │          5-4 留言板案例-实现客户端-查询数据并模板填充.m2ts
│  │  │          5-5 留言板案例-实现客户端-添加留言信息.m2ts
│  │  │          5-6 留言板案例-实现客户端-格式化时间.m2ts
│  │  │          
│  │  └─第四章 NoSQL 数据库
│  │      ├─4-1 Redis
│  │      │      1-1 课程介绍.m2ts
│  │      │      1-10散列类型-实战.m2ts
│  │      │      1-11 列表类型-介绍.m2ts
│  │      │      1-12 列表类型-命令.m2ts
│  │      │      1-13 列表类型-实战1.m2ts
│  │      │      1-14 列表类型-实战2.m2ts
│  │      │      1-15 列表类型-命令扩展.m2ts
│  │      │      1-16 集合类型-命令.m2ts
│  │      │      1-17 集合类型-实战1.m2ts
│  │      │      1-18 集合类型-实战2.m2ts
│  │      │      1-19 集合类型-命令扩展.m2ts
│  │      │      1-2 redis发源与特点.m2ts
│  │      │      1-20 有序集合类型-介绍.m2ts
│  │      │      1-21 有序集合类型-命令.m2ts
│  │      │      1-22 有序集合类型-实战.m2ts
│  │      │      1-23 有序集合-扩展.m2ts
│  │      │      1-3 redis安装.m2ts
│  │      │      1-4 命令行客户端介绍.m2ts
│  │      │      1-5 redis数据类型热身.m2ts
│  │      │      1-6字符串类型.m2ts
│  │      │      1-7 字符串类型-命令扩展.m2ts
│  │      │      1-8散列类型-介绍.m2ts
│  │      │      1-9 散列类型-命令.m2ts
│  │      │      
│  │      ├─4-2 Redis进阶与实战
│  │      │      2-1 redis事务命令与错误处理.m2ts
│  │      │      2-10 ioredis介绍与可视化工具安装.m2ts
│  │      │      2-11 ioredis基本语法.m2ts
│  │      │      2-12 ioredis的管道与事务.m2ts
│  │      │      2-2 事务中的watch命令.m2ts
│  │      │      2-3 过期时间EXPIRE-命令.m2ts
│  │      │      2-4 EXPIRE实现访问频率限制.m2ts
│  │      │      2-5 EXPIRE实现访问频率限制优化.m2ts
│  │      │      2-6 EXPIRE实现缓存.m2ts
│  │      │      2-7 排序SORT命令.m2ts
│  │      │      2-8 SORT进行时间排序.m2ts
│  │      │      2-9 Redis中的一些优化建议.m2ts
│  │      │      
│  │      ├─4-3 Memcached介绍
│  │      │      3-1 memcached介绍.m2ts
│  │      │      
│  │      ├─4-4 mongoDb入门
│  │      │      4-1 mongoDB介绍与应用场景.m2ts
│  │      │      4-2 mongoDB安装与可视化工具.m2ts
│  │      │      4-3 使用node-mongodb-native进行增删改查.m2ts
│  │      │      
│  │      └─4-5 Egg+Redis+MongoDb实战
│  │              5-1 项目介绍.m2ts
│  │              5-2 项目架构分析.m2ts
│  │              5-3 cookie和session维持登录的原理.m2ts
│  │              5-4 业务流程梳理.m2ts
│  │              5-5 依赖安装与页面编写.m2ts
│  │              5-6 登录和注册与数据同步.m2ts
│  │              5-7 退出登录.m2ts
│  │              5-8 项目总结.m2ts
│  │              
│  ├─12 阶段十二 赠送选学移可视化与游戏7.6-在职加薪课
│  │  │  在职加薪课程:可视化与游戏.zip
│  │  │  
│  │  ├─第一章 网页游戏开发基础
│  │  │  ├─1-1 画布元素的使用
│  │  │  │      1-1 绘制线条.mp4
│  │  │  │      1-2 绘制三角形.mp4
│  │  │  │      1-3 绘制不同颜色的三角形.mp4
│  │  │  │      
│  │  │  ├─1-2 其他绘制API
│  │  │  │      2-1 文字绘制方法.mp4
│  │  │  │      2-2 文字绘制对齐方式.mp4
│  │  │  │      2-3 矩形和圆的绘制.mp4
│  │  │  │      2-4 图片绘制过程.mp4
│  │  │  │      
│  │  │  └─1-3 实现刮刮卡效果
│  │  │          3-1 绘制随机出现的中奖文字信息.mp4
│  │  │          3-2 绘制灰色矩形覆盖文字信息.mp4
│  │  │          3-3 鼠标移动时实现刮刮卡的效果.mp4
│  │  │          
│  │  ├─第三章 图形化开发库
│  │  │  ├─3-1 Threej
│  │  │  │      1-1 课程介绍和前端未来发展的方向.m2ts
│  │  │  │      1-10 基本元素-几何体-立方体与segments.m2ts
│  │  │  │      1-11 基本元素-几何体-其它几何体.m2ts
│  │  │  │      1-12 基本元素-材质-不受灯光影响的材质.m2ts
│  │  │  │      1-13 基本元素-材质-受光影响的材质.m2ts
│  │  │  │      1-14 基本元素-光源-平行光与阴影.m2ts
│  │  │  │      1-15 基本元素-光源-其它几种光源.m2ts
│  │  │  │      1-16 基本元素-相机-正交相机.m2ts
│  │  │  │      1-17 基本元素-相机-透视相机.m2ts
│  │  │  │      1-18 相机角度调整插件介绍.m2ts
│  │  │  │      1-19 基本元素-精灵sprite.m2ts
│  │  │  │      1-2 为什么学习threejs.m2ts
│  │  │  │      1-20 基本元素-粒子points.m2ts
│  │  │  │      1-21 导入json模型.m2ts
│  │  │  │      1-22 导入gltf文件模型.m2ts
│  │  │  │      1-23 动画-变形动画.m2ts
│  │  │  │      1-24 动画-骨骼动画.m2ts
│  │  │  │      1-25 动画-导入动画.m2ts
│  │  │  │      1-26 动画-补间动画.m2ts
│  │  │  │      1-27 性能优化tips.m2ts
│  │  │  │      1-28 王者荣耀demo-介绍与思路分析.m2ts
│  │  │  │      1-29 王者荣耀demo-添加三要素.m2ts
│  │  │  │      1-3 threejs版本介绍与效果演示.m2ts
│  │  │  │      1-30 王者荣耀demo-添加草地材质.m2ts
│  │  │  │      1-31 王者荣耀demo-取出fbx中的动画.m2ts
│  │  │  │      1-32 王者荣耀demo-初始化静态人物.m2ts
│  │  │  │      1-33 王者荣耀demo-调试所有动画效果.m2ts
│  │  │  │      1-34 王者荣耀demo-人物旋转与圆盘样式.m2ts
│  │  │  │      1-35 王者荣耀demo-人物移动.m2ts
│  │  │  │      1-36 王者荣耀demo-移动优化与圆盘复位.m2ts
│  │  │  │      1-37 王者荣耀demo-添加攻击特效与项目总结.m2ts
│  │  │  │      1-38 threejs课程整体总结.m2ts
│  │  │  │      1-4 threejs基本介绍与特点.m2ts
│  │  │  │      1-5 hello-world案例.m2ts
│  │  │  │      1-6 fps性能监控插件.m2ts
│  │  │  │      1-7 基本元素-场景-Object3D对象介绍.m2ts
│  │  │  │      1-8 基本元素-场景-一些实体的属性和方法.m2ts
│  │  │  │      1-9 调试工具之dat-gui.m2ts
│  │  │  │      
│  │  │  └─3-2 D3
│  │  │          2-1 为什么学习d3.m2ts
│  │  │          2-10 svg和canvas的区别.m2ts
│  │  │          2-11 实践-初步绘制矩形图表.m2ts
│  │  │          2-12 实践-线性比例尺的使用.m2ts
│  │  │          2-13 实践-序数比例尺的使用.m2ts
│  │  │          2-14 实践-添加坐标轴.m2ts
│  │  │          2-15 让坐标轴动起来demo.m2ts
│  │  │          2-16 课程总结.m2ts
│  │  │          2-2 d3js介绍与发展历史.m2ts
│  │  │          2-3 hello world !.m2ts
│  │  │          2-4 基本使用-选择元素.m2ts
│  │  │          2-5 基本使用-绑定数据.m2ts
│  │  │          2-6 基本使用-选择,插入,删除元素.m2ts
│  │  │          2-7 svg介绍与hello-world.m2ts
│  │  │          2-8 svg中的图形1.m2ts
│  │  │          2-9 svg中的图形2.m2ts
│  │  │          
│  │  ├─第二章 网页高性能图形编程
│  │  │  ├─2-1 课程介绍
│  │  │  │      1-1 介绍与内容安排.m2ts
│  │  │  │      
│  │  │  ├─2-2 初始WebGL
│  │  │  │      2-1 手动绘制一个WebGL图形.m2ts
│  │  │  │      2-2 着色器的介绍.m2ts
│  │  │  │      2-3 使用着色器绘制WebGL图形.m2ts
│  │  │  │      
│  │  │  ├─2-3 绘制三角形
│  │  │  │      3-1 多点绘制的方法.m2ts
│  │  │  │      3-2 绘制三角形的方法.m2ts
│  │  │  │      
│  │  │  ├─2-4 WebGL动画
│  │  │  │      4-1 图形的移动.m2ts
│  │  │  │      4-2 图形的旋转.m2ts
│  │  │  │      4-3 图形的缩放.m2ts
│  │  │  │      4-4 图形的动画旋转.m2ts
│  │  │  │      
│  │  │  ├─2-5 WebGL颜色
│  │  │  │      5-1 操作步骤介绍.m2ts
│  │  │  │      5-2 着色器编译与图像绘制.m2ts
│  │  │  │      
│  │  │  └─2-6 回顾与总结
│  │  │          6-1 回顾和总结.m2ts
│  │  │          
│  │  └─第四章 HTML5 游戏引擎
│  │      ├─4-1 Egret简介
│  │      │      1-1 课程介绍.m2ts
│  │      │      1-2 html5游戏介绍.m2ts
│  │      │      1-3 Egret的特点.m2ts
│  │      │      
│  │      ├─4-2 安装与hello world
│  │      │      2-1 Egret引擎安装.m2ts
│  │      │      2-2 hellow-world演示.m2ts
│  │      │      2-3 hellow-world入口文件分析.m2ts
│  │      │      2-4 添加背景与屏幕适配.m2ts
│  │      │      2-5 添加文字与绑定事件.m2ts
│  │      │      
│  │      ├─4-3 Typescript基础语法
│  │      │      3-1 typescript介绍与安装.m2ts
│  │      │      3-2 typescript基本数据类型.m2ts
│  │      │      3-3 typescript中的类.m2ts
│  │      │      
│  │      ├─4-4 Egret项目配置
│  │      │      4-1 Egret配置文件.m2ts
│  │      │      
│  │      ├─4-5 Egret绘制
│  │      │      5-1 绘制-显示对象(1).m2ts
│  │      │      5-1 绘制-显示对象.m2ts
│  │      │      5-10 事件绑定.m2ts
│  │      │      5-11 网络请求与图片加载.m2ts
│  │      │      5-12 资源管理与九宫格.m2ts
│  │      │      5-13 纹理填充与纹理集.m2ts
│  │      │      5-14 滤镜与颜色矩阵.m2ts
│  │      │      5-15 时间控制.m2ts
│  │      │      5-16 屏幕适配01.m2ts
│  │      │      5-17 屏幕适配02.m2ts
│  │      │      5-2 绘制-显示容器.m2ts
│  │      │      5-3 绘制-显示列表.m2ts
│  │      │      5-4 绘制-变换操作.m2ts
│  │      │      5-5 绘制-斜切与添加删除显示对象.m2ts
│  │      │      5-6 绘制-深度管理.m2ts
│  │      │      5-7 绘制-矢量图形绘制.m2ts
│  │      │      5-8 绘制-遮罩.m2ts
│  │      │      5-9 碰撞检测.m2ts
│  │      │      
│  │      └─4-6 踩格子游戏
│  │              6-1 踩格子游戏-介绍.m2ts
│  │              6-2 StartGame场景.m2ts
│  │              6-3 事件注册与全局配置.m2ts
│  │              6-4 游戏中的场景骨架.m2ts
│  │              6-5 静态游戏场景绘制.m2ts
│  │              6-6 让格子动起来.m2ts
│  │              6-7 格子事件绑定.m2ts
│  │              6-8 游戏细节补充.m2ts
│  │              6-9 课程总结.m2ts
│  │              
│  ├─13 阶段十三 赠送选学移架构与运维7.6-在职加薪课
│  │  │  resource.zip
│  │  │  在职加薪课:架构与运维.zip
│  │  │  
│  │  ├─第一章 前端性能优化
│  │  │      1-1课程介绍.mp4
│  │  │      2-1浏览器的主要作用.mp4
│  │  │      2-2浏览器的组成部分.mp4
│  │  │      2-3浏览器是多进程的.mp4
│  │  │      2-4浏览器渲染机制简介.mp4
│  │  │      2-5重排与重绘.mp4
│  │  │      2-6页面加载缓慢的原因.mp4
│  │  │      2-7性能优化原则1.mp4
│  │  │      2-8性能优化原则2.mp4
│  │  │      2-9优化工具简介.mp4
│  │  │      3-1写出优质代码——代码性能优化简介.mp4
│  │  │      4-1JsPerf使用简介.mp4
│  │  │      4-2代码示例for vs foreach.mp4
│  │  │      4-3前端项目优化实践.mp4
│  │  │      5-1PageSpeed简介.mp4
│  │  │      5-2PageSpeed插件安装及使用.mp4
│  │  │      5-3前端项目优化实践.mp4
│  │  │      6-1课程总结.mp4
│  │  │      
│  │  ├─第三章 自动化测试
│  │  │  ├─3-1 课程介绍
│  │  │  │      1-1课程介绍.m2ts
│  │  │  │      
│  │  │  ├─3-2 自动化测试
│  │  │  │      2-1前端自动化测试导学.m2ts
│  │  │  │      2-2测试工具对比.m2ts
│  │  │  │      2-3测试工具的类型.m2ts
│  │  │  │      2-4单元测试工具对比介绍.m2ts
│  │  │  │      2-5E2E测试工具对比介绍.m2ts
│  │  │  │      2-6最佳实践.m2ts
│  │  │  │      
│  │  │  ├─3-3 Mocha+Chai
│  │  │  │      3-1mocha介绍&安装.m2ts
│  │  │  │      3-2关于断言.m2ts
│  │  │  │      3-3认识mocha,上手实践.m2ts
│  │  │  │      3-4mocha测试命令,指定测试文件与目录.m2ts
│  │  │  │      3-5让Mocha也支持ES6语法.m2ts
│  │  │  │      3-6超时、钩子方法、异步测试.m2ts
│  │  │  │      3-7项目实战:边测试边改代码,效率开发.m2ts
│  │  │  │      3-8本章小节:重点知识回顾.m2ts
│  │  │  │      
│  │  │  ├─3-4 Jest
│  │  │  │      4-1Jest简介.m2ts
│  │  │  │      4-2Jest安装&Babel支持.m2ts
│  │  │  │      4-3第一个Jest测试用例.m2ts
│  │  │  │      4-4杀手锏功能Mock&Spy-1.m2ts
│  │  │  │      4-5杀手锏功能Mock&Spy-2.m2ts
│  │  │  │      4-6杀手锏功能Mock&Spy-3.m2ts
│  │  │  │      4-7Jest中的CLI命令.m2ts
│  │  │  │      4-8配合React-create-app进行单元测试.m2ts
│  │  │  │      4-9配合Vue-cli快速创建单元测试.m2ts
│  │  │  │      
│  │  │  ├─3-5 Ava
│  │  │  │      5-1Ava简介.m2ts
│  │  │  │      5-2Ava安装&测试用例.m2ts
│  │  │  │      5-3Ava中的断言及API介绍.m2ts
│  │  │  │      5-4Ava中的CLI命令.m2ts
│  │  │  │      5-5ESLint配置说明.m2ts
│  │  │  │      
│  │  │  ├─3-6 Karma
│  │  │  │      6-1Karma简介&工作原理.m2ts
│  │  │  │      6-2Karma的安装与配置.m2ts
│  │  │  │      6-3Karma示例.m2ts
│  │  │  │      
│  │  │  ├─3-7 Nightmare
│  │  │  │      7-1Nightmare简介.m2ts
│  │  │  │      7-2Nightmare+mocha进行页面测试.m2ts
│  │  │  │      7-3Nightmare常见API介绍.m2ts
│  │  │  │      
│  │  │  └─3-8 课程总结
│  │  │          8-1课程总结.m2ts
│  │  │          
│  │  ├─第二章 项目质量监测
│  │  │  ├─2-1 课程介绍
│  │  │  │      1-1课程介绍.m2ts
│  │  │  │      
│  │  │  ├─2-2 代码质量检查
│  │  │  │      2-1常见问题分析Why Lint.m2ts
│  │  │  │      2-2什么是代码质量监测Lint Code.m2ts
│  │  │  │      2-3常见的3种Js检验工具对比.m2ts
│  │  │  │      
│  │  │  ├─2-3 Lint工具介绍
│  │  │  │      3-10实战Vue项目中的ESLint配置.m2ts
│  │  │  │      3-11VSCode效率神器:Sync同步你的插件及个性配置.m2ts
│  │  │  │      3-12实战React项目中的ESLint配置1.m2ts
│  │  │  │      3-13实战React项目中的ESLint配置2.m2ts
│  │  │  │      3-14StyleLint与HTMLhint.m2ts
│  │  │  │      3-1Lint工具介绍.m2ts
│  │  │  │      3-2ESlint导学.m2ts
│  │  │  │      3-3ESLint起步与安装.m2ts
│  │  │  │      3-4ESLint初始化配置.m2ts
│  │  │  │      3-5命令行方式使用ESLint.m2ts
│  │  │  │      3-6ESLint常见配置1.m2ts
│  │  │  │      3-7ESLint常见配置2.m2ts
│  │  │  │      3-8ESLint常见配置3.m2ts
│  │  │  │      3-9IDE中的ESLint配置.m2ts
│  │  │  │      
│  │  │  ├─2-4 e2e test
│  │  │  │      4-1e2e test简介.m2ts
│  │  │  │      4-2Cypress使用简介.m2ts
│  │  │  │      4-3Nightwatch导学&e2e测试流程.m2ts
│  │  │  │      4-4Nightwatch多浏览器支持的e2e测试工具.m2ts
│  │  │  │      4-5TestCafe极简配置的e2e测试工具.m2ts
│  │  │  │      4-6e2e test案例.m2ts
│  │  │  │      
│  │  │  ├─2-5 codecov
│  │  │  │      5-1Codecov简介.m2ts
│  │  │  │      5-2Codecov配合TravisCI在前端项目中的应用.m2ts
│  │  │  │      
│  │  │  └─2-6 课程总结
│  │  │          6-1课程总结.m2ts
│  │  │          
│  │  ├─第五章 Linux 服务器
│  │  │  ├─5-1 课程介绍
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      
│  │  │  ├─5-2 Linux简介
│  │  │  │      2-1 版本介绍.m2ts
│  │  │  │      2-10 常用命令介绍——chown所属主&组权限.m2ts
│  │  │  │      2-11 常用命令介绍——远程连接SSH.m2ts
│  │  │  │      2-12常用命令介绍——yum下载加速&网络ifconfig&netstat.m2ts
│  │  │  │      2-13常用命令——路由&ip&DNS解析命令.m2ts
│  │  │  │      2-14常用命令——GUI界面设置网络.m2ts
│  │  │  │      2-15常用命令——性能测试.m2ts
│  │  │  │      2-2 Linux vs Windows.m2ts
│  │  │  │      2-3 Linux的GUI界面.m2ts
│  │  │  │      2-4 Linux安装方法——Centos安装介绍.m2ts
│  │  │  │      2-5 Linux目录结构介绍.m2ts
│  │  │  │      2-6 Linux启动过程介绍.m2ts
│  │  │  │      2-7 常用命令介绍——文件相关1.m2ts
│  │  │  │      2-8 常用命令介绍——文件相关2.m2ts
│  │  │  │      2-9 常用命令介绍——文件权限chmod.m2ts
│  │  │  │      
│  │  │  ├─5-3 nginx服务
│  │  │  │      3-1 nginx简介.m2ts
│  │  │  │      3-2 什么是反向代理&nginx的技术架构&nginx高可用.m2ts
│  │  │  │      3-3 nginx服务安装.m2ts
│  │  │  │      3-4 nginx配置及优化.m2ts
│  │  │  │      3-5 HTTP&HTTPS简介.m2ts
│  │  │  │      3-6 HTTPS认证原理简介.m2ts
│  │  │  │      3-7如何配置HTTPS——使用acme.sh&域名DNS配置nginx启用HTTPS.m2ts
│  │  │  │      3-8如何配置HTTPS——了解SSL证书评级及验证.m2ts
│  │  │  │      
│  │  │  ├─5-4 云服务器
│  │  │  │      4-1云服务器&虚拟化技术原理&购买阿里云ECS.m2ts
│  │  │  │      4-2 云数据库RDS介绍.m2ts
│  │  │  │      4-3负载均衡服务SLB介绍——原理&购买&使用.m2ts
│  │  │  │      
│  │  │  └─5-5 课程总结
│  │  │          5-1课程总结.m2ts
│  │  │          
│  │  ├─第六章 容器化运维操作
│  │  │  ├─6-1 课程介绍
│  │  │  │      1-1 课程介绍.m2ts
│  │  │  │      
│  │  │  ├─6-2 容器和Docker
│  │  │  │      2-1 什么是容器化.m2ts
│  │  │  │      2-2 什么是Docker.m2ts
│  │  │  │      2-3 Docker vs 虚拟机.m2ts
│  │  │  │      2-4 Docker的工作原理.m2ts
│  │  │  │      
│  │  │  ├─6-3 常见的应用场景
│  │  │  │      3-1 常见的应用场景1.m2ts
│  │  │  │      3-2 常见的应用场景2.m2ts
│  │  │  │      3-3 常见的应用场景3.m2ts
│  │  │  │      
│  │  │  ├─6-4 使用Docker
│  │  │  │      4-1 Docker如何安装-Linux安装介绍.m2ts
│  │  │  │      4-2 Docker如何安装-Windows10中安装介绍.m2ts
│  │  │  │      4-3 Docker如何安装-MacOS及Windows7中安装介绍.m2ts
│  │  │  │      4-4 Docker国内加速.m2ts
│  │  │  │      4-5 第一个Docker应用Hello World.m2ts
│  │  │  │      4-6 Docker常见命令——run创建并运行容器.m2ts
│  │  │  │      4-7 Docker常见命令——生命周期管理start&stop&restart.m2ts
│  │  │  │      4-8 Docker常见命令——仓库login&镜像的pull&push&commit.m2ts
│  │  │  │      4-9 Docker常见命令——日志logs-容器.m2ts
│  │  │  │      
│  │  │  ├─6-5 拓展知识
│  │  │  │      5-1 制作Docker镜像.m2ts
│  │  │  │      5-2 Docker-compose介绍(1).m2ts
│  │  │  │      5-2 Docker-compose介绍.m2ts
│  │  │  │      5-3 Docker-compose扩展——搭建私有gitlab服务器.m2ts
│  │  │  │      5-4 Docker-compose在前端全栈项目中的应用1.m2ts
│  │  │  │      5-5 Docker-compose在前端全栈项目中的应用2.m2ts
│  │  │  │      5-6 Docker-compose在前端全栈项目中的应用3.m2ts
│  │  │  │      5-7 Docker-compose在前端全栈项目中的应用.m2ts
│  │  │  │      
│  │  │  └─6-6 课程总结
│  │  │          6-1 课程总结.m2ts
│  │  │          
│  │  └─第四章 持续集成与持续部署
│  │      ├─4-1 课程介绍
│  │      │      1-1课程介绍.m2ts
│  │      │      
│  │      ├─4-2 持续集成
│  │      │      2-1核心概念——持续集成&持续部署.m2ts
│  │      │      2-2组成部分及常见工作流.m2ts
│  │      │      2-3CICD解决的问题&常见问题.m2ts
│  │      │      2-4CICD最佳实践.m2ts
│  │      │      2-5效率工具对比.m2ts
│  │      │      
│  │      ├─4-3 Jenkins
│  │      │      3-1Jenkins使用简介&简易安装.m2ts
│  │      │      3-2使用Docker安装Jenkins.m2ts
│  │      │      3-3Jenkins常见配置(插件加速&用户管理&全局工具).m2ts
│  │      │      3-4Jenkins与Gitlab集成1:快速搭建gitlab服务器.m2ts
│  │      │      3-5Jenkins与Gitlab集成2:配置自动化任务.m2ts
│  │      │      3-6Jenkins与Gitlab集成3:配置Pipeline流水线任务.m2ts
│  │      │      3-7Jenkins在前端项目中的应用:Pipeline+vue流水线.m2ts
│  │      │      3-8Jenkins在前端项目中的应用1:自动化项目docker+vue.m2ts
│  │      │      3-9Jenkins在前端项目中的应用2:自动化项目.m2ts
│  │      │      
│  │      ├─4-4 TravisCI
│  │      │      4-1TravisCI使用简介.m2ts
│  │      │      4-2TravisCI前端应用1.m2ts
│  │      │      4-3TravisCI前端应用2.m2ts
│  │      │      
│  │      ├─4-5 CircleCI
│  │      │      5-1CircleCI使用简介.m2ts
│  │      │      5-2CircleCI前端应用1.m2ts
│  │      │      5-3CircleCI前端应用2.m2ts
│  │      │      
│  │      └─4-6 课程总结
│  │              6-1课程总结.m2ts
│  │              
│  └─14 阶段十四 赠送选学移uni-app实战-赠送
│      ├─1-uni-app框架基础部分
│      │      01-课程和uni的基本介绍.mp4
│      │      02-uni-app的环境搭建并创建项目运行.mp4
│      │      03-项目目录和开发规范简单介绍.mp4
│      │      04-globalStyle全局外观配置.mp4
│      │      05-创建新页面和页面的配置.mp4
│      │      06-配置基本的tabbar.mp4
│      │      07-tabbar的其他属性配置.mp4
│      │      08-condition启动模式配置.mp4
│      │      09-text组件的基本使用.mp4
│      │      10-view组件的基本使用.mp4
│      │      11-button按钮组件的使用.mp4
│      │      12-image组件的基本使用.mp4
│      │      13-uni中样式的学习及如何使用scss和字体图标.mp4
│      │      14-基本的数据绑定.mp4
│      │      15-v-bind和v-for的使用.mp4
│      │      16-如何注册事件和传递参数及获取到事件对象.mp4
│      │      17-生命周期函数的学习.mp4
│      │      18-下拉刷新的学习.mp4
│      │      19-上拉加载.mp4
│      │      20-发送get请求.mp4
│      │      21-数据缓存.mp4
│      │      22-图片的上传和预览.mp4
│      │      23-条件编译跨端兼容.mp4
│      │      24-两种方式导航跳转和传参.mp4
│      │      25-组件的创建使用和组件的生命周期函数.mp4
│      │      26-组件之间的通讯方式.mp4
│      │      27-uni-ui组件库的基本介绍和使用.mp4
│      │      
│      ├─2-uni-app项目实战-多端打包
│      │      28-项目功能介绍.m2ts
│      │      29-创建项目和清理结构及配置基本外观.m2ts
│      │      30-完成底部tabbar的配置.m2ts
│      │      31-获取轮播图的数据.m2ts
│      │      32-封装$myRequest方法并挂载到全局.m2ts
│      │      33-完成首页轮播图的渲染.m2ts
│      │      34-实现导航的基本结构.m2ts
│      │      35-完成推荐商品结构.m2ts
│      │      36-完成推荐商品数据渲染.m2ts
│      │      37-改造导航区域并跳转到商品列表页面.m2ts
│      │      38-封装商品列表组件并使用.m2ts
│      │      39-实现上拉加载更多和下拉刷新.m2ts
│      │      40-完成联系我们页面的地图和拨打电话.m2ts
│      │      41-实现社区图片左侧的结构和样式.m2ts
│      │      42-实现左侧数据渲染和点击高亮.m2ts
│      │      43-实现右侧数据的渲染.m2ts
│      │      44-完成图片的预览功能.m2ts
│      │      45-实现资讯列表的结构和数据的获取.m2ts
│      │      46-实现news-item组件的封装.m2ts
│      │      47-实现列表跳转详情并传递id.m2ts
│      │      48-完成资讯详情页面.m2ts
│      │      49-点击商品列表导航至商品详情页.m2ts
│      │      50-实现商品详情轮播图.m2ts
│      │      51-实现详情其他部分的结构.m2ts
│      │      52-完成详情页面的数据渲染.m2ts
│      │      53-利用uni-ui实现底部导航区域.m2ts
│      │      54-完成小程序打包发布.m2ts
│      │      55-完成h5打包.m2ts
│      │      56-完成安卓打包.m2ts
│      │      
│      ├─code
│      │      code.zip
│      │      
│      └─素材
│              素材.zip
│              
├─02、课件和试卷
│      课件.zip
│      
└─03、软件
        前端开发软件.zip
        

资源下载
下载价格26 C
VIP免费
唯有不断学习和奋斗 方能实现梦想!
VIP用户免C币下载,下载前请阅读上方文件目录,下载链接为百度云网盘,如链接失效,可在用户中心提交工单。
资源大小:220GB
资源发放:百度网盘
更新时间:13/02/2023
发布日期:20/10/2022
特别说明:
此教程来源于网络收集整理,仅供本地学习参考,教程无法保证一直有效,请及时转存!
如本教程是商业教程,请务必联系教程作者购买商业许可后方可观看!
教程作者如需删除请第一时间联系右侧客服,获悉后将第一时间删除!
0
显示验证码
没有账号?注册  忘记密码?