大雕哥
你身边最懂互联网的朋友

禾匠视频小程序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”相对应后台的排序升序、发布时间降序,做了列表排序,而我们改动只需要一句话就能实现了:

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

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

赞(0) 解决问题,就是我最大的快乐
转载请保留出处:大雕哥 » 禾匠视频小程序1.71版本微信小程序首页显示视频不全的问题
分享到: 更多 (0)

评论 7

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-9

    怎么没哟评论了?

    东青5个月前 (06-02)回复
  2. #-8

    刚刚好需要,谢谢雕哥的分享

    陈陈4个月前 (06-15)回复
  3. #-7

    啊哈哈哈,感谢

    爱爱4个月前 (06-21)回复
  4. #-6

    很好很有用,谢谢

    tianlan4个月前 (06-22)回复
  5. #-5

    不懂代码增加在哪里,能不能说详细一点?

    陈陈4个月前 (06-24)回复
  6. #-4

    php的排序问题。。原来是这样的

    aiastom3个月前 (07-11)回复
  7. #-3

    看看才发现原因

    mengwood3个月前 (07-14)回复

大雕哥,做你身边最懂互联网的朋友

邮箱订阅联系我们

如果觉得文章有用可以打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏