禾匠视频小程序1.71版本微信小程序首页显示视频不全的问题

禾匠视频小程序1.71版本微信小程序首页显示视频不全的问题

经过这几天对禾匠仿二更视频小程序模块的研究,发现一个问题,当后台视频过多的时候,微信小程序端刷新首页,会不能刷新出以前发的视频,哪怕在后台已经勾选“推荐到首页”也没用,问题出现在哪?

经过抓包对比发现,原来是通过videolist.item.is_index来判断这个视频是不是被推荐到首页的,而后台操作推荐/下架首页,也无非是操作了字段:is_index

再进一步抓包对比分析:

store_id=1&r=api/user/video-list

store_id=1&r=api/user/video-list&page=1.2.3...

user/video-list取首页视频的这个API函数貌似没有做首页推荐的排序优化

也就是说,比如你后台有100个视频,前90个都没有推荐到首页,最后10个才推荐到首页,按照他目前设置的排序规则,你可能需要刷新第9次,才能在首页刷出视频来

而这种严重不符合用户体验和逻辑的设计肯定是有问题的,没办法,自己来改造吧

面对后台那么多的目录,哪个才是包含核心功能的文件?第一反应是检索包含“video”的php文件,一个一个看吧,可找了一圈没有发现,没办法再换个思路,检索“list”的php文件,这回有了

找到核心代码:

$count = $query->count();
$p = new Pagination(['totalCount' => $count, 'pageSize' => $this->limit, 'page' => $this->page]);
$list = $query->select([
'*'
])->orderBy(['sort'=>SORT_ASC,'addtime' => SORT_DESC])->limit($p->limit)->offset($p->offset)->asArray()->all();
$user = User::findOne(['id'=>$this->user_id]);

通过代码分析,不难看出还是有做排序的,针对“sort”、“addtime”相对应后台的排序升序、发布时间降序,做了列表排序,而我们改动只需要一句话就能实现了:

温馨提示: 隐藏内容需要 回复评论 后才能查看, 评论后请 刷新 !.

加上这句代码,我们就可以达到符合逻辑和用户体验的首页获取推荐视频的算法了。

微信公众号:大雕哥
只服务一小部分有独立思考的高端用户!
100000人已关注
分享到:
赞(0) 打赏

评论9

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #9
    怎么没哟评论了?
    东青2018-06-02 14:52:07回复
  2. #8
    刚刚好需要,谢谢雕哥的分享
    陈陈2018-06-15 8:19:44回复
  3. #7
    啊哈哈哈,感谢
    爱爱2018-06-21 21:12:09回复
  4. #6
    很好很有用,谢谢
    tianlan2018-06-22 15:42:18回复
  5. #5
    不懂代码增加在哪里,能不能说详细一点?
    陈陈2018-06-24 21:53:54回复
  6. #4
    php的排序问题。。原来是这样的
    aiastom2018-07-11 0:08:04回复
  7. #3
    看看才发现原因
    mengwood2018-07-14 17:48:25回复
  8. #2
    谢谢解决这个问题~
    如旅亦歌♪♫2019-11-29 16:39:42回复
  9. #1
    看下有没有用
    地方郭德纲2020-02-13 11:32:10回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏