本文背景
在上一篇小程序优化记录里面,我分析了小程序的启动页,具体见下文
https://developers.weixin.qq.com/community/develop/article/doc/000e46769a8150db07da1340851013
但是偶发问题并不是在这个模块,而是在首页,这篇文章我接着分析下首页的逻辑,希望通过这次分析一方面回顾逻辑,另一方面可以优化部分逻辑
f
f
本文内容
在分享本文之前,我先谈下,那个偶发的问题:
当前小程序有四个科目,当用户点击某个科目的时候,正常情况下应该进入该科目下面,某一章节,某一天的答题,但是这个用户点击后一直没有反应,但是就几个用户出现,所以这个问题一直没有复现,也就没有得到解决
这个问题大概每天都有,四个科目,就某一个科目不能正常刷题
项目界面截图如下
如下图所示,小程序主要用于四个科目的刷题
f
在介绍完问题之后,本文带着问题出发,看看能不能通过本文的梳理将问题彻底解决。
问题猜想
由于刷题过程有记忆功能,就是用户每次刷题都是接着上一次的刷题开始,所以这个地方的逻辑有很多的细节,我目前猜测是这个地方的某个逻辑有问题,这个有待观察确定。
我会首先按照这个方向去排查代码同时跟问题用户做好沟通
f
解决方案
目前有一个临时解决方案,就是将当前问题科目的最后一次答题记录清理干净,包括下面三个集合
(1)lock,代表当前科目的刷题状态,是否解锁中
(2)history,代表当前科目下面某一章节,某一天的刷题状态,是否shua’w
(3)exam,代表当前刷题的记忆功能,记录当前刷题进入第几题以及当前的得分记录
f
在解决这个问题的过程中,连带发现了一个新问题,也是由于记忆功能引起的,
如果某一天的答题,断断续续分好几次完成,比如示例如下
当前天有20天,第一次刷了5道题,第二次刷了5道题,第三次刷了10道题,那么第一次刷题的得分纪录将会被清零,也就是得分无效刷题,这个可以在最近的迭代中修复掉
本文总结
通过这次线上问题排查,有一个困扰我的问题,就是如何进行账号带入,比如如果我想以问题用户的身份进入小程序,我该怎么做呢?