成语闯关小程序线上解决问题记录
~
最近不断有用户反馈,成语闯关小程序会出现金币为负数的情况,昨天晚上我排查了一晚上,没有看到核心逻辑里面有异常情况,但是问题总归是存在的,今天联系了以为热心用户,帮我录了一个屏幕:
~
~
当拿到用户的录屏后,我看到是在答题分享的时候出现的,这个时候我基本定位到原因了,因为分享本身不会对金币产生变化,但是分享的过程会调用生命周期里面的onHide、onShow
所以我基本断定是出现在onShow里面,最后查看代码如下
~
~
上面是修复后的代码,具体增加了图二,185行,原来每次分享的时候都会执行一个初始化,问题就出在这个全局状态在当前页面发送变更的时候没有同步更新。