课程目录
1-1 [项目介绍] 项目介绍 (09:16)
2-1 [环境搭建和项目创建] 环境搭建和项目创建 (06:04)
3-1 [项目分析和全局配置] 引入全局样式(一) (05:59)
3-2 [项目分析和全局配置] 引入全局样式(二) (06:56)
3-3 [项目分析和全局配置] 引入自定义图标库 (07:21)
3-4 [项目分析和全局配置] 引入全局动画库 (04:31)
3-5 [项目分析和全局配置] 配置tabbar底部导航 (11:43)
4-1 [首页开发] 导航栏配置 (08:04)
4-2 [首页开发] 小程序和H5兼容处理 (11:37)
4-3 [首页开发] 自定义轮播图组件(一) (15:58)
4-4 [首页开发] 自定义轮播图组件(二) (11:55)
4-5 [首页开发] 自定义轮播图组件(三) (03:34)
4-6 [首页开发] 开发全局卡片组件 (08:58)
4-7 [首页开发] 全局列表组件开发(一) (14:05)
4-8 [首页开发] 全局列表组件开发(二) (06:16)
4-9 [首页开发] 全局列表组件开发(三) (11:36)
4-10 [首页开发] 美化首页样式 (05:05)
5-1 [分类页开发] 分类页开发(一) (09:22)
5-2 [分类页开发] 分类页开发(二) (08:21)
6-1 [个人中心页开发] 个人中心页开发(一)- 头部 (10:52)
6-2 [个人中心页开发] 个人中心页开发(二) (05:37)
6-3 [个人中心页开发] 个人中心页开发(三) (05:55)
6-4 [个人中心页开发] 选择投稿类型(一) (12:57)
6-5 [个人中心页开发] 选择投稿类型(二) (09:11)
7-1 [投稿发布页开发] 视频投稿发布页-封面上传(一) (08:08)
7-2 [投稿发布页开发] 视频投稿发布页-封面上传(二) (08:12)
7-3 [投稿发布页开发] 视频投稿发布页(三) (11:43)
7-4 [投稿发布页开发] 视频投稿发布页(四) (05:47)
8-1 [管理我的视频页开发] 管理我的视频页开发 (13:30)
9-1 [收藏页开发] 我的收藏页开发 (10:40)
10-1 [管理视频目录页开发] 管理视频目录页(一) (07:06)
10-2 [管理视频目录页开发] 管理视频目录页(二) (12:45)
10-3 [管理视频目录页开发] 管理视频目录页(三) (13:31)
11-1 [登录页开发] 登录注册页开发(一) (12:45)
11-2 [登录页开发] 登录注册页开发(二) (11:32)
12-1 [个人空间页开发] 个人空间页开发(一) (08:19)
12-2 [个人空间页开发] 个人空间页开发(二) (10:22)
12-3 [个人空间页开发] 个人空间页开发(三) (10:29)
12-4 [个人空间页开发] 个人空间页开发(四) (06:35)
12-5 [个人空间页开发] 个人空间页开发(五) (02:10)
13-1 [视频详情页开发] 视频详情页开发(一) (10:02)
13-2 [视频详情页开发] 视频详情页开发(二) (07:06)
13-3 [视频详情页开发] 视频详情页开发(三) (12:28)
13-4 [视频详情页开发] 视频详情页开发(四)-滚动选集 (11:28)
13-5 [视频详情页开发] 视频详情页开发(五) (07:02)
13-6 [视频详情页开发] 视频详情页开发(六) (09:50)
13-7 [视频详情页开发] 视频详情页开发(七) (05:14)
13-8 [视频详情页开发] 视频详情页开发(八)-评论列表 (04:23)
13-9 [视频详情页开发] 视频详情页开发(九)-回复评论框 (07:11)
14-1 [自定义播放器开发] 开启v3编译并修复部分问题 (03:48)
14-2 [自定义播放器开发] 自定义播放器开发(一)-subNVue (14:37)
14-3 [自定义播放器开发] 自定义播放器开发(二) (07:52)
14-4 [自定义播放器开发] 自定义播放器开发(三)-状态栏 (10:56)
14-5 [自定义播放器开发] 自定义播放器开发(四)-按钮组件 (08:51)
14-6 [自定义播放器开发] 自定义播放器开发(五)-进度条(1) (05:58)
14-7 [自定义播放器开发] 自定义播放器开发(六)-播放暂停功能 (05:22)
14-8 [自定义播放器开发] 自定义播放器开发(七)-进度条(2) (05:09)
14-9 [自定义播放器开发] 自定义播放器开发(八)-进度条(3) (12:59)
14-10 [自定义播放器开发] 自定义播放器开发(九)-进度条(4) (13:00)
14-11 [自定义播放器开发] 自定义播放器开发(十)-进度条(5) (12:45)
14-12 [自定义播放器开发] 自定义播放器开发(十一)-全局提示框 (08:12)
14-13 [自定义播放器开发] 自定义播放器开发(十二)显示隐藏状态 (05:20)
14-14 [自定义播放器开发] 自定义播放器开发(十三)自定义单击双击 (11:08)
14-15 [自定义播放器开发] 自定义播放器开发(十四)拖拽控制进度(1) (10:30)
14-16 [自定义播放器开发] 自定义播放器开发(十五)拖拽控制进度(2) (03:15)
14-17 [自定义播放器开发] 自定义播放器开发(十六)全屏关闭全屏 (03:42)
14-18 [自定义播放器开发] 自定义播放器开发(十七)控制条适配全屏(1) (06:31)
14-19 [自定义播放器开发] 自定义播放器开发(十八)控制条适配全屏(2) (13:48)
14-20 [自定义播放器开发] 自定义播放器开发(十九)修改速度 (14:41)
14-21 [自定义播放器开发] 自定义播放器开发(二十)切换视频 (12:21)
14-22 [自定义播放器开发] 自定义播放器开发(二十一)切换清晰度 (09:06)
14-23 [自定义播放器开发] 自定义播放器开发(二十二)锁定 (07:39)
15-1 [egg.js基础课] 创建egg.js项目 (07:30)
15-2 [egg.js基础课] 写第一个api接口 (08:42)
15-3 [egg.js基础课] router路由传参(一) (11:30)
15-4 [egg.js基础课] router路由传参(二) (11:22)
15-5 [egg.js基础课] 资源路由和路由分组 (11:03)
15-6 [egg.js基础课] 数据库迁移(一) (11:06)
15-7 [egg.js基础课] 数据库迁移(二) (07:57)
15-8 [egg.js基础课] sequelize模型-新增 (14:59)
15-9 [egg.js基础课] sequelize模型-批量新增和修改器 (08:53)
15-10 [egg.js基础课] sequelize模型-查询单个 (10:39)
15-11 [egg.js基础课] sequelize模型-查询多个和获取器 (07:55)
15-12 [egg.js基础课] sequelize模型-where操作符 (08:26)
15-13 [egg.js基础课] sequelize模型-字段限制排序分页 (12:35)
15-14 [egg.js基础课] sequelize模型-删除和批量删除 (07:45)
15-15 [egg.js基础课] 错误和异常统一处理 (11:59)
15-16 [egg.js基础课] 中间件配置 (08:11)
15-17 [egg.js基础课] 参数验证 (10:33)
16-1 [后端api开发和前后端交互] 创建项目和基础配置 (08:20)
16-2 [后端api开发和前后端交互] 统一api返回格式 (08:36)
16-3 [后端api开发和前后端交互] 全局抛出异常处理 (09:06)
16-4 [后端api开发和前后端交互] sequelize数据库配置 (05:58)
16-5 [后端api开发和前后端交互] 数据库迁移配置 (07:12)
16-6 [后端api开发和前后端交互] 数据表设计和迁移 (09:41)
16-7 [后端api开发和前后端交互] 注册功能 (09:18)
16-8 [后端api开发和前后端交互] 参数验证(一) (14:52)
16-9 [后端api开发和前后端交互] 参数验证(二) (03:10)
16-10 [后端api开发和前后端交互] 修改器密码自动加密 (10:28)
16-11 [后端api开发和前后端交互] 用户注册交互(一) (11:22)
16-12 [后端api开发和前后端交互] 用户注册交互(二) (06:25)
16-13 [后端api开发和前后端交互] 安装redis和jwt扩展包 (10:34)
16-14 [后端api开发和前后端交互] 登录api实现(一) (12:16)
16-15 [后端api开发和前后端交互] 登录api实现(二) (10:34)
16-16 [后端api开发和前后端交互] 全局权限验证中间件实现 (17:10)
16-17 [后端api开发和前后端交互] 退出登录api实现 (03:11)
16-18 [后端api开发和前后端交互] 登录功能交互实现 (10:49)
16-19 [后端api开发和前后端交互] 初始化用户登录状态 (10:01)
16-20 [后端api开发和前后端交互] 退出登录交互实现 (15:29)
16-21 [后端api开发和前后端交互] 分类列表api实现 (08:45)
16-22 [后端api开发和前后端交互] 分类列表交互实现 (06:41)
16-23 [后端api开发和前后端交互] 数据表设计和迁移 (12:17)
16-24 [后端api开发和前后端交互] 创建作品api实现 (09:11)
16-25 [后端api开发和前后端交互] 上传文件api实现 (15:09)
16-26 [后端api开发和前后端交互] 指定用户的作品列表api实现 (13:05)
16-27 [后端api开发和前后端交互] 更新作品api实现 (08:44)
16-28 [后端api开发和前后端交互] 添加视频api实现 (08:46)
16-29 [后端api开发和前后端交互] 上传视频签名api实现 (12:18)
16-30 [后端api开发和前后端交互] 修改视频api实现 (06:06)
16-31 [后端api开发和前后端交互] 删除视频api实现 (08:51)
16-32 [后端api开发和前后端交互] 指定分类下的视频列表api实现 (05:44)
16-33 [后端api开发和前后端交互] 收藏取消收藏api实现 (11:13)
16-34 [后端api开发和前后端交互] 指定用户的收藏列表api实现 (08:39)
16-35 [后端api开发和前后端交互] 发布评论api实现(一) (08:23)
16-36 [后端api开发和前后端交互] 发布评论api实现(二) (12:14)
16-37 [后端api开发和前后端交互] 视频评论列表api实现 (08:28)
16-38 [后端api开发和前后端交互] 关注api实现 (15:12)
16-39 [后端api开发和前后端交互] 取消关注api实现 (02:56)
16-40 [后端api开发和前后端交互] 我的关注列表api实现 (07:36)
16-41 [后端api开发和前后端交互] 我的粉丝列表api实现 (02:43)
16-42 [后端api开发和前后端交互] 统计相关数据api实现 (04:54)
16-43 [后端api开发和前后端交互] 视频详情api实现 (14:57)
16-44 [后端api开发和前后端交互] 获取用户相关信息api实现 (10:29)
16-45 [后端api开发和前后端交互] H5端交互跨域问题 (03:11)
16-46 [后端api开发和前后端交互] 分类下列表分页(上) (09:44)
16-47 [后端api开发和前后端交互] 分类下列表分页(下) (13:08)
16-48 [后端api开发和前后端交互] 发布作品功能交互 (15:29)
16-49 [后端api开发和前后端交互] 我的作品列表分页实现 (12:10)
16-50 [后端api开发和前后端交互] 统计相关数据交互实现 (07:13)
16-51 [后端api开发和前后端交互] 修改我的作品交互实现 (05:32)
16-52 [后端api开发和前后端交互] 视频上传功能交互 (17:20)
16-53 [后端api开发和前后端交互] 视频修改删除功能交互 (12:14)
16-54 [后端api开发和前后端交互] 视频详情交互(一) (12:12)
16-55 [后端api开发和前后端交互] 视频详情交互(二) (19:00)
16-56 [后端api开发和前后端交互] 视频详情交互(三)-关注和取消关注 (08:59)
16-57 [后端api开发和前后端交互] 视频详情交互(四)-收藏和取消收藏 (05:20)
16-58 [后端api开发和前后端交互] 视频详情交互(五)-评论和回复评论 (22:21)
16-59 [后端api开发和前后端交互] 视频详情交互(六)-视频切换 (22:07)
16-60 [后端api开发和前后端交互] 视频详情交互(七)-优化细节 (04:11)
16-61 [后端api开发和前后端交互] 收藏列表页交互 (13:16)
16-62 [后端api开发和前后端交互] 我的关注列表交互 (10:27)
16-63 [后端api开发和前后端交互] 观看历史记录交互 (14:04)
16-64 [后端api开发和前后端交互] 个人空间交互(一) (12:44)
16-65 [后端api开发和前后端交互] 个人空间交互(二) (17:33)
16-66 [后端api开发和前后端交互] 首页数据交互 (20:45)
16-67 [后端api开发和前后端交互] 搜索功能完善 (19:01)
17-1 [多端兼容处理和打包上线] 部署前环境搭建 (14:58)
17-2 [多端兼容处理和打包上线] 后端部署上线 (12:01)
17-3 [多端兼容处理和打包上线] 部署H5端 (07:19)
17-4 [多端兼容处理和打包上线] 优化一些小细节 (10:38)