基于科目维度的在线答题小程序优化记录二
发布于 4 年前 作者 tzou 2425 次浏览 来自 分享

本文背景

在上一篇小程序优化记录里面,我分析了小程序的启动页,具体见下文

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道题,那么第一次刷题的得分纪录将会被清零,也就是得分无效刷题,这个可以在最近的迭代中修复掉

本文总结

通过这次线上问题排查,有一个困扰我的问题,就是如何进行账号带入,比如如果我想以问题用户的身份进入小程序,我该怎么做呢?

回到顶部