记录 | 根据错误日志,逐步排查问题!

出现偶尔bug

当小程序上线后,有用户反馈会重复出现“会话已过期,是否跳转登录页面?”对话框。这个问题之前没有本地没有复现,不知道怎么排查。于是到今天,我打开小程序的时候出现了这个情况,于是开始了排查之路。像这种偶然性的bug是不好排查的,必须得复现当时场景才有可能去找到问题所在。

排查步骤

1、检查前端登录流程,看看接口是否存在异步发送情况。这个小程序登录流程为:跟微信接口换取openid后,服务器生成对应用户token,返回给小程序使用。带身份的接口都需要携带token去请求数据,如token无效则会返回前端并提示如上错误。因此先判断是不是有部分接口先于登录接口发送了。

2、接口没有异步提前请求,那就看服务器日志,查看携带的token是哪个,经过查询日志,发现登录接口没问题,有问题的是后面的接口并没有携带token,此时token为空。

3、再检查登录流程和之后的接口请求,发现在登录成功后返回的token,在

that.$store.commit('loginStore', res.data.data);

这存入的时候,里面token存值使用了uni.setStorage,这个接口方法是异步的,这就导致了后续的接口拿不到token,因此服务器返回需要登录,这就导致了这个问题的出现。

解决

将存储的异步接口改成同步接口,确保在请求前。token顺利存储

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值