用uniapp 方式獲取微信手機(jī)號(hào)授權(quán),前后花了很大精力在解決解密手機(jī)號(hào)失敗情況,此處加以說明,希望碰到類型情況的網(wǎng)友出坑:
<button?open-type="getPhoneNumber"?@getphonenumber="getPhoneNumber">微信快捷登錄</button>
1,第1種解密失?。?/strong>
問題現(xiàn)象: 第一次解密失敗,第二次成功
解決方法:getPhoneNumber()方法中不要調(diào)用uni.login獲取code,而是要先于getPhoneNumber()獲取code,如在onLoad()中先調(diào)用(如大多數(shù)網(wǎng)友解決方法)。然后在getPhoneNumber()方法中調(diào)用后臺(tái)接口(傳參,code,encryptedData和iv)解密手機(jī)號(hào)。
2,第2種解密失?。?/strong>
問題現(xiàn)象: 第一次解密成功,后續(xù)均失敗(除非頁面重新加載)
基于第1種現(xiàn)象解決后,又出現(xiàn)第2類現(xiàn)象,獲取手機(jī)號(hào)成功后調(diào)用自定義的登錄接口返回失敗,此時(shí)就需要再次授權(quán)和登錄,那么此時(shí)解密失敗,咋整?那么需要在第1步中獲取code后,還要向服務(wù)器調(diào)用接口獲取SessionKey,然后再調(diào)用后臺(tái)接口(傳參,SessionKey,encryptedData和iv)解密而后去手機(jī)號(hào),繼而登錄等后續(xù)操作。文章來源:http://www.zghlxwxcb.cn/news/detail-530683.html
結(jié)論:第2種方式能解決加密失敗問題。 猜測(cè)和微信獲取各數(shù)據(jù)狀態(tài)有關(guān),官方也不給個(gè)明確說明文章來源地址http://www.zghlxwxcb.cn/news/detail-530683.html
到了這里,關(guān)于微信手機(jī)號(hào)授權(quán)解密失敗問題現(xiàn)象和解決方法: getPhoneNumber的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!