本文是由于本人的微信小程序项目在线上运行时候收到iOS手机用户反馈无法成功登录,而实际测试时候安卓系统全部无错误,因此查阅资料寻找到解决办法,特此记录。
排查整个js调用的代码后发现:是状态码的问题,苹果的微信,将状态码不是200的都归到fail回调。安卓则不是。所以出现了iOS用户登录获取信息失败的情况
解决办法:
1、在后端将相关api接口返回的状态码改为200,而不是401、307等状态码(不太推荐,因为每个状态码都有其特殊的含义,改了之后容易产生逻辑问题)
2、在小程序调用的js部分代码进行调试,找到wx.request方法错误的回调函数,打印查看详细信息,去做一个异常捕捉适配,只需修改前端的js实现逻辑即可完成适配(我个人用的这种)
如果您有更好的idea,可以在评论区讨论,一起进步