小程序题库解锁逻辑梳理
该文为个人小程序逻辑记录,涉及比较复杂的业务逻辑,不推荐大家阅读
本文背景
今天是带着该小程序的一个遗留问题来梳理部分核心逻辑,该遗留问题为特定场景必现,但是这个场景目前没有定位到,平时偶尔会有用户出现,今晚上梳理了一遍逻辑还是没有定位到,目前在已有逻辑基础上,加了一些日志信息,希望能捕捉到这块蛛丝马迹。
本文主要分析某小程序题库解锁逻辑的一些细节逻辑,这个地方是整个小程序的核心。
本文内容
关于集合locks
该集合中存在状态定义为1、2的记录,具体为
当题库解锁时,新增一条状态为1的记录;
当题库里面某一天的答完时,会将该条记录状态更新为2;
除此之外,业务代码中还有一种初始化状态为0,也就是该集合一共三种状态
0、1、2
分别代表了该科目未解锁、已解锁未完成、已解锁已完成三种情况
这里重点描述下0、2这种情况
对于状态0,我们在进入该状态时,要判断是否首次解锁,如果是首次解锁不需要扣活跃值;
对于状态2,我们在进入该状态时,不需要判断是否首次,直接扣活跃值即可;
本文总结
本文梳理了题库解锁的具体细节,通过这个细节处理,能让我更清晰的了解目前的解锁控制逻辑,也有助于解决当前存在的遗留问题。