博客集成影院功能开发完成!!!

2020年08月31日 未雨晴空 0评论 1343阅读 6喜欢


功能介绍

    简单说下开发思路,页面不多,视频类别页面+类别视频推荐列表页面+类别视频全部列表页面+视频搜索结果页面+视频详情页面导。其中页面里面导航条复用博客已有的导航条,两个轮播图,一个采用的是bootstrap的轮播组件,主要是用来展现一些视频海报(目前也没有找到合适的海报),影院首页的视频列表用到了owl.carousel.min.js插件,GitHub上可以搜到,这是一款轮播图插件,功能挺强大可以给item进行排版。然后的话就是每个类别下面的查看更多和影院首页的搜索接口跳转的都是视频列表页面,这个页面样式差不多唯一的区别就是排版需要靠bootstrap的栅栏布局来进行控制了,因为这个页面不需要用到那个轮播图插件了。下方的分页也是复用本站点文章页面的分页组件。再到视频详情页,这个就比较好设计了,几个徽章来展现视频的标签,然后用bootstrap的卡片组件来展示集数。播放的插件采用的dplayer.js来播放视频。其中侧边栏还有很大空位,用来投放广告好了。。

   

    这次开发影院功能还算顺利,在给视频做搜索功能是基于django-haystack完成的。原本是影院首页展示所有类型的推荐视频,考虑到数据量太大,又是基于模板渲染的非异步加载的,这样的话很容易造成502,且根据我开发经验,一次性加载所有类型视频显然不可取。这就跟图片懒加载初衷一样,当你的页面用户点击进来只是简单看下,并不一定会继续浏览完页面内容,你就向后端发起所有的图片请求,开始加载图片,造成服务器压力。所有我后面又直接做了个类别展示页面。现在遇到问题是视频资源还好,数不多也就2万多条,同步加载多少有点慢但是好歹是可以的。问题是视频集数表数据有40多万,当前这个视频集数表在前台页面没什么影响,因为都是每个视频查自己的,可是在后台管理系统,我特么裂开了啊。因为我后台用的是xadmin,xadmin的分页原理是一次性查询所有的数据,也就是40多万数据同时放到内存里面处理。特么的我后台都不敢点击到这个菜单下,一点击就是504-timeout,也别怪,40多万数据还是同步加载出来,不超时才怪。虽然对这快不是访问频繁,但是我也知道了,如果后期数据量大的话,当前不影响博客文章,我再孜孜不倦的写也不会达到那个分页瓶颈量的文章数。只不过也让我意识到了,后期如果还是利用爬虫爬取一些视频展示时,对于后台管理这块,可能xamdin就不行了。目前的想法是要重写xadmin模块了,增加新的字段控制页面时异步加载还是同步加载了。算是立了个flag了吧,埋在这了。

    考虑到影院功能会存在侵权的问题,本网站影院功能暂时关闭。


发表评论 取消回复

电子邮件地址不会被公开。

请输入以http或https开头的URL,格式如:https://oneisall.top