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