2025 独立开发者训练营:AI Agent!查看介绍 / 立即报名 →

改进了一下宁皓网

过年以来,遇到了一些问题,开局不顺,受了些折磨,与以前不同的是,现在每次受折磨都能学到点什么,所以还是值得的,因为我可以分享给你 :)  最近准备新的课程,想重新做一次宁皓网,然后做成课程,这个准备时间有点长,事情总是比我想的更花时间。感谢大伙的耐心,没有打电话骂我娘。

播放器

换掉了之前的 JW Player,不是不好,是因为国内用不了这款播放器了。本打算用 VideoJS,后来看到更轻的 Plyr ,不过我还是想以后再换成 VideoJS,更强大些。

我为播放器定义了几个快捷键,空格:播放 / 暂停,A:后退  5 秒,D:前进 5 秒,W:上一个视频,S:下一个视频。

QQ20150601-2

课程列表

封面不再使用手工制作的图片了,因为花时间,而且不太灵活。现在直接用简单的图片作为封面。列表底部用了个加载按钮,可以直接把下一页的内容载入到当前页,那个按钮也可以换成自动载入,就是用户浏览到页面底部的时候,会自动载入新页面,不过我不是太喜欢,在我没想到让你自己可以选择的方法之前,先不用这种自动载入的方式。

在分类课程页面上,会有一个工具栏,可以过滤与排序课程,这里用到了 Mixitup ,直接在前端过滤内容,这种方式比较适合项目少的页面,100 个项目以内可以使用这种方式。如果项目太多,你就需要配合后端来处理了,比如使用 Views 模块的公开过滤器的方法。

QQ20150601-4

课程页面

课程目录同样用到了前端过滤与排序,这个地方比较适合,因为不会有太多项目。另外我去掉了视频标题前的数字,觉得没啥必要,加上数字太乱,在目录上我又加入了章节。把之前创建关系用的 Reference 模块换成了 Entity Reference  ,这样更灵活,这个模块我们以后会讲到。

目录的右边有个小圆圈,如果你以前看过这个视频,它会是半心圆。如果你看懂了这个视频,可以点一下它,表示完成了这个视频。如果视频过时了,会用红色标记出来。

在课程页面的右边栏上,同样有个小圆圈,点它可以完成这个课程里的所有的视频。

QQ20150601-3

统计

页面底部有个统计数字,表示当前可用的视频的时长,您完成了多少,完成的比较是多少。底部上还有一个进度条,绿色的部分表示完成的视频,深一些的灰色表示你看过的视频。

QQ20150601-1

搜索

暂时把搜索的服务器换成了数据库,之前用的是 Elastic Search。现在搜索栏可以显示出建议的关键词,比如你要搜索一个东西,忘了拼写,搜索框会出现提示。

搜索结果是定制的 Views 模板,根据不同的内容类型,搜索结果会有点不一样。同样搜索结果页有一个过滤与排序功能,用的是默认的 Views 的过滤与排序。

动画进入

用户滚动页面的时候,元素进入到浏览器的可视范围,就用一种特别的动画显示它,这里用的是 scrollReveal.js ,用起来很简单,直接在元素上用 data 属性,并且加上动画的名字还有配置就行了,到时我们再用视频简单介绍一下。

服务器

之前的用的服务器要到期了,我看了下如果按原配置续费是 8000 多,我想试一下阿里云的负载平衡,所以换了两个小的服务器,再加上一个负载平衡器,又把数据库放到单独的服务里。这样跑跑试试。

总结

所有的改进,您都可以在新的课程里学到 :)

工作
微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点