不知道新版本有沒有解決,如果還有在使用老版本的哥們很有可能會遇到二維碼生成失敗的問題,不論是在平臺看二維碼還是在小程序中生成二維碼海報之類的時候,而且是時不時出現的。我嘗試了一下重啟redis刷新緩存可以短暫的解決,但是過了一會,它就又會重新報錯,看來這個應該就是和緩存相關的了
于是我到日志中查看,發現它在報最終錯誤時是經過了兩次請求之后才發出了最后的微信生成二維碼異常的報錯
于是我順勢找到了代碼里做二維碼請求的部分,發現兩次都是報的40001的錯誤,根據小程序官方文檔來看,這個是因為token過期的問題
那么答案就很明顯了,就是因為這個getMiniAccessToken()方法的問題導致的,如果redis緩存中還沒清理掉過期的token,它就會一直獲取這個token導致二維碼獲取的失敗