不知道新版本有没有解决,如果还有在使用老版本的哥们很有可能会遇到二维码生成失败的问题,不论是在平台看二维码还是在小程序中生成二维码海报之类的时候,而且是时不时出现的。我尝试了一下重启redis刷新缓存可以短暂的解决,但是过了一会,它就又会重新报错,看来这个应该就是和缓存相关的了
于是我到日志中查看,发现它在报最终错误时是经过了两次请求之后才发出了最后的微信生成二维码异常的报错
于是我顺势找到了代码里做二维码请求的部分,发现两次都是报的40001的错误,根据小程序官方文档来看,这个是因为token过期的问题
那么答案就很明显了,就是因为这个getMiniAccessToken()方法的问题导致的,如果redis缓存中还没清理掉过期的token,它就会一直获取这个token导致二维码获取的失败